<?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>UNDERDOG of PERFECTION</title>
	<atom:link href="http://blog.room34.com/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.room34.com</link>
	<description>a blog on technology, music and geek culture from room34</description>
	<lastBuildDate>Thu, 09 May 2013 15:04:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>The Raspberry Pi Arcade Project: An Interlude</title>
		<link>http://blog.room34.com/archives/5118</link>
		<comments>http://blog.room34.com/archives/5118#comments</comments>
		<pubDate>Tue, 07 May 2013 20:22:24 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Video Games]]></category>
		<category><![CDATA[Arcade]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[MAME]]></category>
		<category><![CDATA[Raspberry Pi]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5118</guid>
		<description><![CDATA[I&#8217;m currently at Part 8 of my Raspberry Pi Arcade project. That is, my own Raspberry Pi Arcade project is at the point of what I have planned as part 8 in the blog series. The blog series itself is &#8230; <a href="http://blog.room34.com/archives/5118">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m currently at Part 8 of my <a href="/archives/5102">Raspberry Pi Arcade</a> project. That is, my <em>own</em> Raspberry Pi Arcade project is at the point of what I have planned as part 8 in the blog series. The blog series itself is stalled out after <a href="/archives/5116">Part 3</a>. And while the risk of getting too far ahead of myself is there &#8212; I don&#8217;t keep copious notes, so by the time I write a blog post my own project is so far removed from the topic of that post that I may forget key details &#8212; the real threat to the project is coming from what I&#8217;m experiencing around my own &#8220;Part 8&#8243;: polishing the user experience.</p>
<p>I&#8217;ve come to realize that while the Raspberry Pi is unequivocally an awesome piece of technology &#8212; a complete computer that fits in an Altoids tin, runs on a cellphone charger, plugs into your TV and costs less than $50 &#8212; it&#8217;s not a powerful computer.</p>
<p>Yes, I always knew it was not a powerful computer. And for a lot of applications it doesn&#8217;t need to be. But the main thing you gain by sacrificing that power is its diminutive size. It fits anywhere.</p>
<p>The thing is&#8230; for some applications you don&#8217;t <em>need</em> a computer to be tiny. And if there&#8217;s any application where you can afford for your computer to be <em>huge,</em> it&#8217;s a full-size arcade cabinet. I originally had visions of opening up my X-Arcade Tankstick and mounting the Raspberry Pi <em>inside it.</em> That would be cool &#8212; amazing, in fact &#8212; if I weren&#8217;t also mounting the Tankstick onto a full-size cabinet.</p>
<p>So&#8230; as I struggle with tweaking settings in my <code>advmame.rc</code> configuration file at the command line, trying to eke every last bit of processing power out of the Pi just so it can render simple early &#8217;80s video games at full screen, I begin to wonder why, and whether or not it&#8217;s worth it.</p>
<p>Clearly my emulation dreams would be better served by powering my cabinet with a more robust PC. And the whole thing would probably be a lot easier to set up.</p>
<p>But as I stayed awake last night until well past 1 AM, sitting in front of my living room television, typing arcane commands on a black screen in that classic &#8217;80s DOS font, I realized that <em>this</em> experience is part of what it&#8217;s all about. Not just having an arcade cabinet, but hardcore geeking out on Linux. Using a computer the way I used my <em>first</em> computer back in the 1980s.</p>
<p>As much as I&#8217;ve embraced the &#8220;it (usually) just works&#8221; ethos of iOS and modern mobile computing devices, app stores and touchscreens and nary a file system or command line in sight, sometimes I miss computing the <em>old</em> way, when it was a tinkerer&#8217;s hobby.</p>
<p>That&#8217;s what the Raspberry Pi Arcade project is really about. And maybe it will be the stepping stone to even more creative electronics projects with the Raspberry Pi as their brain. I could see, at some point in the future, replacing the Raspberry Pi in my arcade cabinet with a more powerful PC running Ubuntu Linux, and finding a new, even crazier project where the Pi would be right at home.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5118/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Raspberry Pi Arcade Project, Part 3: Get Raspbian</title>
		<link>http://blog.room34.com/archives/5116</link>
		<comments>http://blog.room34.com/archives/5116#comments</comments>
		<pubDate>Mon, 29 Apr 2013 13:42:59 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Video Games]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Raspbian]]></category>
		<category><![CDATA[SD card]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5116</guid>
		<description><![CDATA[Now that you have your Raspberry Pi and assorted accessories, it&#8217;s time to get it up and running. The Raspberry Pi doesn&#8217;t have a hard drive&#8230; that&#8217;s what the SD card is for. The Raspberry Pi includes an ARM CPU, &#8230; <a href="http://blog.room34.com/archives/5116">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Now that you have your Raspberry Pi and assorted accessories, it&#8217;s time to get it up and running. The Raspberry Pi doesn&#8217;t have a hard drive&#8230; that&#8217;s what the SD card is for. The Raspberry Pi includes an ARM CPU, so in principle any operating system that has been ported to the ARM architecture should be able to run on it.</p>
<p>In practice&#8230; I&#8217;m already in over my head trying to explain CPU architectures. But you don&#8217;t need to know anything about that to get your Raspberry Pi running. Several &#8220;flavors&#8221; of Linux have been ported and modified specifically to work well with the Raspberry Pi but the gold standard is <a href="http://www.raspbian.org/">Raspbian</a>, a variant of the popular Debian distro, and the preferred choice for starting out on the Raspberry Pi. If you really know what you&#8217;re doing and have very specific requirements, other OSes may be preferable over Raspbian, but if you just want to get your Raspberry Pi up and running with a stable, easy-to-use Linux, Raspbian is the way to go.</p>
<h3>Get Raspbian</h3>
<p>The first step in setting up Raspbian is to download it. This of course assumes you have <em>another</em> computer to download the disk image to. Any Windows, Mac or Linux PC should do. The key is having a PC with an SD card slot, because you&#8217;ll need to use it to get Raspbian onto the SD card.</p>
<p>If you don&#8217;t have a PC with an SD card slot, or you just don&#8217;t want to mess around with it, you can buy an <a href="http://www.amazon.com/gp/product/B00AKY92B4/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B00AKY92B4&#038;linkCode=as2&#038;tag=room34mult-20" target="amazonWindow">SD card preloaded with Raspbian</a> for not much more than the cost of the card itself. Note that the preloaded SD cards are probably only going to be 4 GB however, not the 16 GB card I recommended in <a href="/archives/5103">Part 2</a> of this series.</p>
<p>Assuming you&#8217;re going to install Raspbian yourself, the first thing you need to do is <a href="http://www.raspberrypi.org/downloads">download it</a>. This download link includes a few other options for different OSes that will also work on the Raspberry Pi, so if you are inclined to ignore my advice, check them out!</p>
<h3>Install Raspbian on Your SD Card</h3>
<p>Once you have Raspbian downloaded, you&#8217;ll need to install it on your SD card. The process for doing this varies depending on whether you&#8217;re on Windows, or using a UNIX-based OS like Mac OS X or Linux. More detailed Windows instructions are available on the download page I linked to above. Being a die-hard Mac user, I am going to describe the Mac/Linux process, which I recommend doing at the command line.</p>
<p><strong>1. Insert the SD card into your SD card slot.</strong><br />
This should be fairly self-explanatory. On most MacBook Pro&#8217;s the SD card slot is on the side near all of the other ports; on other Macs like my Mac mini, it&#8217;s in the back. Not all Macs have an SD card slot, e.g. the MacBook Air. If your computer doesn&#8217;t have an SD card reader, USB add-ons are available.</p>
<p><strong>2. Open Terminal and become a superuser.</strong><br />
If you&#8217;ve never used Terminal before&#8230; well, to be honest, if you&#8217;ve never used Terminal before, this whole project is going to be a bit of a challenge. But solider on! Terminal is located in your <code>/Applications/Utilities</code> folder. It&#8217;s your way to access the command line on the Mac. You&#8217;re going to be doing some things that require root (&#8220;superuser&#8221;) access. The &#8220;safer&#8221; way to do this is to prepend any of those commands with <code>sudo</code> but I prefer not to mess around with that. Type <code>sudo -s</code> <strong>Enter</strong> to enter superuser mode. Note the command prompt will change from <code>$</code> to <code>#</code>. Now you can do some real damage. Consider yourself warned. (And do not, under any circumstances, type <code>rm -Rf /</code> ever. For real.) Proceed at your own risk, or just prepend commands with <code>sudo</code> along the way if the system says you don&#8217;t have permission.</p>
<p><strong>3. Identify your SD card in the filesystem.</strong><br />
In Terminal, type <code>df</code> <strong>Enter</strong>. You&#8217;ll get a list of all of the disks (&#8220;volumes&#8221;) on your Mac. You&#8217;re looking for the SD card. The name it displays in the Finder will be shown in the far right column, &#8220;Mounted on&#8221;. But you need to know what its name is in the &#8220;Filesystem&#8221;, the far left column. On my Mac mini it comes up as <code>/dev/disk2s1</code>. You don&#8217;t need to worry about the <code>s1</code> part; that&#8217;s the partition. We just need the disk number, e.g. <code>/dev/disk2</code>. Make note of this for future reference. Now you need to unmount the volume so you&#8217;ll be able to write to it. Take a look at the disk name under &#8220;Mounted on&#8221; (starting with <code>/Volumes/</code>). Type <code>umount -f [disk name]</code> <strong>Enter</strong>, replacing <code>[disk name]</code> with exactly what was listed under &#8220;Mounted on.&#8221; <em>Important:</em> if there are any spaces, you&#8217;ll need to edit the name and put that portion, between slashes, in quotation marks. For example, if the name is <code>/Volumes/My Awesome SD Card</code> you&#8217;ll need to type <code>umount -f /Volumes/"My Awesome SD Card"</code> instead. And if this doesn&#8217;t work, check <a href="http://loopkid.net/articles/2008/06/27/force-unmount-on-mac-os-x">here</a> for another tip on unmounting the volume.</p>
<p><strong>4. Identify your Raspbian disk image.</strong><br />
Now you want to switch to the directory where your downloaded Raspbian disk image is. This is likely to be the <code>Downloads</code> folder in your home directory. If so, then in Terminal you&#8217;ll type <code>cd ~/Downloads</code> <strong>Enter</strong>. Then type <code>ls -al</code> <strong>Enter</strong> to see a list of the files in this directory. You&#8217;re looking for one with a <code>.img</code> file extension. In my case it&#8217;s <code>2013-02-09-wheezy-raspbian.img</code>. If you don&#8217;t see that, but you see something similar with a <code>.zip</code> extension, you just need to unzip it. Type <code>unzip [filename]</code> <strong>Enter</strong> (using the real filename, of course) and then type <code>ls -al</code> <strong>Enter</strong> again, and you should see another file with the same name but ending in <code>.img</code>. That&#8217;s the one.</p>
<p><strong>5. Write the image to the SD card.</strong><br />
Now that you know the name of your Raspbian disk image and the disk you&#8217;re writing to, you can run the <code>dd</code> command to copy the image over. This command includes a lot of different options for setting the block size, etc. The kinds of technical details about computers most of us haven&#8217;t thought about since the early days of MS-DOS, if ever. In my experience these settings don&#8217;t appear to matter here, however, as I was able to prepare my SD cards with only the basic parameters of <code>if</code> (input file) and <code>of</code> (output file). Here&#8217;s the command I would use in my exact situation. Adjust your <code>if</code> and <code>of</code> according to your results of steps 3 and 4 above.</p>
<blockquote class="codeblock"><p>dd if=2013-02-09-wheezy-raspbian.img of=/dev/disk2</p></blockquote>
<p>Then hit <strong>Enter</strong> and&#8230; wait.</p>
<p>And wait.</p>
<p>And wait.</p>
<p>This is the command line. You will get no feedback that any progress has been made, or that anything is happening at all. So just <em>leave Terminal open</em> and go about your business. Some substantial amount of time later (in the realm of a half hour, in my experience), the process will have completed, and you&#8217;ll get your command prompt again. That&#8217;s how you know it&#8217;s done. Now, go back to the comfortable confines of the Finder and see if the SD card is showing up as a mounted volume. If it is, eject it. Now you can take out the SD card and insert it into your Raspberry Pi. You&#8217;re ready to power up!</p>
<p>Next time&#8230; powering up your Raspberry Pi with Raspbian for the first time.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5116/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Raspberry Pi Arcade Project, Part 2: The Essential Gear</title>
		<link>http://blog.room34.com/archives/5103</link>
		<comments>http://blog.room34.com/archives/5103#comments</comments>
		<pubDate>Sun, 28 Apr 2013 21:09:29 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Miscellany & Minutiæ]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5103</guid>
		<description><![CDATA[The first thing you need when building your Raspberry Pi Arcade is&#8230; well&#8230; a Raspberry Pi. When they were first released, they were hard to come by, but now they&#8217;re readily available in the U.S., for about $45, on Amazon.com. &#8230; <a href="http://blog.room34.com/archives/5103">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The first thing you need when building your Raspberry Pi Arcade is&#8230; well&#8230; a Raspberry Pi. When they were first released, they were hard to come by, but now they&#8217;re readily available in the U.S., for about $45, on Amazon.com.</p>
<p>Unfortunately the Raspberry Pi, by itself, is completely useless. Fortunately, the <em>other stuff</em> you need to make a Raspberry Pi work is also fairly inexpensive and readily available on Amazon, so with an expenditure of about $150 and a few days&#8217; wait for UPS to drop everything at your door (and a TV, which I&#8217;ll assume you have), you&#8217;ll have your complete Raspberry Pi set-up.</p>
<p>While this blog series is focused specifically on building an arcade cabinet powered by the Raspberry Pi, this post will serve well as a general introduction to the basics you&#8217;ll need (or at least <em>want</em>) to put together a core Raspberry Pi setup for any purpose.</p>
<p>The bare minimum you need to use a Raspberry Pi is:</p>
<ul>
<li>Raspberry Pi</li>
<li>5V 700mA (or greater) Micro USB power supply</li>
<li>HDMI (or RCA video and 1/8-inch stereo audio) cable</li>
<li>4 GB or larger SD card</li>
<li>USB keyboard and mouse</li>
<li>Ethernet cable</li>
</ul>
<p>Practically speaking, however, you&#8217;re going to also need the following:</p>
<ul>
<li>TV or monitor with HDMI or RCA audio/video input</li>
<li>PC or Mac with an SD card slot (or get your SD card with Raspbian Linux preinstalled)</li>
<li>USB WiFi adapter (instead of Ethernet)</li>
<li>USB wireless all-in-one keyboard/trackpad (instead of separate keyboard and mouse)</li>
<li>USB hub (at least 3 ports; powered is better)</li>
<li>A case</li>
</ul>
<p>I strongly recommend HDMI instead of RCA video if possible, as HDMI delivers an all-digital signal for a much clearer picture. I have not tested the Raspberry Pi with RCA video output, so from here on out we&#8217;ll just assume you&#8217;re using HDMI.</p>
<p>While you don&#8217;t <em>need</em> a case for the Raspberry Pi, it sure looks nicer (and will be better protected from damage) inside one.</p>
<h3>Get the Goods</h3>
<p>As noted above, everything you need is available on Amazon, which is where I got all of my components. My preferred options for each are shown below, but bear in mind that a lot of these exact parts and suppliers come and go, so the links may not continue to work in the future. Where this is especially a concern, I have included general notes on what to look for when picking an alternative.</p>
<p>This list cuts to the chase, and includes the things I think you need, including the WiFi adapter, wireless keyboard/trackpad combo, and USB hub.</p>
<p>TV not included.</p>
<p>(All images shown here are from the respective Amazon product pages. And, full disclosure, all of the Amazon links herein include my affiliate code. It won&#8217;t cost you any more, but if you use these links Amazon will throw a few pennies my way. Thanks!)</p>
<div style="clear: both;"></div>
<p><strong><a target="amazonWindow" href="http://www.amazon.com/gp/product/B009SQQF9C/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B009SQQF9C&#038;linkCode=as2&#038;tag=room34mult-20"><img src="http://blog.room34.com/wp-content/uploads/underdog/raspberrypi.jpg" alt="raspberrypi" style="width: 200px; height: auto;" class="alignright size-full wp-image-5112" />Raspberry Pi</a></strong><br />
There are a few different options for the Raspberry Pi itself, but don&#8217;t mess around: get Model B Rev. 2.0, which adds Ethernet and a second USB port missing from Model A, resolves a couple of technical issues with the first versions, and bumps up the built-in RAM from 256 MB to 512 MB.</p>
<div style="clear: both;"></div>
<p><strong><a target="amazonWindow" href="http://www.amazon.com/gp/product/B004EYSKM8/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B004EYSKM8&#038;linkCode=as2&#038;tag=room34mult-20"><img src="http://blog.room34.com/wp-content/uploads/underdog/power.jpg" alt="power" style="width: 200px; height: auto;" class="alignright size-full wp-image-5111" />5V 700mA Micro USB Power Supply</a></strong><br />
There are lots of different options for these power supplies, many of which seem to come and go quickly on Amazon. But don&#8217;t sweat it. This is a <em>de facto</em> standard charger for many cell phones these days. As long as the charger is 5 volts with at least 700 milliamps and a Micro USB connector, it <em>will</em> power the Raspberry Pi, regardless of the brand or what devices it is advertised as working with.</p>
<div style="clear: both;"></div>
<p><strong><a target="amazonWindow" href="http://www.amazon.com/gp/product/B003L1ZYYM/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B003L1ZYYM&#038;linkCode=as2&#038;tag=room34mult-20"><img src="http://blog.room34.com/wp-content/uploads/underdog/hdmi.jpg" alt="hdmi" style="width: 200px; height: auto;" class="alignright size-full wp-image-5108" />HDMI Cable</a></strong><br />
Don&#8217;t get me started on HDMI cables. An HDMI cable is an HDMI cable. The only thing you need to concern yourself with is how long it is and whether or not your Raspberry Pi will be that close to your TV. Well, that and whether or not you&#8217;re dealing with a reputable seller. That&#8217;s why I like to go with the Amazon Basics cable. It&#8217;s cheap, it works, and it&#8217;s direct from Amazon.</p>
<div style="clear: both;"></div>
<p><strong><a target="amazonWindow" href="http://www.amazon.com/gp/product/B007M54E08/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B007M54E08&#038;linkCode=as2&#038;tag=room34mult-20"><img src="http://blog.room34.com/wp-content/uploads/underdog/sdcard.jpg" alt="sdcard" style="width: 150px; height: auto;" class="alignright size-full wp-image-5113" />SanDisk Extreme 16GB SD Card</a></strong><br />
Unlike HDMI cables, there <em>is</em> a difference between SD cards. You want one that&#8217;s fast, reliable, and spacious. 4 GB is considered the minimum for a Raspberry Pi, but I like to go with 16 GB, since it seems to be today&#8217;s best balance between size and affordability. (Translation: the price difference between an 8 GB and a 16 GB SD card is much smaller than the price difference between a 16 GB and a 32 GB.)</p>
<div style="clear: both;"></div>
<p><strong><a target="amazonWindow" href="http://www.amazon.com/gp/product/B003MTTJOY/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B003MTTJOY&#038;linkCode=as2&#038;tag=room34mult-20"><img src="http://blog.room34.com/wp-content/uploads/underdog/wifi.jpg" alt="wifi" style="width: 200px; height: auto;" class="alignright size-full wp-image-5114" />Edimax EW-7811Un USB WiFi Adapter</a></strong><br />
There are a few options here as well, but I love this particular adapter because it&#8217;s cheap (about ten bucks) and <em>tiny&#8230;</em> which is essential for the Raspberry Pi. Don&#8217;t worry about software. It just works&#8230; or at least, it will once you get Raspbian installed (see my next blog post for that) and run the included WiFi setup app.</p>
<div style="clear: both;"></div>
<p><strong><a target="amazonWindow" href="http://www.amazon.com/gp/product/B005DKZTMG/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B005DKZTMG&#038;linkCode=as2&#038;tag=room34mult-20"><img src="http://blog.room34.com/wp-content/uploads/underdog/keyboard.jpg" alt="keyboard" style="width: 200px; height: auto;" class="alignright size-full wp-image-5110" />Logitech K400 Wireless Keyboard/Trackpad</a><br />
OR <a target="amazonWindow" href="http://www.amazon.com/gp/product/B0090BTY8Y/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B0090BTY8Y&#038;linkCode=as2&#038;tag=room34mult-20">FAVI Entertainment SmartStick Wireless Keyboard/Trackpad</a></strong><br />
It didn&#8217;t take long after I got my Raspberry Pi to realize two things: 1) I want as few wires connected to it as possible, and 2) two USB ports get filled quickly. The second is mitigated somewhat by using a USB hub, which you&#8217;ll eventually <em>need</em> for the X-Arcade Tankstick in the MAME cabinet project, but even if you&#8217;re not doing that, without a USB hub, the only way to use a Raspberry Pi with WiFi is to get an all-in-one keyboard and trackpad.</p>
<p>For practical purposes, the full-size keyboard of the Logitech K400 is the only way to go. The K400 is cheap plastic, but hey&#8230; it&#8217;s only about $35, and it <em>works.</em> I love it.</p>
<p>On the other hand, if you&#8217;re really trying to stay true to the micro-sized spirit of the Raspberry Pi, the FAVI SmartStick or something similar may be the only way to go. About the size of a TV remote control, the SmartStick includes a reasonably usable thumb keyboard and built-in mini trackpad, with the added bonus of a laser pointer so you can mess with your cat when not playing with the Raspberry Pi. In practice I&#8217;ve found the SmartStick is a bit touchy&#8230; thumb typing on it often requires looking down, and sometimes key presses infuriatingly don&#8217;t register. But it&#8217;s still fun to have.</p>
<div style="clear: both;"></div>
<p><strong><a target="amazonWindow" href="http://www.amazon.com/gp/product/B000Q8UAWY/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B000Q8UAWY&#038;linkCode=as2&#038;tag=room34mult-20"><img src="http://blog.room34.com/wp-content/uploads/underdog/hub.jpg" alt="hub" style="width: 200px; height: auto;" class="alignright size-full wp-image-5109" />Belkin USB 2.0 4-Port Powered Ultra-mini Hub</a></strong><br />
This is the one item on the list that I don&#8217;t actually own, as I am relying on an older USB hub I already had lying around. But if I were to buy a new hub specifically for this project, this is probably the one I&#8217;d choose. In practice, so far I have been able to do what I need to do with an <em>unpowered</em> hub, but a lot of what I&#8217;ve read on the subject suggests a powered USB hub is preferable for use with the Raspberry Pi, to keep the Pi itself from overheating.</p>
<div style="clear: both;"></div>
<p><strong><a target="amazonWindow" href="http://www.amazon.com/gp/product/B00AO5NR6K/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B00AO5NR6K&#038;linkCode=as2&#038;tag=room34mult-20"><img src="http://blog.room34.com/wp-content/uploads/underdog/case.jpg" alt="case" style="width: 200px; height: auto;" class="alignright size-full wp-image-5107" />SB Raspberry Pi Case (assorted colors)</a></strong><br />
There are a ton of Raspberry Pi cases out there, but this one is my favorite, because it&#8217;s nearly indestructible, it&#8217;s super-tiny, the Raspberry Pi snaps snugly into it with no tools, it includes slots for all connectors plus two mounting screw slots, and best of all comes in a variety of translucent colors, plus black and white.</p>
<p>I currently own two Raspberry Pi&#8217;s, and I have one of these cases for each, one in pink and one in orange.</p>
<h3>The Bottom Line</h3>
<p>So, how much is all of this going to cost you? I created an <a target="amazonWindow" href="http://www.amazon.com/lm/R3M3LYR7ZE4B2/?_encoding=UTF8&#038;camp=1789&#038;creative=390957&#038;linkCode=ur2&#038;lm_bb=&#038;tag=room34mult-20">Amazon &#8220;Listmania!&#8221; list</a> (with only the Logitech keyboard, not both), and the subtotal is <strong>$143.86.</strong> Not bad for all of the essentials (except a display) you need to run a reasonably capable general-purpose Linux computer.</p>
<p>Next time we&#8217;ll take a closer look at the SD card, or more specifically, what&#8217;s going to go on it: <a href="http://www.raspbian.org/">Raspbian</a>, a modified version of the popular Debian Linux distribution that&#8217;s been tailored for an optimal experience on the Raspberry Pi.</p>
<p><em><strong>Update:</strong> It&#8217;s come to my attention that the Belkin USB hub I have recommended actually is <span style="text-decoration: underline;">not</span> powered. I will update this post in the near future with an alternate, powered hub recommendation.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5103/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Raspberry Pi Arcade Project, Part 1: Introduction</title>
		<link>http://blog.room34.com/archives/5102</link>
		<comments>http://blog.room34.com/archives/5102#comments</comments>
		<pubDate>Sun, 28 Apr 2013 19:45:32 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Video Games]]></category>
		<category><![CDATA[cabinet]]></category>
		<category><![CDATA[emulation]]></category>
		<category><![CDATA[emulators]]></category>
		<category><![CDATA[MAME]]></category>
		<category><![CDATA[Raspberry Pi]]></category>
		<category><![CDATA[Stella]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5102</guid>
		<description><![CDATA[If you&#8217;re bothering to read this, I probably don&#8217;t need to explain either the Raspberry Pi or emulators (specifically, MAME and Stella), but for the sake of completeness, I will. Raspberry Pi The Raspberry Pi is a tiny, inexpensive Linux-based &#8230; <a href="http://blog.room34.com/archives/5102">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>If you&#8217;re bothering to read this, I probably don&#8217;t need to explain either the Raspberry Pi or emulators (specifically, MAME and Stella), but for the sake of completeness, I will.</p>
<h3>Raspberry Pi</h3>
<p>The <a href="http://en.wikipedia.org/wiki/Raspberry_Pi">Raspberry Pi</a> is a <em>tiny,</em> inexpensive Linux-based computer that, after years of anticipation, was finally released to the public last year. It&#8217;s designed to be versatile and to encourage creative, educational programming and electronics projects.</p>
<h3>Emulation Software</h3>
<p>Emulators are software programs designed to run on modern computers that <em>emulate</em> the physical hardware of older, simpler video game and computer systems. When combined with ROM files, the programs that ran on those old systems, it is possible to play near-perfect recreations of those classic games on modern equipment.</p>
<p>Of course, while the emulators themselves are (usually) perfectly legal, there is a (charcoal) gray area of legality regarding the distribution and even the possession of these ROM files. Legally, you should only possess ROM files for games you physically own. In the case of home video game consoles, that would be the original cartridges or disks. For arcade games, that would be the actual hardware cabinet with all of its electronic guts&#8230; or, at least, the ROM chip from said cabinet that contains the actual game program. (I do actually own an original Asteroids arcade cocktail table, and a very large collection of original game cartridges for the Atari 2600, 5200 and 7800; the Intellivision; the Nintendo Entertainment System [NES] and others. These will be the focus of my efforts with this project.)</p>
<p>There are numerous emulation programs, representing dozens of arcade and home video game systems, and most have been ported to a variety of different modern platforms, including Windows, Mac OS X and Linux. My interest primarily lies with the classic games of the late 1970s and early 1980s; specifically, arcade coin-op games which are emulated by the Multiple Arcade Machine Emulator (<a href="http://www.mame.net/">MAME</a>) project, and the Atari 2600 which is emulated by the <a href="http://stella.sourceforge.net/">Stella</a> project.</p>
<p>One of the dreams of many aficionados of early arcade games is to own a &#8220;MAME cabinet&#8221; &#8212; a real arcade game cabinet (or modern recreation thereof) with a modern PC and display inside, programmed to work with an arcade-style control panel, and loaded with emulation software.</p>
<h3>The Project</h3>
<p>I&#8217;ve wanted to build a MAME cabinet for years. The biggest hurdle for me has been a willingness to dedicate an expensive (or even semi-expensive) and significantly overpowered PC to use solely as the &#8220;brains&#8221; of such a cabinet.</p>
<p>I&#8217;ve also been interested in the Raspberry Pi ever since I first heard of it. The idea of a credit card-sized Linux computer that could be embedded in a creative electronics project sounded amazing! But possessing a woeful lack of knowledge of the circuit board-level details about electronics, and being equally woefully inept at either soldering or construction, I wasn&#8217;t sure what I could really do with it.</p>
<p>But then it hit me&#8230; I could build a MAME cabinet! What&#8217;s really great about attempting a project like this today is that you don&#8217;t really need to solder or build anything. The <a href="http://www.xgaming.com/store/arcade-joysticks-and-game-controllers/product/x-arcade-tankstick-includes-usb-cables/">X-Arcade Tankstick</a> is an (almost) plug-and-play, arcade-quality control panel, and the <a href="http://www.recroommasters.com/x_arcade_p/rm-xt-arc-t.htm">Xtension Arcade Cabinet</a> is a prefabricated arcade-style cabinet designed to work perfectly with the Tankstick, the PC of your choice, and a 22-inch TV or LCD monitor to create a MAME cabinet that&#8217;s still a fun DIY project without requiring the same levels of skill that have previously made this kind of thing unapproachable for me.</p>
<h3>The Road Map</h3>
<p>I am already well underway with this project, but from the beginning it has been my intention to create a series of blog posts detailing the process, so others who, like me, have an intermediate-or-better level of knowledge of command line Linux; a rudimentary understanding of electronics &#8212; at least, which plugs go into which ports; and above all a deep and abiding love of classic &#8217;80s video games, can make this kind of thing happen.</p>
<p>I owe a huge debt of gratitude to <a href="http://blog.sheasilverman.com/raspberry-pi-emulation/">Shea Silverman</a>, who is several steps ahead of me in working with and blogging about using the Raspberry Pi for emulation, but whose blog posts come with a tad steeper of a learning curve than what I am hoping to lay out for the readers of these posts. I&#8217;ll tell you what I think you need to know to make this stuff work, but for a more in-depth exploration of the details, please check out his blog.</p>
<p>Now then, here&#8217;s an outline of the posts I intend to include in this series. (I&#8217;ll update this page to make each a clickable link as the posts get published.)</p>
<p><strong><a href="/archives/5102">Part 1: Introduction</a></strong><br />
<strong><a href="/archives/5103">Part 2: The Essential Gear</a></strong><br />
<strong><a href="/archives/5116">Part 3: Get Raspian</a></strong><br />
<strong><a href="/archives/5118">An Interlude</a></strong><br />
<strong>Part 4: Up and Running with Raspbian</strong><br />
<strong>Part 5: Emulator Set-up &#8212; Stella</strong><br />
<strong>Part 6: Emulator Set-up &#8212; MAME</strong><br />
<strong>Part 7: Configuring the X-Arcade Tankstick</strong><br />
<strong>Part 8: Polishing Your User Experience</strong><br />
<strong>Part 9: Preparing the Cabinet</strong><br />
<strong>Part 10: The Finished Product</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5102/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to keep Internet Explorer from displaying your site in &#8220;Compatibility View&#8221;</title>
		<link>http://blog.room34.com/archives/5100</link>
		<comments>http://blog.room34.com/archives/5100#comments</comments>
		<pubDate>Tue, 23 Apr 2013 14:43:06 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Compatibility Mode]]></category>
		<category><![CDATA[compatibility view]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5100</guid>
		<description><![CDATA[Fortunately this is an edge case for me, but&#8230; there&#8217;s a time for everything. And that time was today. If you build websites using modern, open standards-based techniques, the last thing you want is to have your Internet Explorer-using visitors &#8230; <a href="http://blog.room34.com/archives/5100">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Fortunately this is an edge case for me, but&#8230; there&#8217;s a time for everything. And that time was today.</p>
<p>If you build websites using modern, open standards-based techniques, the last thing you want is to have your Internet Explorer-using visitors see your site in the dreaded &#8220;compatibility view&#8221;. This monstrosity was created by Microsoft with the advent of IE8, to allow sites (mostly corporate intranets) that <em>require</em> the quirks of IE6 to still look like they&#8217;re supposed to when viewed in IE8.</p>
<p>The problem is, IE6 sucks, and it makes modern sites look terrible. So if your users accidentally view your site in compatibility view, it&#8217;s going to suck too.</p>
<p>The good news is, it&#8217;s easy to <em>force</em> IE8 and later to display your site the way you intended. You can disable compatibility view with this simple <code>meta</code> tag:</p>
<blockquote class="codeblock"><p>&lt;meta http-equiv=&quot;X-UA-Compatible&quot; content=&quot;IE=9; IE=8; IE=7; IE=EDGE&quot; /&gt;</p></blockquote>
<p>(Source: <a href="http://stackoverflow.com/a/10365780">http://stackoverflow.com/a/10365780</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5100/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to get iWork (Pages, Numbers, Keynote) apps to stop defaulting to iCloud when saving</title>
		<link>http://blog.room34.com/archives/5098</link>
		<comments>http://blog.room34.com/archives/5098#comments</comments>
		<pubDate>Tue, 09 Apr 2013 14:00:26 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[iCloud]]></category>
		<category><![CDATA[iWork]]></category>
		<category><![CDATA[Mac Mania]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Mountain Lion]]></category>
		<category><![CDATA[saving]]></category>
		<category><![CDATA[Sync]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5098</guid>
		<description><![CDATA[Ever since I semi-fully embraced iCloud, I&#8217;ve found that the iWork apps &#8212; Pages, Numbers and Keynote &#8212; always default to wanting to save every new document in iCloud, which I never &#8212; well, OK, almost never &#8212; want to &#8230; <a href="http://blog.room34.com/archives/5098">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ever since I semi-fully embraced iCloud, I&#8217;ve found that the iWork apps &#8212; Pages, Numbers and Keynote &#8212; always default to wanting to save every new document in iCloud, which I never &#8212; well, OK, <em>almost</em> never &#8212; want to do. It&#8217;s fine that it&#8217;s an option, but I want the default to be saving to my local hard drive (which, actually, means saving to my Dropbox account).</p>
<p>It didn&#8217;t take much effort to find <a href="https://discussions.apple.com/thread/4149728">this thread</a> on Apple&#8217;s support forums, but the first suggested solution &#8212; turning off &#8220;Documents and Data&#8221; in System Preferences &rarr; iCloud &#8212; seemed draconian. With this option you can <em>never</em> sync your documents to iCloud.</p>
<p>A little further down the thread I found <a href="https://discussions.apple.com/message/19175806#19175806">the &#8220;real&#8221; solution</a>, courtesy of &#8220;Bernie_uk&#8221;, which was important enough for me to want to share here.</p>
<p>It requires opening up Terminal, but it&#8217;s not too scary. You just have to run this command:</p>
<blockquote class="codeblock"><p>defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false</p></blockquote>
<p>This command doesn&#8217;t turn off anything in iCloud; it just tells the system that your <em>default</em> should be saving files to disk, not to iCloud. Note that since this is a global setting, it will affect not just iWork, but any other apps that use iCloud&#8217;s &#8220;Documents and Data&#8221; syncing. (I guess.)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5098/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fixing background &#8220;bleed&#8221; on elements that use CSS3 border-radius property</title>
		<link>http://blog.room34.com/archives/5094</link>
		<comments>http://blog.room34.com/archives/5094#comments</comments>
		<pubDate>Mon, 08 Apr 2013 18:43:28 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[bleed]]></category>
		<category><![CDATA[border]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5094</guid>
		<description><![CDATA[It&#8217;s kind of funny that I never encountered this problem before&#8230; it must just be extra-noticeable because of the colors on this particular website I&#8217;m working on. Anyway, I found that the nice buttons I was creating with CSS3 border-radius &#8230; <a href="http://blog.room34.com/archives/5094">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>It&#8217;s kind of funny that I never encountered this problem before&#8230; it must just be extra-noticeable because of the colors on this particular website I&#8217;m working on. Anyway, I found that the nice buttons I was creating with CSS3 <code>border-radius</code> were displaying an ugly &#8220;bleed&#8221; of the background dark blue color beyond the edges of the white border. No good.</p>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/before.png" alt="before" width="465" height="160" class="aligncenter size-full wp-image-5096 framed" /></p>
<p>A little googling led to <a href="http://tumble.sneak.co.nz/post/928998513/fixing-the-background-bleed">Mike Harding&#8217;s solution</a>, a simple <code>background-clip</code> property in the CSS. (Yet another of the preponderance of new properties in CSS3 that I&#8217;m finding it harder and harder to keep up with.) If <a href="http://www.w3schools.com/cssref/css3_pr_background-clip.asp">w3schools.com</a> is to be believed, the vendor prefix is unnecessary. Let&#8217;s just go with this:</p>
<blockquote class="codeblock"><p>background-clip: padding-box;</p></blockquote>
<p>Ah, that&#8217;s better!</p>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/after.png" alt="after" width="465" height="160" class="aligncenter size-full wp-image-5095 framed" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5094/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How not to update a WordPress plugin</title>
		<link>http://blog.room34.com/archives/5093</link>
		<comments>http://blog.room34.com/archives/5093#comments</comments>
		<pubDate>Sun, 07 Apr 2013 15:58:51 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Advanced Custom Fields]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[updater]]></category>
		<category><![CDATA[Versions]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5093</guid>
		<description><![CDATA[The meaning of this post&#8217;s title is twofold: 1) how, as a WordPress user, to avoid having a plugin show up in the built-in updater; and 2) how, as a developer, you probably should not approach releasing a major update &#8230; <a href="http://blog.room34.com/archives/5093">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The meaning of this post&#8217;s title is twofold: 1) how, as a WordPress user, to avoid having a plugin show up in the built-in updater; and 2) how, as a developer, you probably should <em>not</em> approach releasing a major update to your plugin that is incompatible with earlier versions.</p>
<p>The scapegoat here is Elliot Condon&#8217;s excellent <a href="http://www.advancedcustomfields.com/">Advanced Custom Fields</a>, which has become one of my essential go-to plugins for building highly customized WordPress websites for my clients. I don&#8217;t mean to pick on Elliot Condon. He&#8217;s clearly a tremendously talented developer and I have a ton of respect for his work and what it has allowed me to do in <em>my</em> work.</p>
<p>But I do feel that he handled the 4.0 release of Advanced Custom Fields poorly. I&#8217;m not sure the fault is really his, however, as it is just as much or more the fault of how the built-in updater in WordPress works. (Especially since at least <em>some</em> of the changes he made in version 4 were done solely to conform to changes in the official WordPress plugin requirements.)</p>
<p>Here&#8217;s the problem: WordPress has a central Plugin Directory that makes it easy to install and update approved plugins. Perhaps too easy. Because if an update of a plugin is made available, and it&#8217;s newer than the version you have installed, it appears as an option in the updater. Yes, there are links to information about the update, which you <em>really should read</em> before doing anything else, but it&#8217;s all too easy with a few clicks to just run the update and move on.</p>
<p>Most of the time, <strong>it just works.</strong> Which can be dangerous. Because users &#8212; even &#8220;experts&#8221; like me &#8212; come to assume it will <em>always</em> &#8220;just work.&#8221;</p>
<p>As it happens, the version 4.0 release of Advanced Custom Fields was made available while I was on a weeklong vacation out west with my family, with only my iPad (and SLP&#8217;s MacBook Air) along for the ride. And, based on my own recommendations, a client with a relatively newly-launched website went ahead and ran the update. This particular site is heavily dependent on ACF, and the update broke it.</p>
<p>The official ACF website offers a <a href="http://www.advancedcustomfields.com/resources/getting-started/migrating-from-v3-to-v4/">migration guide</a> that makes it (somewhat) easy to convert your existing version 3 implementation to work with version 4. But it&#8217;s not a &#8220;click-it-and-you&#8217;re-done&#8221; kind of process. It takes time, and you need to know what you&#8217;re doing. Which is nothing like the general experience of using the built-in WordPress updater.</p>
<p>I was able to temporarily solve the problem for this website by rolling back to an earlier version (which required some hunting to locate, given the limited Internet access I had with hotel WiFi). Which leads to my first tip:</p>
<h3>How to prevent a WordPress plugin from updating</h3>
<p>How does WordPress know when a plugin has an update available? Well, it&#8217;s easy for it to check the Plugin Directory to see what the latest version of any given plugin is. But how does it know which version <em>you</em> have installed? Also easy. Each plugin&#8217;s main PHP file includes a comment block at the top, with information WordPress parses both to display in the Plugins area of the admin interface and for added functionality (e.g. knowing when there&#8217;s an update available). For Advanced Custom Fields, the comment block looks like this:</p>
<blockquote class="codeblock"><p>
/*<br />
Plugin Name: Advanced Custom Fields<br />
Plugin URI: http://www.advancedcustomfields.com/<br />
Description: Fully customise WordPress edit screens with powerful fields. Boasting a professional interface and a powerfull API, it’s a must have for any web developer working with WordPress. Field types include: Wysiwyg, text, textarea, image, file, select, checkbox, page link, post object, date picker, color picker, repeater, flexible content, gallery and more!<br />
Version: 3.5.8.2<br />
Author: Elliot Condon<br />
Author URI: http://www.elliotcondon.com/<br />
License: GPL<br />
Copyright: Elliot Condon<br />
*/
</p></blockquote>
<p>This is essentially a set of key/value pairs. <code>Version</code> is what WordPress reads to see which version you&#8217;re running, and compares it against the master version in the Plugin Directory to see if updates are available.</p>
<p><strong>So how do you keep it from running the update? Simple: Change the version number to something higher.</strong> I like to prepend it with &ldquo;999&rdquo; so I still know what the &#8220;real&#8221; version number is that I&#8217;m running, like this: <code>999.3.5.8.2</code>. This way the WordPress updater thinks the major version is &ldquo;999&rdquo;, which is almost certainly higher than whatever the <em>real</em> current version is.</p>
<p>Simply change this version number, save the PHP file on your server, and you&#8217;re done. The updater will never trigger for this plugin (as long as its real version number is less than 999). You may also want to update <code>Description</code> with an explanation of what you&#8217;ve done.</p>
<p>Bear in mind this is a <em>temporary</em> solution. You really should do whatever you need to do to get your site compatible with the latest version, then restore the original version number and let the updater do its magic.</p>
<h3>How, as a developer, not to create this mess for your users</h3>
<p>I have submitted a few, very simple, plugins and themes to the official WordPress repositories, so I have a bit of experience with this, but I&#8217;m no expert on the process. However, what is clear to me is that if you submit changes to a plugin as an update, the built-in updater will pick it up and make it available to any users who have an older version installed. <em>This is dangerous.</em> If your new version includes such radical changes as to make it incompatible with earlier versions, you have to assume that most users will <em>not</em> read your notes, and will believe they can just run the updater with no problems&#8230; <em>especially</em> if you&#8217;ve made a habit of releasing frequent incremental updates to the plugin in the past that &#8220;just worked.&#8221;</p>
<p><strong>The only real solution I see to this is to submit the new, incompatible version to the Plugin Directory as an altogether new plugin, instead of an update to the existing plugin.</strong> The risk here is that you lose visibility. Your download count and ratings/reviews reset to zero, and anyone who&#8217;s using an older version may never know about the new version. So, it&#8217;s bad for marketing.</p>
<p><em>But an incompatible update breaking sites for unsuspecting users is bad for marketing too.</em> It&#8217;s going to cause your ratings to take a hit, cause a lot of bad publicity, and turn off your loyal users. The migration is going to be work for them anyway; making them do it <em>after</em> they clean up a mess created when they unsuspectingly ran the update is even worse.</p>
<h3>A few specifics as pertains to Advanced Custom Fields</h3>
<p>Again, I don&#8217;t mean to pick on Elliot Condon for his work with Advanced Custom Fields. I will continue to be a loyal (and, yes, paid) user of this plugin. It&#8217;s brilliant. Nonetheless, it&#8217;s created a hassle for me this week. After returning from my trip, the first work-related thing I did was go through every client site that&#8217;s running ACF and apply my &ldquo;version 999&rdquo; trick so those clients won&#8217;t run the updater until I have a chance to migrate their sites to version 4.</p>
<p>The biggest challenge I had in rolling back was simply getting my hands on the old version. Sure, I had it on some of my other sites, but I access almost every client site via SSH/SFTP, and the hotel I was staying at had port 22 blocked. Luckily the site I needed to fix was one of the few I access via regular FTP, and port 21 was open. But I still needed to get a copy of version 3.x to reinstall on that client&#8217;s site.</p>
<p>As I found along the way, the WordPress Plugin Directory hides old versions under the &#8220;Developers&#8221; tab, where every previous version can be downloaded as a ZIP file or checked out with Subversion. Previous versions of ACF are available <a href="http://wordpress.org/extend/plugins/advanced-custom-fields/developers/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5093/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where&#8217;s the option to change the &#8220;uploads&#8221; path in WordPress 3.5?</title>
		<link>http://blog.room34.com/archives/5091</link>
		<comments>http://blog.room34.com/archives/5091#comments</comments>
		<pubDate>Thu, 28 Mar 2013 19:08:06 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[upload path]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5091</guid>
		<description><![CDATA[Thanks for nothing, WordPress. It&#8217;s not often that I complain about anything in WordPress, much less get genuinely angry about something I think is downright stupid, but today it happened. I build a lot of WordPress sites for clients, and &#8230; <a href="http://blog.room34.com/archives/5091">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Thanks for nothing, WordPress.</p>
<p>It&#8217;s not often that I complain about anything in WordPress, much less get genuinely angry about something I think is downright <em>stupid,</em> but today it happened.</p>
<p>I build a lot of WordPress sites for clients, and I frequently post them in a staging area on my server. Rather than having dozens of separate installations of WordPress filling up my server&#8217;s disk space, I set up a single installation (but with a separate database for each site), with some simple customizations to the <code>wp-config.php</code> file that tell it which database to use based on the domain name.</p>
<p><em>Please don&#8217;t bother to mention that I should &#8220;probably&#8221; be running WordPress-MU (or MultiSite or whatever they call it now). Ultimately these sites are going to be hosted elsewhere as standalone WordPress sites so I need to keep their databases separate.</em></p>
<p>One key to making this arrangement work nicely has always been the simple setting in WordPress that allows you to define a special directory for uploads, instead of dumping them all in the main uploads directory. By setting this to a subdirectory under <code>wp-content/uploads</code> named to match the site&#8217;s theme folder name, it was easy to keep everything separate.</p>
<p>It&#8217;s been a while since I&#8217;ve set up a new site on the staging server, at least since before I updated to WordPress 3.5. But I was doing one today, and I had to do a sanity check as I scoured the settings to try to find <em>where in the hell</em> you set the custom uploads path. I was sure it was under <strong>Settings &rarr; Media</strong> but I couldn&#8217;t find it there.</p>
<p>Because they took it out.</p>
<p>Yes, they <a href="http://wordpress.org/support/topic/wordpress-35-where-the-option-settings-media-upload_path-gone">took it out</a>. Why? Well, apparently there&#8217;s a rational explanation, but frankly no explanation would satisfy me because it seems incredibly disruptive to take something like this out, even if it was a bad idea to implement it as it was in the first place.</p>
<p>Fortunately, <a href="http://codex.wordpress.org/Editing_wp-config.php#Moving_uploads_folder">there&#8217;s still a way</a> to do it. You just can&#8217;t do it in the admin interface anymore; you need to edit the <code>wp-config.php</code> file directly to add a constant. No problem, I&#8217;m already doing that anyway.</p>
<p>Here&#8217;s what you need:</p>
<blockquote class="codeblock"><p>define(&#39;UPLOADS&#39;, &#39;/your/custom/path/under/wordpress/root&#39;);</p></blockquote>
<p>If you&#8217;re just putting your uploads into a subdirectory under the main uploads directory, like I am, it would look like this:</p>
<blockquote class="codeblock"><p>define(&#39;UPLOADS&#39;, &#39;/wp-content/uploads/yourdirectory&#39;);</p></blockquote>
<p>Just remember, if you&#8217;re doing this because you&#8217;re running multiple sites from a single installation like I am, this constant should be set in the same conditional where you&#8217;re setting which database the site should use.</p>
<p>Easy. Not as easy as it was, nor as easy as I think it should be, but&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5091/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Light, pollution, memory</title>
		<link>http://blog.room34.com/archives/5083</link>
		<comments>http://blog.room34.com/archives/5083#comments</comments>
		<pubDate>Wed, 06 Mar 2013 03:37:11 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Light pollution]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5083</guid>
		<description><![CDATA[I remember the first time I ever observed light pollution. I didn&#8217;t know what it was, and I&#8217;m not sure it even had a name back then. It was 1993. I was in college, and I was home for Easter. &#8230; <a href="http://blog.room34.com/archives/5083">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img src="http://blog.room34.com/wp-content/uploads/underdog/lightpollution.jpg" alt="Light pollution" width="768" height="768" class="alignnone size-full wp-image-5086" /></p>
<p>I remember the first time I ever observed light pollution. I didn&#8217;t know what it was, and I&#8217;m not sure it even had a name back then.</p>
<p>It was 1993. I was in college, and I was home for Easter. In fact it was early Easter morning. My uncle was staying with us, in my room, which was in the process of becoming the guest room. He always stayed in my room when he stayed with us. Eventually I would stay in that room, as a guest room, not my room, once I was no longer a resident of the house, but a guest.</p>
<p>At the time, though, I was not yet a guest, though no longer quite a resident. Nonetheless, he was visiting, so he got my room and I was relegated to the couch in the family room. The family room, which had been added on in 1987, when I was 13, had two skylights. One was directly above the couch, so when I was lying on the couch I could look directly up at the sky.</p>
<p>When I was growing up, cities, at least the small town in which I grew up (which I always thought of as a city, despite its modest population of 26,210 — which was no longer the population, but had been the population in the 1970 census, and the city could not yet bring itself to acknowledge the loss of over 10% of its population in the subsequent decades, so it still appeared on the signs as you drove into town) had not yet switched over to sodium-based street lights. However this particular small town/city <em>had</em> made the switch in the brief time since I had gone off to college at an even smaller town — one small enough that even I could make no pretense as to its being a &#8220;city.&#8221;</p>
<p>I awoke in the middle of the night. Technically, the early morning, Easter morning. It was overcast, and as I now know well, in a city illuminated by sodium streetlights on an overcast night, it is never truly dark, never truly nighttime. Instead, the best you get is an eerie orange twilight, which is what I observed for the first time in my life, that early Easter morning in 1993, 20 years ago.</p>
<p>It was perhaps 2 AM, and as I awoke, then arose, and walked to the kitchen to get a better view, I beheld the city aglow in an unnatural orange luminescence, and&#8230; well&#8230; it <em>freaked the shit out of me.</em> I had never seen anything like it, and I didn&#8217;t understand what could be causing it. Being Easter morning, and being highly impressionable, especially to my own half-lucid, half-dreamlike fantasies, I was sure Armageddon, or&#8230; something&#8230; was nigh.</p>
<p>Of course, it was not. And eventually I made the connection between the reference to sodium lights I&#8217;d heard on Sting&#8217;s <em>The Soul Cages</em> album with the eerie orange light, which has since become commonplace in my mostly urban adult life, where I am usually far too busy or distracted or just simply <em>tired</em> to bother to look up into the sky at night and think the kinds of existential, philosophical, cosmic, spiritual, infinite thoughts I used to dwell on so much between the ages of 5 and 22.</p>
<p>But tonight, for a brief moment, I lingered at my back door in south Minneapolis, with a glass of scotch in one hand and my iPhone in the other. On that late night/early Easter morning 20 years ago, I&#8217;m not sure which of the two would have seemed more out-of-place in my hands. Surely both would be just as out-of-place as apocalyptic paranoia in my 2013 brain. But still, the connection to that moment half a lifetime ago was there, and I was transported back to a place where I can stare into the sky at night, silently, and wonder.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5083/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can a developer use an iPad as their only portable &#8220;computer&#8221;?</title>
		<link>http://blog.room34.com/archives/5081</link>
		<comments>http://blog.room34.com/archives/5081#comments</comments>
		<pubDate>Sat, 02 Mar 2013 16:52:50 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[developer tools]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[MacBook Air]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5081</guid>
		<description><![CDATA[I am at a crossroads in my work situation. Since 2008 I have worked as a freelance web developer, which naturally meant using a laptop as my primary/only computer. I worked mostly from home, but I would frequently go to &#8230; <a href="http://blog.room34.com/archives/5081">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I am at a crossroads in my work situation. Since 2008 I have worked as a freelance web developer, which naturally meant using a laptop as my primary/only computer. I worked mostly from home, but I would frequently go to coffeehouses, and occasionally work on-site at client offices. A portable computer was a must.</p>
<p>The same week that Steve Jobs announced the 11-inch MacBook Air, I went out and purchased one. It was exactly what I wanted: a full-blown Mac, (almost) as small as an iPad (which of course I already owned as well, but mainly used for testing, occasional gaming, and watching all six seasons of <em>Lost</em> in the span of a month on Netflix, not for &#8220;real work&#8221;). I loved the MacBook Air. I said it was the best Mac I&#8217;d ever owned, though I admitted it was a tad underpowered. Enough so that when SLP needed a new computer 6 months later, I gave her my MacBook Air instead and bought myself a new, slightly more powerful version of the same.</p>
<p>That MacBook Air has been my only computer ever since. In fact, shortly after switching to it full-time, I wrote a glowing review of it <a href="/archives/4548">right here</a>. But last April I moved my business into a storefront studio space. I&#8217;m not going to coffeehouses anymore. Now, more often than not, clients come to <em>me</em> instead of the other way around. And all of this time I&#8217;ve been sitting at a desk, with that same 11-inch MacBook Air hooked up to an HP 23-inch LCD. (Yes, HP. I may be a self-proclaimed Apple fanboy, but even I can&#8217;t justify the expense of one of their Cinema Display monitors.)</p>
<p>It&#8217;s in this context that I&#8217;ve finally <em>really</em> become aware of the performance limitations of the 2010 MacBook Air. It&#8217;s unbearably slow with Adobe Creative Suite apps. It&#8217;s even unbearably slow running Panic&#8217;s <a href="http://panic.com/coda">Coda</a>. And no computer today should choke up on what is essentially a glorified text editor. (That said&#8230; As much as I love Coda, it does seem bloated and slow almost everywhere I&#8217;ve used it. There&#8217;s no comparison to the blazing speed of BBEdit, which I also love, but Coda has some features I prefer, so it remains my main coding tool.)</p>
<p>Over the past few months, as my workload has increased and my patience has diminished, I can no longer pretend that the 2010 MacBook Air&#8217;s performance is adequate for my needs. I know the 2012 Airs are at least 3 times faster than the one I have, and I&#8217;m sure this year&#8217;s will be even faster, and maybe even have a Retina display, and therein lies the problem: I&#8217;ve been desperately wanting to upgrade my Mac, but I couldn&#8217;t bring myself to buy one of the current 11-inch Airs (the only portable I will consider) when they&#8217;re getting so close to a refresh.</p>
<p>At the same time, I have a major crunch at work over the next 3 months. I couldn&#8217;t afford to wait on my creaky old Air anymore. So last weekend I settled on a compromise, borne of the fact that I almost never touch my MacBook Air outside of the studio anymore. I got a Mac mini for the studio. I went with the more powerful quad-core i7 model, which is rated on <a href="http://www.primatelabs.com/geekbench/">Geekbench</a> as at least 6 times faster than my old MacBook Air, and almost twice as fast as the current ones.</p>
<p>I&#8217;ve already noticed a huge difference. Adobe Creative Suite is way faster, almost to the point of no longer being infuriating. (But that&#8217;s another story.) Coda is still occasionally sluggish, but that may have more to do with the fact that I&#8217;m working with files on our local file server over a questionable WiFi connection. I should try putting the files directly on my hard drive to see if it makes a difference.</p>
<p>But now I am faced with a weird dilemma. This is the first desktop computer I&#8217;ve owned since the Dell I had back in 2001, and the first Mac desktop since even before that. (It was a Bondi blue G3 tower, if you were wondering.) The dilemma is this: in a world of iPads, where I am already pretty much never touching my MacBook Air outside of work, do I really need a portable Mac <em>at all?</em></p>
<p>I still have the Air, of course, and have continued to lug it around next to my iPad in my <a href="http://tombihn.com">Tom Bihn</a> bag this week. But why? In the two meetings I had this week at client offices, I only used my iPad. Maybe the iPad is really all I need. Maybe?</p>
<p>I have a few months to find out. I won&#8217;t consider buying another MacBook Air until the new models are out, so in the meantime I will experiment. I will try only using the iPad for any and all computing tasks outside of the studio. I&#8217;ve begun that today, by typing this blog post on it as I sit at the kitchen counter with my Saturday morning coffee. It&#8217;s been a bit of a challenge. I gave up on using the WordPress web interface and switched to the (marginally better) dedicated iPad app. And I&#8217;ve made <em>lots</em> of typos&#8230; some that iOS auto-corrected, some it didn&#8217;t, and some false positives it <em>shouldn&#8217;t</em> have. (C&#8217;mon, iPad&#8230; use some context, would ya? Why would anyone ever write &#8220;you we&#8217;re&#8221;?)</p>
<p>The biggest challenge will be if I have to write some actual code. But it&#8217;s a far different world for that than it was even a year ago. I have a handful of coding apps on my iPad, though nothing I have could be more valuable than another pair of apps from Panic: Diet Coda (great name, BTW) and Prompt, a terminal app. I haven&#8217;t had much call to use either of them&#8230; yet. But I&#8217;ve been comforted knowing they&#8217;re there.</p>
<p>At the end of this month we&#8217;re planning a family vacation to Utah. That may prove to be the ultimate test. Do I dare leave for a week with only my iPad? Honestly, I&#8217;m not sure I can. It will depend on the state of my various work projects at that time. But I&#8217;d like to be able to give it a try.</p>
<p>I&#8217;ll post follow-ups here as the experiment continues.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5081/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a centered gallery grid with flexible column count for responsive web pages</title>
		<link>http://blog.room34.com/archives/5080</link>
		<comments>http://blog.room34.com/archives/5080#comments</comments>
		<pubDate>Thu, 28 Feb 2013 16:08:36 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Galleries]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5080</guid>
		<description><![CDATA[It took an untold number of fruitless Google searches and a couple of hours of trial and error to get this to work. I think part of the problem may have been that I simply didn&#8217;t really know how to &#8230; <a href="http://blog.room34.com/archives/5080">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>It took an untold number of fruitless Google searches and a couple of hours of trial and error to get this to work. I think part of the problem may have been that I simply didn&#8217;t really know how to describe what I&#8217;m trying to do in a way that would yield good search results. And so, I hope now that I have a solution, sharing it here might help someone else.</p>
<p>The situation: I have a web page that contains a gallery of square images. The page is responsive but the sizes of the images are fixed. I want the page to automatically show as many images across as will fit in the layout on any particular screen, creating anywhere from one to five columns as needed. <em>And,</em> it needs to stay centered.</p>
<p>I got all of this going pretty easily&#8230; all except the &#8220;it has to stay centered&#8221; part. I was able to get it to work if there was only a single line of images, but as soon as they wrapped to multiple lines, the container element went to a full width and the images became left-aligned. It took considerable effort to discover a solution, although that solution itself is embarrassingly simple. I was hung up on a couple of possible approaches that got me nowhere, which probably contributed to the problems I had finding the right way to do it.</p>
<p>So&#8230; here we go. We&#8217;ll start with an unordered list:</p>
<blockquote class="codeblock"><p>
&lt;ul class=&quot;gallery&quot;&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&nbsp;&nbsp;&lt;li&gt;&lt;img src=&quot;image.jpg&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;<br />
&lt;/ul&gt;
</p></blockquote>
<p>And here is that embarrassingly simple CSS:</p>
<blockquote class="codeblock"><p>
ul.gallery {<br />
&nbsp;&nbsp;text-align: center;<br />
}</p>
<p>ul.gallery li {<br />
&nbsp;&nbsp;display: inline-block;<br />
}
</p></blockquote>
<p>OK, that&#8217;s not <em>really</em> all of the CSS. Your <code>li</code> tag needs <code>height</code> and <code>width</code> properties, and you may want to give it <code>margin</code> as well. But those values are going to be specific to your project.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5080/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TinyMCE and the non-breaking space problem</title>
		<link>http://blog.room34.com/archives/5075</link>
		<comments>http://blog.room34.com/archives/5075#comments</comments>
		<pubDate>Fri, 08 Feb 2013 13:37:57 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[TinyMCE]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5075</guid>
		<description><![CDATA[Let&#8217;s get right to it then: TinyMCE is great, but I am annoyed by its willingness to take users&#8217; multiple spaces literally! Collapsing multiple spaces is a basic characteristic of HTML, and allowing users to carelessly (or intentionally, which they &#8230; <a href="http://blog.room34.com/archives/5075">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Let&#8217;s get right to it then: <a href="http://tinymce.com">TinyMCE</a> is great, but I am annoyed by its willingness to take users&#8217; multiple spaces literally! Collapsing multiple spaces is a basic characteristic of HTML, and allowing users to carelessly (or intentionally, which they still shouldn&#8217;t do) insert multiple spaces by converting every other one of those spaces into the <code>&amp;nbsp;</code> (non-breaking space) character is <strong><em><u>BAD!</u></em></strong></p>
<p>IMHO.</p>
<p>Anyway&#8230; start with a pinch of <a href="http://stackoverflow.com/questions/12247681/tinymce-is-adding-nbsp-instead-of-the-space-when-using-the-word-paste">Stack Overflow</a>, add a dash of the official TinyMCE <a href="http://www.tinymce.com/wiki.php/Configuration:cleanup_callback">documentation</a>, along with a heaping tablespoon of reading between the lines, and I have a working solution to the problem. My installation of TinyMCE now automatically converts any <code>&amp;nbsp;</code> characters in the text back into regular ol&#8217; spaces.</p>
<p>It&#8217;s a bit draconian; after all there <em>are</em> legitimate uses for non-breaking spaces. But 95% of the times they&#8217;re inserted by TinyMCE are user accidents, and another 4.9% of those times are abuses like faked &#8220;tabs&#8221; that would be solved better by another approach altogether. (There are reasonable CSS-based solutions that work in some cases, but let&#8217;s talk HTML&#8217;s need for tabs another time.)</p>
<p>Anyway&#8230; here&#8217;s the gist of the solution. You need to create a callback function. Here&#8217;s mine:</p>
<blockquote class="codeblock"><p>
function my_cleanup_callback(type,value) {<br />
&nbsp;&nbsp;switch (type) {<br />
&nbsp;&nbsp;&nbsp;&nbsp;case &#39;get_from_editor&#39;:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;// Remove &amp;nbsp; characters<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value = value.replace(/&amp;nbsp;/ig, &#39; &#39;);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;&nbsp;&nbsp;case &#39;insert_to_editor&#39;:<br />
&nbsp;&nbsp;&nbsp;&nbsp;case &#39;submit_content&#39;:<br />
&nbsp;&nbsp;&nbsp;&nbsp;case &#39;get_from_editor_dom&#39;:<br />
&nbsp;&nbsp;&nbsp;&nbsp;case &#39;insert_to_editor_dom&#39;:<br />
&nbsp;&nbsp;&nbsp;&nbsp;case &#39;setup_content_dom&#39;:<br />
&nbsp;&nbsp;&nbsp;&nbsp;case &#39;submit_content_dom&#39;:<br />
&nbsp;&nbsp;&nbsp;&nbsp;default:<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />
&nbsp;&nbsp;}<br />
&nbsp;&nbsp;return value;<br />
}</p></blockquote>
<p>It may look like there&#8217;s a lot of extra stuff in here you don&#8217;t need; I included all possible values for <code>type</code> inside the <code>switch</code> to be prepared for the future. You <em>do</em> want to check for <code>type == &#39;get_from_editor&#39;</code> though; otherwise your <code>replace()</code> is going to run under way too many conditions and may cause weird behavior like new paragraphs appearing when you just want to insert new text into an existing one, or browser-generated warnings about leaving the page when you try to save. (I ran into both as I was fine-tuning this.)</p>
<p>Now that you have your callback function, you just need to&#8230; you know&#8230; call it. That&#8217;s done inside <code>tinyMCE.init()</code>. You&#8217;ll need to include this line somewhere:</p>
<blockquote class="codeblock"><p>cleanup_callback: &#39;my_cleanup_callback&#39;,</p></blockquote>
<p>Be sure to check if <code>cleanup_callback</code> is already declared somewhere, and also don&#8217;t forget the comma at the end, unless you&#8217;re inserting this as the last line.</p>
<p>Once you&#8217;ve got it all rolled out to your site, you&#8217;ll need to clear your cache. I&#8217;ve found TinyMCE&#8217;s configuration files can be annoyingly persistent in the browser cache.</p>
<p><em>Yes&#8230; you have correctly observed that I had to use non-breaking spaces myself in this post, to get the indents in the code samples to show. Pay no attention to the <a href="/wp-content/uploads/underdog/oz.jpg" rel="lightbox">man behind the curtain</a>. And remember my complaint about the lack of tab characters in HTML. Another day.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5075/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>February 1983 / February 2013</title>
		<link>http://blog.room34.com/archives/5074</link>
		<comments>http://blog.room34.com/archives/5074#comments</comments>
		<pubDate>Fri, 08 Feb 2013 12:34:09 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Miscellany & Minutiæ]]></category>
		<category><![CDATA[Fiction & Poetry]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5074</guid>
		<description><![CDATA[The sting in my nostrils as I step out the back door Into the pre-dawn cold The smell of car exhaust mixing With the frozen winter air The stretching shifting halos Around the streetlights seen through squinting half-awake eyes The &#8230; <a href="http://blog.room34.com/archives/5074">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>The sting in my nostrils as I step out the back door<br />
Into the pre-dawn cold</p>
<p>The smell of car exhaust mixing<br />
With the frozen winter air</p>
<p>The stretching shifting halos<br />
Around the streetlights seen through squinting half-awake eyes</p>
<p>The snow stomped from my boots before I step<br />
Through the front door</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5074/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The uncomfortable marriage of the UNIX command line and Mac GUI, and its implications for my sudoers file</title>
		<link>http://blog.room34.com/archives/5072</link>
		<comments>http://blog.room34.com/archives/5072#comments</comments>
		<pubDate>Thu, 07 Feb 2013 13:41:49 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Command Line]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac Mania]]></category>
		<category><![CDATA[power users]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5072</guid>
		<description><![CDATA[I&#8217;m a longtime Mac user. A &#8220;power user,&#8221; you might say. Not so much a power UNIX user, though I do a fair bit of Linux-based command line tomfoolery as part of my job. But things get ugly when the &#8230; <a href="http://blog.room34.com/archives/5072">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m a longtime Mac user. A &#8220;power user,&#8221; you might say. Not so much a power UNIX user, though I do a fair bit of Linux-based command line tomfoolery as part of my job.</p>
<p>But things get ugly when the two come together. At the command line I am a bit too inclined to treat my Mac like a Linux server. It may have UNIX at its core, but it&#8217;s not Linux. And Apple has put some effort into de-UNIX-ing it as well. Things you expect to work don&#8217;t work the way you expect them to. (Yes, I just wrote that sentence. See what this is doing to my brain???)</p>
<p>For reasons I don&#8217;t care to get into, I decided today that I needed to modify the <code>sudoers</code> file on the studio&#8217;s <a href="http://www.apple.com/mac-mini/">Mac mini</a> file server. And in my own inimitable and slightly stupid way, I handled this task as I typically do anything involving changing buried system files, not by struggling through using a command line text editor, but by copying the file to my desktop (where it is magically released from the prison of UNIX file permissions in which Apple has&#8230; uh&#8230; imprisoned hidden UNIX system files). I edited the file and put it back in the <code>/etc</code> folder where it belongs.</p>
<p>Only problem: in the process, the file&#8217;s ownership and permissions got changed. No problem, I thought. I&#8217;ll just <code>sudo</code> that sucker. Only problem is, when the permissions on the <code>sudoers</code> file aren&#8217;t what the system expects them to be, it doesn&#8217;t let anybody <code>sudo</code> <em>anything.</em></p>
<p>Well&#8230; crap.</p>
<p>But then I remembered&#8230; Mac GUI solutions to the rescue! I opened up <strong>Disk Utility</strong> and ran &#8220;Repair Disk Permissions.&#8221; Problem solved! Apple has saved me from myself.</p>
<p>Now I can go back to my delusion that I am a power user.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5072/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ode to the locker room</title>
		<link>http://blog.room34.com/archives/5071</link>
		<comments>http://blog.room34.com/archives/5071#comments</comments>
		<pubDate>Tue, 05 Feb 2013 16:22:14 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Miscellany & Minutiæ]]></category>
		<category><![CDATA[locker rooms]]></category>
		<category><![CDATA[Minnesota]]></category>
		<category><![CDATA[Running]]></category>
		<category><![CDATA[Winter]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5071</guid>
		<description><![CDATA[Being a runner in Minnesota can be difficult, because it forces you to make one of three choices: Run outside in subzero weather. Get a gym membership and run on a track or treadmill for 4-5 months. Stop running altogether &#8230; <a href="http://blog.room34.com/archives/5071">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Being a runner in Minnesota can be difficult, because it forces you to make one of three choices:</p>
<ol>
<li>Run outside in subzero weather.</li>
<li>Get a gym membership and run on a track or treadmill for 4-5 months.</li>
<li>Stop running altogether in the winter.</li>
</ol>
<p>Since #3 is not a viable option, you&#8217;re left with either bundling up with many layers and tiptoeing hesitantly along icy sidewalks or park paths with blustery winds buffeting your face, or paying a monthly fee for the privilege of driving to a building and running indoors on a treadmill or (if you&#8217;re lucky) a track, a tedious but climate-controlled solution.</p>
<p>Being an uncharacteristically wimpy Minnesotan, I&#8217;ve gone with the gym membership. I&#8217;m very fortunate, I suppose, to live close to the <a href="https://www.ywcampls.org/locations/midtown_ywca/">Midtown YWCA</a> in Minneapolis, where I have access to first-rate facilities including a 1/6 mile indoor track. I <em>loathe</em> running on a treadmill. The track can be tedious, but at least I&#8217;m actually <em>moving.</em> And if I pick the right soundtrack, I can even visualize running around Lake Nokomis instead. (I&#8217;ve run Nokomis to the sounds of my own <a href="http://music.room34.com/albums/longrun">The Long Run</a> enough times that I know precisely where I am in relation to the lake as each of the 11 sections of the 40-minute piece comes on.)</p>
<p>But as much as I can trick myself into enjoying (or at least tolerating) indoor running in the winter, there&#8217;s one aspect of Y membership that I will never like or be able to reconcile with my desire to be outside and alone when I run: the locker room.</p>
<p>I was not a jock in school. In fact, I was pretty much exactly whatever the opposite of a jock is. So what little time I did spend in a locker room was an exercise in taunting and humiliation (real or imagined, and probably more imagined than I believed at the time). I&#8217;m no longer <em>afraid</em> of the locker room. I just don&#8217;t <em>like</em> it.</p>
<p>I don&#8217;t like how crowded it is. I don&#8217;t like having to find a space on a bench to put my stuff while I change, or coming back to the locker room after my run to see someone else has chosen bench space directly in front of my locker.</p>
<p>I don&#8217;t like listening to other people whistling in the showers. What is so great about this experience to make them want to whistle their tuneless little non-melodies?</p>
<p>I don&#8217;t like people who are too comfortable being naked in the locker room, and I also don&#8217;t like people who are too <em>un</em>comfortable with it. Be naked in the shower, the sauna, and at your locker, but nowhere else. Don&#8217;t be afraid to take off your swim trunks in the shower. Conversely, don&#8217;t stand at the sink naked while you shave, or at the counter by the hair dryers, reading a newspaper. (It kind of just seems logical to me to cover up certain parts when you&#8217;re wielding a razor blade, electronics, or paper. Especially paper.)</p>
<p>I don&#8217;t like listening to other people&#8217;s conversations, even when I am deliberately eavesdropping. I don&#8217;t <em>want</em> to be eavesdropping. I especially don&#8217;t like listening to teenagers swear loudly. And get off my lawn.</p>
<p>I don&#8217;t like how <em>hot</em> it is in the locker room, and how by the time I&#8217;m done drying off after my shower, I&#8217;ve started sweating again before I can even put on my shirt.</p>
<p>Given my dislike of winter in general, and especially my dislike of the compromises it requires (like spending so much time on the corollary disliking of myriad characteristics of spending time in the Y locker room), I&#8217;ve been asked by certain individuals in my life why I want to live in Minnesota at all.</p>
<p>They just don&#8217;t understand.</p>
<p>I&#8217;m not sure if it&#8217;s the harsh conditions of life in the Upper Midwest, much like the harsh conditions in the Scandinavian countries where many of our ancestors came from, or whether we&#8217;re just resentful of how easily our existence is ignored by the rest of the country, but part of the joy of being Minnesotan is to be able to complain about being Minnesotan. For us, to love something is to feel comfortable complaining about it.</p>
<p>Of course, that would suggest that perhaps I really <em>love</em> the locker room. But love and hate are not opposites. The opposite of love is indifference. And whether I love the locker room, or hate it, the one thing I clearly am <em>not</em> is indifferent.</p>
<p>But whatever the reason for my strong feelings, there is one that is stronger than all. Spring can&#8217;t get here soon enough.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5071/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Did Adobe actually mock up these Mac OS X screenshots on Windows? (Yes&#8230; I&#8217;m pretty sure they did.)</title>
		<link>http://blog.room34.com/archives/5069</link>
		<comments>http://blog.room34.com/archives/5069#comments</comments>
		<pubDate>Fri, 01 Feb 2013 15:02:48 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Mac Mania]]></category>
		<category><![CDATA[screenshots]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5069</guid>
		<description><![CDATA[So, for reasons I&#8217;d rather not get into, I had to break down and install Flash Player in Safari today. (OK, I&#8217;ll get into it briefly&#8230; due to a rather obscure bug, Chrome &#8212; my preferred browser &#8212; has been &#8230; <a href="http://blog.room34.com/archives/5069">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So, for reasons I&#8217;d rather not get into, I had to break down and install Flash Player in Safari today. (OK, I&#8217;ll get into it briefly&#8230; due to a rather obscure bug, Chrome &#8212; my preferred browser &#8212; has been crashing repeatedly on me whenever I try to upload a file. Long-term solutions aside, I had an immediate need for a way to use a Flash-based file uploader, so I had to install Flash in Safari.)</p>
<p>On the final page of the Flash Player download process on Adobe&#8217;s website, they offer a series of helpful screenshots to guide the most novice of Mac users through the process of locating and running the installer. Only&#8230; no, wait. Those <em>can&#8217;t</em> be real Mac OS X screenshots. The fonts are all wrong! So is the anti-aliasing, if you want to get <em>really</em> geeky about it. They&#8217;re mostly Arial, with the trademark overly-hinted anti-aliasing of Windows. Strangely though, it looks like the text label under the disk icon in the first screenshot is in Helvetica.</p>
<p>The real telltale sign for me though was the <em>white</em> mouse pointer arrow. Mac OS X has a <em>black</em> arrow. (The Mac has <em>always</em> had a black arrow, and Windows has always had a white one&#8230; presumably one of Microsoft&#8217;s infringement-suit-skirting superficial changes to the GUI in the early days of the Mac/Windows rivalry.)</p>
<p>I have come to expect subpar user experiences from Adobe, a company whose products I once loved so dearly. But this really takes the cake. I can&#8217;t even quite comprehend how screenshots like these were produced. It&#8217;s impossible to get results like this on a real Mac. Do they have some weird proprietary in-house Mac emulator that runs on Windows? (Actually, that might explain a lot.) Did they actually meticulously create these &#8220;screenshots&#8221; in (the Windows version of) Photoshop? Or do they have a Windows application specifically designed to generate fake Mac screenshots for all of their documentation? I&#8217;m at a loss to explain it, but there&#8217;s <em>no way</em> it wasn&#8217;t significantly more work than simply, you know, <em>taking screenshots on a real Mac.</em></p>
<p>See for yourself&#8230; (Note: The image is slightly scaled down here to fit the page. Click it to view at full size.)</p>
<p><a href="http://blog.room34.com/wp-content/uploads/underdog/adobe_screenshots.png" rel="lightbox"><img src="http://blog.room34.com/wp-content/uploads/underdog/adobe_screenshots.png" alt="adobe_screenshots" width="650" height="1200" class="alignnone size-full wp-image-5070" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5069/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SPF for dummies (i.e. me)</title>
		<link>http://blog.room34.com/archives/5067</link>
		<comments>http://blog.room34.com/archives/5067#comments</comments>
		<pubDate>Wed, 30 Jan 2013 15:48:13 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[SPF]]></category>
		<category><![CDATA[Web Server]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5067</guid>
		<description><![CDATA[For a while I&#8217;ve known that (legitimate) outgoing email messages originating from my web server were occasionally not reaching their intended recipients. I also knew that there was a DNS change you could make to help prevent this problem, but &#8230; <a href="http://blog.room34.com/archives/5067">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>For a while I&#8217;ve known that (legitimate) outgoing email messages originating from my web server were occasionally not reaching their intended recipients. I also knew that there was a DNS change you could make to help prevent this problem, but I didn&#8217;t know any more about it and it was a marginal enough problem that I could just put it off.</p>
<p>Finally today I decided to deal with it. And I was (re)introduced to the SPF acronym. No, that&#8217;s not Sun Protection Factor, or Spray Polyurethane Foam, or even Single Point of Failure (although in my case perhaps that last one is accurate). No, it stands for <a href="http://en.wikipedia.org/wiki/Security_Policy_Framework">Security Policy Framework</a>, and it&#8217;s an add-on to the core capabilities of <abbr title="Domain Name System">DNS</abbr> that provides a way to positively identify the originating servers of outgoing email messages.</p>
<p>My situation is simple: I have a domain name that needs to be able to send mail from either my mail server <em>or</em> my web server. Most of the tutorials I found for SPF were far too convoluted to address this simple arrangement. Then I found <a href="http://cyrilmazur.com/2012/04/good-practices-sending-emails-from-web-server.html">this post</a> by Cyril Mazur which provided the very simple answer:</p>
<blockquote class="codeblock"><p>v=spf1 a mx ~all</p></blockquote>
<p>Simply add the above as a new <code>TXT</code> record in your DNS zone file, and you should be set.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5067/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defense Against the Dark Arts (of iMessage Configuration)</title>
		<link>http://blog.room34.com/archives/5063</link>
		<comments>http://blog.room34.com/archives/5063#comments</comments>
		<pubDate>Sat, 12 Jan 2013 18:01:18 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iMessage]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mac Mania]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5063</guid>
		<description><![CDATA[Ever since upgrading to iOS 6, I&#8217;ve had a problem. The glorious promise of iMessage with its seamless integration of SMS/MMS and Apple&#8217;s messaging services between iPad, iPhone and Mac has mostly worked, with one infuriating, deal-breaking exception. Texts to &#8230; <a href="http://blog.room34.com/archives/5063">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ever since upgrading to iOS 6, I&#8217;ve had a problem. The glorious promise of iMessage with its seamless integration of SMS/MMS and Apple&#8217;s messaging services between iPad, iPhone and Mac has <em>mostly</em> worked, with one infuriating, deal-breaking exception.</p>
<p><strong>Texts to my phone number go to my iPad and <em>not</em> to my iPhone.</strong></p>
<p>Look, all of this integrated messaging is <em>cool.</em> Being able to have text messages show up not only on my phone but on my other devices is <em>awesome.</em> But <em>they have to at least show up on my phone or the whole thing is a failure.</em></p>
<p>I&#8217;ve researched the problem and found some people with somewhat similar issues, lots of stuff involving jailbroken iPhones (which mine is not), etc. but no clear answers to my exact problem. Several people in forums suggested shutting off iMessage on the various devices, deleting accounts, full-blown factory restore, you name it. All of which were either things I tried and found didn&#8217;t work, or wasn&#8217;t willing to try due to the amount of time and tedious work involved.</p>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/message_settings.png" alt="iMessage Settings" width="320" height="568" class="alignright size-full wp-image-5064" />So I began experimenting. There was one distinct problem I could see in settings. On both iOS devices and my Mac, the Messages app was showing both my phone number and email address. But in some cases one was grayed out. Infuriatingly, on my iPad and Mac, the phone number was grayed out <em>and checked,</em> and on the iPhone the phone number was grayed out <em>and <strong>not</strong> checked.</em> I could easily add or remove the connection of my email address to any of the devices, but my phone number was stubbornly locked into my iPad <em>only.</em> (Or, well, my iPad and my Mac&#8230; I guess. Honestly I hardly ever use Messages on my Mac so I haven&#8217;t really paid attention.)</p>
<p>I wish I could give a clear account of what came next, but I started tapping various buttons and clicking various boxes with such a fury that it all became a blur. What I do remember is that I clicked the checkbox next to my email on my Mac, which un-grayed the phone number. I was then able to uncheck the phone number, and the email now became grayed out.</p>
<p>So, if I understand correctly, the way iMessage settings work, at least one receiving phone number/email address <em>must</em> be checked at all times, so if <em>only</em> one is checked, it&#8217;s also grayed out so you can&#8217;t uncheck it. Then, if you check the other one, you <em>may</em> be able to uncheck the first.</p>
<p>That wasn&#8217;t working on my iPhone, however. Strangely though (at least as I recall from the aforementioned blur), when I repeated the process from my Mac on my iPad, then took a look at my phone, it was <em>already</em> switched to having the phone number checked and grayed out.</p>
<p>So then I began running some tests. This is where things get muddy, and since all of this just happened a few minutes ago, I still may not have a complete solution. I tried sending a text to my phone number from SLP&#8217;s iPhone. Never got it. Then I tried sending a text to my phone number <em>from my iPad</em> and it went to my phone within seconds. Cool. Then I tried sending a text <em>to my email address</em> from SLP&#8217;s iPhone, and it immediately showed up on <em>all three</em> of my devices.</p>
<p>Everything then is working as expected except that I did not get the text from SLP&#8217;s iPhone to my phone number <em>at all,</em> on <em>any</em> device. It&#8217;s hard to say what that&#8217;s all about. Are things working now? I don&#8217;t know.</p>
<p>Here&#8217;s another weird thing to throw into the mix. SLP and I share an iTunes Store account, but we have separate iCloud accounts. I also have a separate iCloud account apart from the iTunes Store account. The iTunes Store account uses my &#8220;real&#8221; email address, and I have a separate me.com email address I use on iCloud. So that&#8217;s all kind of a big mess, yes I know. Anyway, whenever I made these various changes to my configurations, the iOS devices would pop up alerts regarding the change. These alerts <em>also</em> appeared on SLP&#8217;s iPhone, even though her Messages settings don&#8217;t have <em>any</em> of my account info associated with them.</p>
<p>The bottom line here, for me, is that Apple really has not dealt with the reality of multiple users on the same device, multiple family members sharing an iTunes Store account but needing their own iCloud accounts, etc. They may be <em>trying</em> to deal with it all, but they&#8217;re trying to integrate too many things that had developed for too long as independent products. And they&#8217;re not having as much success at it as they think they are.</p>
<p>This post began as many others here do, as an attempt to share my solution to an Apple conundrum. Unfortunately in this case I just can&#8217;t quite make sense of what&#8217;s happening, and it seems to be one of those dark-clouds-on-the-horizon portents of more trouble to come with Apple&#8217;s tendency for its ambitions to exceed its capabilities in the realm of networked services.</p>
<p>I just want it to work. Isn&#8217;t that the Apple promise?</p>
<p><em>Follow up: Just after posting this I had our neighbor &#8212; who also has an iPhone but of course does not share our iTunes/iCloud accounts &#8212; send a text to my phone number, and I got it. So the problem seems mostly resolved. But let&#8217;s leave it at this: if you share your iTunes Store account with another family member and you both have iPhones, you might need to send your text to each other&#8217;s email addresses instead of phone numbers, if you&#8217;re running into the same problems I&#8217;ve been having.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5063/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Classic albums I belatedly &#8220;discovered&#8221; in 2012</title>
		<link>http://blog.room34.com/archives/5061</link>
		<comments>http://blog.room34.com/archives/5061#comments</comments>
		<pubDate>Fri, 04 Jan 2013 22:28:39 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Nostalgia]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5061</guid>
		<description><![CDATA[I have, with some friends and acquaintances, cultivated the notion that I&#8217;m some kind of walking encyclopedia of music, especially that of the 1970s. But in reality there is so much music out there that I&#8217;ve never heard or just &#8230; <a href="http://blog.room34.com/archives/5061">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I have, with some friends and acquaintances, cultivated the notion that I&#8217;m some kind of walking encyclopedia of music, especially that of the 1970s. But in reality there is so much music out there that I&#8217;ve never heard or just never really given a chance, even things by bands I really like. For instance, this year I finally heard Pink Floyd&#8217;s <em>Obscured by Clouds</em> for the first time. It was the album they recorded just prior to their legendary breakthrough <em>Dark Side of the Moon,</em> and it&#8217;s been on heavy rotation in the studio for the past few months.</p>
<p>That got me thinking: every year I compile my list of the top 5 new albums of the year, but I never reflect on the <em>&#8220;new to me&#8221;</em> music that I&#8217;ve only just gotten into this year. I&#8217;m not going to bother with a review of every album, but here&#8217;s a list of all of the new music I added to my library in 2012 that <em>wasn&#8217;t</em> released in 2012. Some of it is from the past couple of years; some of it is older than I am.</p>
<p>For extra fun, the list is presented in the order I added these albums to my iTunes library. I also bought a few greatest hits albums but I&#8217;m leaving them out, along with &#8212; of course &#8212; new remastered versions of albums I already owned.</p>
<ul>
<li>Weather Report: Black Market (1976)</li>
<li>Antonio Carlos Jobim: Tide (1970)</li>
<li>Washed Out: Within and Without (2011)</li>
<li>Boards of Canada: Music Has the Right to Children (1998)</li>
<li>Washed Out: Life of Leisure (2010)</li>
<li>Hüsker Dü: Zen Arcade (1984)</li>
<li>Sufjan Stevens: Illinoise (2005)</li>
<li>Boards of Canada: Hi Scores (1996)</li>
<li>Boards of Canada: Trans Canada Highway (2006)</li>
<li>Billy Joel: 52nd Street (1978)</li>
<li>The Alan Parsons Project: I Robot (1977)</li>
<li>The Darcys: The Darcys (2011)</li>
<li>The Beach Boys: Concert (1964)</li>
<li>The Beach Boys: Summer Days (And Summer Nights!!) (1965)</li>
<li>The Beach Boys: Today (1965)</li>
<li>The Beach Boys: Live in London (1968)</li>
<li>Van Halen: Women and Children First (1980)</li>
<li>Bob Dylan: Nashville Skyline (1969)</li>
<li>Trombone Shorty: Backatown (2010)</li>
<li>Boz Scaggs: Silk Degrees (1976)</li>
<li>Def Leppard: Pyromania (1983)</li>
<li>Gong: Flying Teapot &#8211; Radio Gnome Invisible, Pt. 1 (1973)</li>
<li>The Sea and Cake: Car Alarm (2008)</li>
<li>The Mothers of Invention: Freak Out! (1966)</li>
<li>Frank Zappa: Hot Rats (1969)</li>
<li>Pink Floyd: Obscured by Clouds (1972)</li>
<li>Com Truise: Fairlight (2011)</li>
<li>Com Truise: Galactic Melt (2011)</li>
<li>Röyksopp: Senior (2010)</li>
<li>Röyksopp: Junior (2009)</li>
<li>Tame Impala: InnerSpeaker (2010)</li>
<li>Com Truise: Cyanide Sisters (2011)</li>
<li>Queen: The Game (1980)</li>
<li>Emerson Lake and Palmer: Live at the Mar y Sol Festival (1972)</li>
<li>Peter Gabriel: So (1986) <em>[Seriously! OK, I did already own it on vinyl.]</em></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5061/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top 5 Albums of 2012</title>
		<link>http://blog.room34.com/archives/5055</link>
		<comments>http://blog.room34.com/archives/5055#comments</comments>
		<pubDate>Wed, 02 Jan 2013 14:47:16 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Top 5 Lists]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[best of 2012]]></category>
		<category><![CDATA[top albums]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5055</guid>
		<description><![CDATA[Here it is&#8230; my long awaited (?) top 5 albums of 2012 list. Contain yourself. Here we go. 5. Rush &#8212; Clockwork Angels It may not have made the biggest splash in the musical world, but for Rush fans this &#8230; <a href="http://blog.room34.com/archives/5055">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Here it is&#8230; my long awaited (?) <strong>top 5 albums of 2012</strong> list. Contain yourself. Here we go.</p>
<h3>5. Rush &#8212; Clockwork Angels</h3>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/5rush-200x200.jpg" alt="" class="alignright" />It may not have made the biggest splash in the musical world, but for Rush fans this album was a long time coming&#8230; the band&#8217;s first true full concept album (no, really), their best music in decades (we really mean it this time), and it was followed by a tour featuring an 8-piece string ensemble (!) and their long overdue induction into the Rock and Roll Hall of Fame (!!). It also features what is arguably the most genuinely beautiful piece of music in the band&#8217;s career, the closing track &#8220;The Garden.&#8221;</p>
<p>In many ways, the concept of Clockwork Angels is a steampunk-inspired, 21st century reinterpretation of their 1976 classic <em>2112</em> (note the time on the clock on the album cover), with less Ayn Rand and more first-hand wisdom. It&#8217;s also a clever retrospective and reflection on the band&#8217;s career itself. I don&#8217;t know if Rush will ever record any more albums, but I think this would be a good place to stop.</p>
<h3>4. Aimee Mann &#8212; Charmer</h3>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/4aimeemann-200x200.jpg" alt="" class="alignright" /><em>Charmer</em> is full of infectious melodies and perfectly crafted pop, but much like the best work of Steely Dan, beneath this sonic veneer lies a dark core. These songs explore, with&#8230; not quite cynicism, but perhaps a tired resignation, the more deplorable aspects of human nature. Which doesn&#8217;t make the songs any less catchy.</p>
<p>I have to confess that up until now I haven&#8217;t been a huge Aimee Mann fan. It&#8217;s not that I had anything against her music; I just never really gave her much of a chance. I also have to confess that the main reason I changed my attitude about her was her outstanding deadpan performance on an episode of <em>Portlandia</em> where she, being a struggling musician, was found working as Fred and Carrie&#8217;s housekeeper. There wasn&#8217;t much of her music in the show, but she was so natural in her performance that it really got my attention. I&#8217;m glad it did, because her music is fantastic.</p>
<h3>3. The Darcys &#8212; Aja</h3>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/3thedarcys-200x200.jpg" alt="" class="alignright" />Speaking of Steely Dan, how would you like a dark, noisy, post-rock reinterpretation of their entire 1977 classic <em>Aja</em>? Toronto-based indie band The Darcys have achieved something amazing with their stark, haunting, brooding take on the yacht rock classic (and one of my favorite albums of all time). At turns ethereal and icy, then erupting with white-hot rage, this album manages to do with Steely Dan&#8217;s music what they could never do themselves &#8212; match the darkness of their lyrical content.</p>
<p>At first I found this album hard to listen to, but as I allowed it to unfold and reveal itself, it became one of my favorites of the year&#8230; and I may now even like it more than the original.</p>
<h3>2. Air &#8212; Le voyage dans la lune</h3>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/2air-200x200.jpg" alt="" class="alignright" /><em>Hugo</em> was my favorite movie of 2011. With its focus on the legendary, and nearly lost, works of silent filmmaker Georges Méliès, specifically <em>Le voyage dans la lune (A Trip to the Moon)</em>, it was also a perfect set-up for this year&#8217;s release of Air&#8217;s new score for the 1902 film.</p>
<p>The album came with a video of the restored, hand-painted color version of the film with Air&#8217;s musical accompaniment. It was a great way to see the full film for the first time, and I think despite over a century&#8217;s distance, and playing in styles (and with instruments!) that wouldn&#8217;t yet be invented for decades when the film was made, it works perfectly. The album also stands well on its own apart from the film.</p>
<h3>1. Com Truise &#8212; In Decay</h3>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/1comtruise-200x200.jpg" alt="" class="alignright" />It&#8217;s funky, it&#8217;s weird, it&#8217;s overflowing with &#8217;80s synths and drum machines. In short, it&#8217;s pretty much exactly the album I wish I had recorded myself in 2012.</p>
<p>This is definitely not an album for everyone, but I find it manages to perfectly balance my own penchant for weird noises and unpredictable song structures with an approachability that doesn&#8217;t make me embarrassed to be caught listening to it. (Yes, this is a serious concern for me a lot of the time.) It&#8217;s not as &#8220;out there&#8221; as Boards of Canada, but it&#8217;s got a fair amount of that IDM vibe (if we must put such a pretentious label on it). It never lets experimentation get in the way of a good groove however, and &#8212; despite being entirely instrumental &#8212; captures a lot of the nostalgic &#8217;80s synth pop sound people of my generation just can&#8217;t quite seem to let go of.</p>
<p>Would I say Com Truise (great name, by the way) has recorded &#8220;objectively&#8221; the best album of 2012? Despite the fact that there&#8217;s no objectivity in art, I would still probably say &#8220;no.&#8221; But it&#8217;s the one album of the year that I just couldn&#8217;t stop listening to. Besides <a href="http://8bittimemachine.com">my own</a>, anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5055/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playlist for the end of the world</title>
		<link>http://blog.room34.com/archives/5052</link>
		<comments>http://blog.room34.com/archives/5052#comments</comments>
		<pubDate>Thu, 20 Dec 2012 14:38:32 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[End Of The World]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Mayan apocalypse]]></category>
		<category><![CDATA[Playlist]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5052</guid>
		<description><![CDATA[Needless to say, I do not believe the world is going to end tomorrow. OK, I said it anyway. And now that it&#8217;s said, let&#8217;s have a little fun with it. I&#8217;ve put together an iTunes playlist of songs from &#8230; <a href="http://blog.room34.com/archives/5052">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Needless to say, I do <em>not</em> believe the world is going to end tomorrow. OK, I said it anyway. And now that it&#8217;s said, let&#8217;s have a little fun with it.</p>
<p>I&#8217;ve put together an iTunes playlist of songs from my music library that seemed fitting in some way for the occasion:</p>
<ol>
<li>Steely Dan &#8212; Black Friday</li>
<li>National Health &#8212; The Apocalypso</li>
<li>Nine Inch Nails &#8212; The Beginning of the End</li>
<li>Rush &#8212; In the End</li>
<li>The Beatles &#8212; The End</li>
<li>Styx &#8212; Don&#8217;t Let It End</li>
<li>Zero 7 &#8212; End Theme</li>
<li>Kraftwerk &#8212; Europe Endless</li>
<li>Hall &amp; Oates &#8212; Friday Let Me Down</li>
<li>Chicago &#8212; It Better End Soon (1st Movement)</li>
<li>Chicago &#8212; It Better End Soon (2nd Movement)</li>
<li>Chicago &#8212; It Better End Soon (3rd Movement)</li>
<li>Chicago &#8212; It Better End Soon (4th Movement)</li>
<li>Prince &#8212; 1999</li>
<li>Genesis &#8212; Los Endos</li>
<li>King Crimson &#8212; Peace: An End</li>
<li>R.E.M. &#8212; It&#8217;s the End of the World As We Know It (And I Feel Fine)</li>
<li>U2 &#8212; Until the End of the World</li>
<li>Elvis Costello &#8212; Waiting for the End of the World</li>
<li>Happy Apple &#8212; The World Begins and Ends in Your Combover</li>
<li>Room 34 &#8212; December 22, 2012</li>
</ol>
<p>Yes, that last one is my own&#8230; recorded earlier this year as a reflection on what the world will be like the day <em>after</em> it ends. You can get it <a href="http://music.room34.com/albums/ps">here</a>. (Interesting side note: every sound on that song &#8212; the whole album in fact &#8212; was produced on an iPhone.)</p>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/Screen-Shot-2012-12-20-at-8.34.15-AM.png" alt="Album covers from the Mayan Apocalypse playlist" width="801" height="878" class="alignnone size-full wp-image-5053" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5052/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transcript of President Obama&#8217;s speech at the Sandy Hook prayer vigil</title>
		<link>http://blog.room34.com/archives/5050</link>
		<comments>http://blog.room34.com/archives/5050#comments</comments>
		<pubDate>Mon, 17 Dec 2012 16:15:40 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Politics]]></category>
		<category><![CDATA[gun control]]></category>
		<category><![CDATA[gun violence]]></category>
		<category><![CDATA[President Obama]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5050</guid>
		<description><![CDATA[This morning I wrote a long (over 1400 words) blog post about guns and freedom in America. I haven&#8217;t published it, and I probably won&#8217;t, because it&#8217;s so difficult to put into words what I feel and what I think &#8230; <a href="http://blog.room34.com/archives/5050">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This morning I wrote a long (over 1400 words) blog post about guns and freedom in America. I haven&#8217;t published it, and I probably won&#8217;t, because it&#8217;s so difficult to put into words what I feel and what I think about all that has happened recently.</p>
<p>Then I read the transcript of President Obama&#8217;s speech last night. There is nothing I can say about the situation that he did not say better, and in time I trust that his call to action will become clearer and more explicit about what exactly must be done to prevent similar tragedies in the future. But for now, I will let the President&#8217;s words speak for me.</p>
<blockquote><p>Thank you. (Applause.) Thank you, Governor. To all the families, first responders, to the community of Newtown, clergy, guests — Scripture tells us: &#8220;&#8230;do not lose heart. Though outwardly we are wasting away&#8230;inwardly we are being renewed day by day. For our light and momentary troubles are achieving for us an eternal glory that far outweighs them all. So we fix our eyes not on what is seen, but on what is unseen, since what is seen is temporary, but what is unseen is eternal. For we know that if the earthly tent we live in is destroyed, we have a building from God, an eternal house in heaven, not built by human hands.&#8221;</p>
<p>We gather here in memory of twenty beautiful children and six remarkable adults. They lost their lives in a school that could have been any school; in a quiet town full of good and decent people that could be any town in America.</p>
<p>Here in Newtown, I come to offer the love and prayers of a nation. I am very mindful that mere words cannot match the depths of your sorrow, nor can they heal your wounded hearts. I can only hope it helps for you to know that you&#8217;re not alone in your grief; that our world too has been torn apart; that all across this land of ours, we have wept with you, we&#8217;ve pulled our children tight. And you must know that whatever measure of comfort we can provide, we will provide; whatever portion of sadness that we can share with you to ease this heavy load, we will gladly bear it. Newtown — you are not alone.</p>
<p>As these difficult days have unfolded, you&#8217;ve also inspired us with stories of strength and resolve and sacrifice. We know that when danger arrived in the halls of Sandy Hook Elementary, the school&#8217;s staff did not flinch, they did not hesitate. Dawn Hochsprung and Mary Sherlach, Vicki Soto, Lauren Rousseau, Rachel Davino and Anne Marie Murphy — they responded as we all hope we might respond in such terrifying circumstances — with courage and with love, giving their lives to protect the children in their care.</p>
<p>We know that there were other teachers who barricaded themselves inside classrooms, and kept steady through it all, and reassured their students by saying &#8220;wait for the good guys, they&#8217;re coming&#8221;; &#8220;show me your smile.&#8221;</p>
<p>And we know that good guys came. The first responders who raced to the scene, helping to guide those in harm&#8217;s way to safety, and comfort those in need, holding at bay their own shock and trauma because they had a job to do, and others needed them more.</p>
<p>And then there were the scenes of the schoolchildren, helping one another, holding each other, dutifully following instructions in the way that young children sometimes do; one child even trying to encourage a grown-up by saying, &#8220;I know karate. So it&#8217;s okay. I&#8217;ll lead the way out.&#8221; (Laughter.)</p>
<p>As a community, you&#8217;ve inspired us, Newtown. In the face of indescribable violence, in the face of unconscionable evil, you&#8217;ve looked out for each other, and you&#8217;ve cared for one another, and you&#8217;ve loved one another. This is how Newtown will be remembered. And with time, and God&#8217;s grace, that love will see you through.</p>
<p>But we, as a nation, we are left with some hard questions. Someone once described the joy and anxiety of parenthood as the equivalent of having your heart outside of your body all the time, walking around. With their very first cry, this most precious, vital part of ourselves — our child — is suddenly exposed to the world, to possible mishap or malice. And every parent knows there is nothing we will not do to shield our children from harm. And yet, we also know that with that child&#8217;s very first step, and each step after that, they are separating from us; that we won&#8217;t — that we can&#8217;t always be there for them. They&#8217;ll suffer sickness and setbacks and broken hearts and disappointments. And we learn that our most important job is to give them what they need to become self-reliant and capable and resilient, ready to face the world without fear.</p>
<p>And we know we can&#8217;t do this by ourselves. It comes as a shock at a certain point where you realize, no matter how much you love these kids, you can&#8217;t do it by yourself. That this job of keeping our children safe, and teaching them well, is something we can only do together, with the help of friends and neighbors, the help of a community, and the help of a nation. And in that way, we come to realize that we bear a responsibility for every child because we&#8217;re counting on everybody else to help look after ours; that we&#8217;re all parents; that they&#8217;re all our children.</p>
<p>This is our first task — caring for our children. It&#8217;s our first job. If we don&#8217;t get that right, we don&#8217;t get anything right. That&#8217;s how, as a society, we will be judged.</p>
<p>And by that measure, can we truly say, as a nation, that we are meeting our obligations? Can we honestly say that we&#8217;re doing enough to keep our children — all of them — safe from harm? Can we claim, as a nation, that we&#8217;re all together there, letting them know that they are loved, and teaching them to love in return? Can we say that we&#8217;re truly doing enough to give all the children of this country the chance they deserve to live out their lives in happiness and with purpose?</p>
<p>I&#8217;ve been reflecting on this the last few days, and if we&#8217;re honest with ourselves, the answer is no. We&#8217;re not doing enough. And we will have to change.</p>
<p>Since I&#8217;ve been President, this is the fourth time we have come together to comfort a grieving community torn apart by a mass shooting. The fourth time we&#8217;ve hugged survivors. The fourth time we&#8217;ve consoled the families of victims. And in between, there have been an endless series of deadly shootings across the country, almost daily reports of victims, many of them children, in small towns and big cities all across America — victims whose — much of the time, their only fault was being in the wrong place at the wrong time.</p>
<p>We can&#8217;t tolerate this anymore. These tragedies must end. And to end them, we must change. We will be told that the causes of such violence are complex, and that is true. No single law — no set of laws can eliminate evil from the world, or prevent every senseless act of violence in our society.</p>
<p>But that can&#8217;t be an excuse for inaction. Surely, we can do better than this. If there is even one step we can take to save another child, or another parent, or another town, from the grief that has visited Tucson, and Aurora, and Oak Creek, and Newtown, and communities from Columbine to Blacksburg before that — then surely we have an obligation to try.</p>
<p>In the coming weeks, I will use whatever power this office holds to engage my fellow citizens — from law enforcement to mental health professionals to parents and educators — in an effort aimed at preventing more tragedies like this. Because what choice do we have? We can&#8217;t accept events like this as routine. Are we really prepared to say that we&#8217;re powerless in the face of such carnage, that the politics are too hard? Are we prepared to say that such violence visited on our children year after year after year is somehow the price of our freedom?</p>
<p>All the world&#8217;s religions — so many of them represented here today — start with a simple question: Why are we here? What gives our life meaning? What gives our acts purpose? We know our time on this Earth is fleeting. We know that we will each have our share of pleasure and pain; that even after we chase after some earthly goal, whether it&#8217;s wealth or power or fame, or just simple comfort, we will, in some fashion, fall short of what we had hoped. We know that no matter how good our intentions, we will all stumble sometimes, in some way. We will make mistakes, we will experience hardships. And even when we&#8217;re trying to do the right thing, we know that much of our time will be spent groping through the darkness, so often unable to discern God&#8217;s heavenly plans.</p>
<p>There&#8217;s only one thing we can be sure of, and that is the love that we have — for our children, for our families, for each other. The warmth of a small child&#8217;s embrace — that is true. The memories we have of them, the joy that they bring, the wonder we see through their eyes, that fierce and boundless love we feel for them, a love that takes us out of ourselves, and binds us to something larger — we know that&#8217;s what matters. We know we&#8217;re always doing right when we&#8217;re taking care of them, when we&#8217;re teaching them well, when we&#8217;re showing acts of kindness. We don&#8217;t go wrong when we do that.</p>
<p>That&#8217;s what we can be sure of. And that&#8217;s what you, the people of Newtown, have reminded us. That&#8217;s how you&#8217;ve inspired us. You remind us what matters. And that&#8217;s what should drive us forward in everything we do, for as long as God sees fit to keep us on this Earth.</p>
<p>&#8220;Let the little children come to me,&#8221; Jesus said, &#8220;and do not hinder them — for to such belongs the kingdom of heaven.&#8221;</p>
<p>Charlotte. Daniel. Olivia. Josephine. Ana. Dylan. Madeleine. Catherine. Chase. Jesse. James. Grace. Emilie. Jack. Noah. Caroline. Jessica. Benjamin. Avielle. Allison.</p>
<p>God has called them all home. For those of us who remain, let us find the strength to carry on, and make our country worthy of their memory.</p>
<p>May God bless and keep those we&#8217;ve lost in His heavenly place. May He grace those we still have with His holy comfort. And may He bless and watch over this community, and the United States of America. (Applause.)</p></blockquote>
<p><small>Source: <a href="http://www.npr.org/2012/12/16/167412995/transcript-president-obama-at-sandy-hook-prayer-vigil">NPR</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5050/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Post-it note that started it all</title>
		<link>http://blog.room34.com/archives/5047</link>
		<comments>http://blog.room34.com/archives/5047#comments</comments>
		<pubDate>Fri, 14 Dec 2012 17:29:02 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Original Music]]></category>
		<category><![CDATA[Post-it notes]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5047</guid>
		<description><![CDATA[My recently completed rock opera, 8-Bit Time Machine, did not begin as most of my albums do, with a list of song titles to serve as inspiration, an overarching concept, and a handful of drum beats or keyboard grooves. No, &#8230; <a href="http://blog.room34.com/archives/5047">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>My recently completed rock opera, <a href="http://8bittimemachine.com">8-Bit Time Machine</a>, did not begin as most of my albums do, with a list of song titles to serve as inspiration, an overarching concept, and a handful of drum beats or keyboard grooves.</p>
<p>No, it began with this Post-it note.</p>
<p><img src="http://blog.room34.com/wp-content/uploads/underdog/chords.jpg" alt="8-Bit Time Machine chords Post-it" width="600" height="600" class="alignnone size-full wp-image-5048" /></p>
<p>You see, I keep my cheap Fender Strat hanging next to my desk in the studio, so whenever I feel inspired or just need a mental break, I can take it down and noodle for a few minutes. In September I started tinkering with a chord progression, which I had to write down so I wouldn&#8217;t forget it, and then I continued to expand on it and rework it, until it became the structure for track 10, &#8220;You&#8217;re Not That Old Anymore.&#8221;</p>
<p>In fact this chord progression ended up serving as the basis for almost the entire album, as it first appears (in its entirety) on a keyboard in the opening track, and crops up again in bits and pieces in other tracks (especially #2, &#8220;Daydream of the 8-Bit Time Machine&#8221;, and #7, &#8220;(No) Meaning in the Machine&#8221;), before getting its full realization in the album&#8217;s penultimate track.</p>
<p>I kept this Post-it note stuck right on the front of that Strat for over a month before I actually began recording the album. At that point the chords were in my blood and I no longer needed a cheat sheet to remember them. But I kept it anyway as a rare physical memento of the unusual origins of this most unusual album.</p>
<p>Obviously not everything from the Post-it was entirely relevant. There&#8217;s nothing on the album in 5/8, for instance, although perhaps that interest in 5 is what inspired the crazy quintuplet drum fills in the loud section of track #8, &#8220;Horizontal Hold&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5047/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introducing my new album&#8230; a ROCK OPERA no less&#8230; 8-Bit Time Machine!</title>
		<link>http://blog.room34.com/archives/5044</link>
		<comments>http://blog.room34.com/archives/5044#comments</comments>
		<pubDate>Thu, 13 Dec 2012 05:07:09 +0000</pubDate>
		<dc:creator>room34</dc:creator>
				<category><![CDATA[Computers & Technology]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Video Games]]></category>
		<category><![CDATA[Atari 2600]]></category>
		<category><![CDATA[Original Music]]></category>
		<category><![CDATA[retro gaming]]></category>

		<guid isPermaLink="false">http://blog.room34.com/?p=5044</guid>
		<description><![CDATA[Anyone who&#8217;s following me on the social medias knows I&#8217;ve been working for the past couple of months on what is probably my most absurdly ambitious solo music project to date: a rock opera with a retro-geeky theme. The album &#8230; <a href="http://blog.room34.com/archives/5044">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Anyone who&#8217;s following me on the social medias knows I&#8217;ve been working for the past couple of months on what is probably my most absurdly ambitious solo music project to date: a rock opera with a retro-geeky theme.</p>
<p>The album is finished. I&#8217;m still working on perfecting the masters before I release it for download and get CDs pressed, but you can now immerse yourself in the full <strong>8-Bit Time Machine</strong> experience over on the new website I&#8217;ve set up for the album:</p>
<h3 class="aligncenter"><big><strong><a href="http://8bittimemachine.com">8bittimemachine.com</a></strong></big></h3>
<p>The website features a page for each of the album&#8217;s 11 tracks, where you can listen to the track while reading the lyrics and notes about the story. (Note: As the audio is in MP3 format, it will work in Firefox. Any other modern browser that supports HTML5 audio will play the tracks automatically.)</p>
<p>Stay tuned for more information about a final release date!</p>
<p><a href="http://8bittimemachine.com"><img src="http://blog.room34.com/wp-content/uploads/underdog/placeholder.jpg" alt="8-Bit Time Machine" width="600" height="600" class="aligncenter size-full wp-image-5045" /></a></p>
<p>P.S. Yes, there is a track (a rather musical one at that) consisting of nothing but sounds from Atari 2600 games.</p>
<p>P.P.S. Yes, there is also one track with full-on autotuned vocals. How do I rationalize this use of one of my most despised audio technologies? You&#8217;ll just have to listen to figure it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.room34.com/archives/5044/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
