<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Dumbrella Hosting</title>
		<link>http://www.dumbrellahosting.com/</link>
		<atom:link href="http://www.dumbrellahosting.com/index.xml" rel="self" type="application/rss+xml" />
		<description>The pseudo-corporate blog for Phillip Karlsson &#x26;amp; Dumbrella Hosting</description>
		<language>en-us</language>
		<copyright>All content &#x26;copy; 2006-2010 Dumbrella Hosting, LLC.</copyright> 
		<pubDate>Tue, 08 Nov 2011 20:18:16 -0500</pubDate>
		<ttl>60</ttl>
		<image>
			<url>http://www.dumbrellahosting.com/images/small_logo.png</url>
			<title>Dumbrella Hosting</title>
			<link>http://www.dumbrellahosting.com/</link>
			<width>130</width>
			<height>145</height>
		</image>
		<item>
			<title>Interaction Fodder</title>
			<link>http://www.dumbrellahosting.com/forums/news/8921/</link>
			<guid isPermaLink="true">http://www.dumbrellahosting.com/forums/news/8921/</guid>
			<dc:creator>phillip</dc:creator>
			<category>Technical</category>
			<category>Mac</category>
			<category>iPhone</category>
			<category>iPod</category>
			<category>UI</category>
			<category>user-interface</category>
			<pubDate>Tue, 08 Nov 2011 20:18:16 -0500</pubDate>
			<description>Via Gruber I just read through &#x26;ldquo;A Brief Rant On The Future Of Interaction Design&#x26;rdquo;. Briefly, it&#x27;s a rant about how so-called &#x26;ldquo;touch&#x26;rdquo; designs (and also predictive simulations of their future possibilities) are really not fully &#x26;ldquo;touch&#x26;rdquo; based in that they&#x26;rsquo;re unidirectional and incomplete. The user can move things under glass, but has no feedback returned about what&#x27;s happening under the glass. On top of that, there are multiple different ways we primates manipulate things with our hands, and these interfaces take advantage of only a small subset of those possibilities. The first thing I thought of while reading it was...</description>
			<content:encoded><![CDATA[<p>Via <a href="http://daringfireball.net/linked/2011/11/08/brief-rant">Gruber</a> I just read through &ldquo;<a href="http://worrydream.com/ABriefRantOnTheFutureOfInteractionDesign/">A Brief Rant On The Future Of Interaction Design</a>&rdquo;.  Briefly, it's a rant about how so-called &ldquo;touch&rdquo; designs (and also predictive simulations of their future possibilities) are really not fully &ldquo;touch&rdquo; based in that they&rsquo;re unidirectional and incomplete.  The user can move things under glass, but has no feedback returned about what's happening under the glass.  On top of that, there are multiple different ways we primates manipulate things with our hands, and these interfaces take advantage of only a small subset of those possibilities.</p>
<p>The first thing I thought of while reading it was <a href="http://www.asymco.com/">Horace Dediu</a>&rsquo;s recent post on <a href="http://www.asymco.com/2011/11/03/revolutionary-user-interfaces/">Revolutionary User Interfaces</a>.  Which discusses how Apple&rsquo;s major user-input changes have been a major factor in the success of their products.  From the Mouse, to the iPod click-wheel, to the iPhone&rsquo;s current touch interface, the interaction method has been the defining product differentiator.</p>
<p>I have no predictive thoughts on top of that, but it seems unlikely that Apple&rsquo;s (or others&rsquo;) teams aren't thinking in similar directions, internally.  We already have gyroscopes and accelerometers in our hand-held devices, I wonder what the interfaces would be like with pressure sensitivity?  I also wonder what could be done when haptic feedback can accommodate both small scale finger feedback (well) and larger scale gripping-style feedback?</p>]]></content:encoded>
		</item>
		<item>
			<title>Revenge of the Marker of the Beast!</title>
			<link>http://www.dumbrellahosting.com/forums/news/8870/</link>
			<guid isPermaLink="true">http://www.dumbrellahosting.com/forums/news/8870/</guid>
			<dc:creator>phillip</dc:creator>
			<category>Miscellany</category>
			<category>store</category>
			<category>products</category>
			<category>Laboratory Industries</category>
			<pubDate>Fri, 07 Oct 2011 12:11:22 -0400</pubDate>
			<description>
In (something resembling) cooperation with r stevens, the Revenge of the Marker of the Beast has been unleashed:


(The Satanic Sticky Notes are also available separately.)
To see what else we&#x27;re doing as Laboratory Industries, watch the site or follow @LabIndustries.</description>
			<content:encoded><![CDATA[<p><img src="http://www.dumbrellahosting.com/images/news/111007_lab_logo.gif" alt="Laboratory Industries"></p>
<p>In (something resembling) cooperation with <a href="http://www.dieselsweeties.com/">r stevens</a>, the <a href="http://store.laboratoryindustri.es/">Revenge of the Marker of the Beast</a> has been unleashed:
<br>
<a href="http://www.dumbrellahosting.com/" http://store.laboratoryindustri.es/"="http://store.laboratoryindustri.es/&quot;"><img src="http://www.dieselsweeties.com/lj/beast-photo400.jpg" height="536" width="400"></a><br>
(The <a href="http://store.laboratoryindustri.es/satanic-sticky-notes-all/">Satanic Sticky Notes</a> are also available separately.)</p>
<p>To see what else we're doing as <a href="http://www.laboratoryindustri.es">Laboratory Industries</a>, watch the site or follow <a href="http://twitter.com/LabIndustries">@LabIndustries</a>.</p>]]></content:encoded>
		</item>
		<item>
			<title>and&#x2026; Lion. (the further woes of mysql and mod_perl)</title>
			<link>http://www.dumbrellahosting.com/forums/news/8796/</link>
			<guid isPermaLink="true">http://www.dumbrellahosting.com/forums/news/8796/</guid>
			<dc:creator>phillip</dc:creator>
			<category>Technical</category>
			<category>mod_perl</category>
			<category>mysql</category>
			<category>Mac OS X</category>
			<category>Lion</category>
			<category>perl</category>
			<pubDate>Sat, 03 Sep 2011 21:50:14 -0400</pubDate>
			<description>I try to do my development on my personal machine, not the server. Once it&#x27;s working, I move it to my development machine, fix bugs, move it to staging, fix bugs, move it live, panic. Hopefully that panic is followed by things working, hopefully quickly, but I digress. Step 1 is keeping things working on my own machines. I run Mac OS on all those machines, Debian Linux on the servers. It seems that every Mac upgrade causes its own set of headaches. This time, after upgrading to Lion, the problem was that (after all sorts of other, expected, upgrading annoyances)...</description>
			<content:encoded><![CDATA[<p>I try to do my development on my personal machine, not the server.  Once it's working, I move it to my development machine, fix bugs, move it to staging, fix bugs, move it live, panic.</p>
<p>Hopefully that panic is followed by things working, hopefully quickly, but I digress.</p>
<p>Step 1 is keeping things working on my own machines.  I run Mac OS on all those machines, Debian Linux on the servers.  It seems that every Mac upgrade causes its own <a href="http://www.dumbrellahosting.com/forums/news/6078">set of headaches</a>.  This time, after upgrading to Lion, the problem was that (after all sorts of other, expected, upgrading annoyances) all my perl code ran as test scripts, but wouldn't run under mod_perl.  I would see:</p>
<code class="terminal">[Sat Sep 03 18:39:29 2011] [error] install_driver(mysql) failed: Can't load '/Users/phillip/Sites/hosting/perl/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle' for module DBD::mysql:
dlopen(/Users/phillip/Sites/hosting/perl/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle,<br>
1): Library not loaded: libmysqlclient.16.dylib<br>
&nbsp;&nbsp;&nbsp;&nbsp;Referenced from: /Users/phillip/Sites/hosting/perl/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle<br>
&nbsp;&nbsp;&nbsp;&nbsp;Reason: image not found at /System/Library/Perl/5.12/darwin-thread-multi-2level/DynaLoader.pm line 204.<br>
&nbsp;&nbsp;&nbsp;&nbsp;at (eval 3317) line 3<br>
&nbsp;&nbsp;&nbsp;&nbsp;Compilation failed in require at (eval 3317) line 3.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Perhaps a required shared library or dll isn't installed where expected<br>
&nbsp;&nbsp;&nbsp;&nbsp;…
</code>
<p>It turns out that when you search for this kind of error, you get a lot of help for how to fix it under Rails.  I don't want to steal from any of the numerous posts on how to fix it there, but it took reading through a whole bunch of those to figure out the "correct" solution, and I don't have a particular one to credit with helping me, although they all helped me grok the situation.  It also would have been faster if I had known more about how Macs deal with dynamic libraries.</p>
<p>The important thing is that libraries contain within them the paths to the other libraries they work with.  You can see these included paths with the "otool" command.  In this case it was the perl <a href="http://search.cpan.org/perldoc?DBD::mysql">DBD::mysql</a> file mysql.bundle that was unable to find a library it needed.  Specifically the libmysqlclient.16.dylib file:
<code class="terminal">$ otool -L /Users/phillip/Sites/hosting/perl/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle<br>
/Users/phillip/Sites/hosting/perl/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle:<br>
&nbsp;&nbsp;libmysqlclient.16.dylib (compatibility version 16.0.0, current version 16.0.0)<br>
&nbsp;&nbsp;/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)</code></p>
<p>The problem file is the first returned "libmysqlclient.16.dylib" the "mysql.bundle" is looking for. It's looking relatively, and it needs to look or it more absolutely.</p>
<p>The tool to fix this is apparently "install_name_tool".  You can use this to change those resulting lines that otool returned.</p>
<p>Now, the actual path of my "libmysqlclient.16.dylib" library is "/usr/local/mysql-5.5.9-osx10.6-x86_64/lib/libmysqlclient.16.dylib".  However, I know that there's a "mysql" link corresponding to "mysql-5.5.9-osx10.6-x86_64" and another "libmysqlclient.dylib" corresponding to "libmysqlclient.16.dylib".  So instead of using "/usr/local/mysql-5.5.9-osx10.6-x86_64/lib/libmysqlclient.16.dylib" I can use "/usr/local/mysql/lib/libmysqlclient.dylib".  Hopefully future mysql upgrades will maintain those symlinks and I won't have to do this again.</p>
<p>The command I need to run, then, is to tell "mysql.bundle" where to find "libmysqlclient.dylib".  This requires admin/sudo privileges so it is:<code class="terminal">
$ sudo install_name_tool -change libmysqlclient.16.dylib /usr/local/mysql/lib/libmysqlclient.dylib /Users/phillip/Sites/hosting/perl/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle</code>
or, in more generic terms:
<code class="terminal">
$ sudo install_name_tool -change "old, bad library name" "new, fully functional path" "really long path to the problem child/library"</code>
After changing the relative path to an absolute one, otool says:
<code class="terminal">$ otool -L /Users/phillip/Sites/hosting/perl/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle<br>
/Users/phillip/Sites/hosting/perl/lib/perl5/darwin-thread-multi-2level/auto/DBD/mysql/mysql.bundle:<br>
&nbsp;&nbsp;/usr/local/mysql/lib/libmysqlclient.dylib (compatibility version 16.0.0, current version 16.0.0)
&nbsp;&nbsp;/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.0.0)</code>
and apache is starting happily.</p>
<p><i>actually, it found more …problems… but they were generic and more easily sorted out.  End of the day, everything is happy now.  On the computer, at least.</i></p>
<p>Postscript: the reason this wasn't an issue under my test scripts, run from my home account, is that my "DYLD_LIBRARY_PATH" environment variable contains "/usr/local/mysql/lib" as a path.  Apache doesn't run under my account, and its security…stuff… makes it difficult to set a similar path that DBD::mysql will see.</p>]]></content:encoded>
		</item>
		<item>
			<title>Database fun!</title>
			<link>http://www.dumbrellahosting.com/forums/news/7987/</link>
			<guid isPermaLink="true">http://www.dumbrellahosting.com/forums/news/7987/</guid>
			<dc:creator>phillip</dc:creator>
			<category>Technical</category>
			<pubDate>Fri, 24 Sep 2010 22:37:18 -0400</pubDate>
			<description>A long overdue post with what my last year has been like is pseudo drafted, but in the meantime, just a quick notice that the database machines are being replaced in a couple of hours!
fun?
So I&#x27;ll be up until the move is complete, and I apologize in advance for all the inevitable breakage.</description>
			<content:encoded><![CDATA[<p>A long overdue post with what my last year has been like is pseudo drafted, but in the meantime, just a quick notice that the database machines are being replaced in a couple of hours!</p>
<p>fun?</p>
<p>So I'll be up until the move is complete, and I apologize in advance for all the inevitable breakage.</p>]]></content:encoded>
		</item>
		<item>
			<title>San Diego Comic-Con 2009: The Sequel ^ 8</title>
			<link>http://www.dumbrellahosting.com/forums/news/6609/</link>
			<guid isPermaLink="true">http://www.dumbrellahosting.com/forums/news/6609/</guid>
			<dc:creator>phillip</dc:creator>
			<category>Conventions</category>
			<category>San Diego</category>
			<category>Comic-Con</category>
			<category>Dumbrella</category>
			<category>Conventions</category>
			<pubDate>Sun, 19 Jul 2009 12:24:44 -0400</pubDate>
			<description>On Wednesday, San Diego Comic-Con starts.
This will be the 8th year I&#x27;ve been there, and they&#x27;ve gotten more fun every year.  However, I&#x27;m not sure there&#x27;s much that could top last year, which I consider to be incentive for everyone involved to try harder.
As usual, I&#x27;ll be at booth 1335/1337 with the Dumbrella crew. With me this year are:

	Andy Bell
	r stevens
	Sam Brown
	Jon Rosenberg
	Meredith Gran
	Chris Yates

If I&#x27;m feeling inspired I&#x27;ll get our crappy, outdated boothcam working and post it here, but I make no promises.</description>
			<content:encoded><![CDATA[<p>On Wednesday, San Diego Comic-Con starts.</p>
<p>This will be the 8<sup>th</sup> year I've been there, and they've gotten more fun every year.  However, I'm not sure there's much that could top last year, which I consider to be incentive for everyone involved to try harder.</p>
<p>As usual, I'll be at booth 1335/1337 with the Dumbrella crew. With me this year are:</p>
<ul>
	<li><a href="http://www.creaturesinmyhead.com/">Andy Bell</a></li>
	<li><a href="http://www.dieselsweeties.com/">r stevens</a></li>
	<li><a href="http://www.explodingdog.com/">Sam Brown</a></li>
	<li><a href="http://www.goats.com/">Jon Rosenberg</a></li>
	<li><a href="http://www.octopuspie.com/">Meredith Gran</a></li>
	<li><a href="http://www.chrisyates.net/">Chris Yates</a></li>
</ul>
<p>If I'm feeling inspired I'll get our crappy, outdated boothcam working and post it here, but I make no promises.</p>]]></content:encoded>
		</item>
		<item>
			<title>The end of GeoCities</title>
			<link>http://www.dumbrellahosting.com/forums/news/6357/</link>
			<guid isPermaLink="true">http://www.dumbrellahosting.com/forums/news/6357/</guid>
			<dc:creator>phillip</dc:creator>
			<category>Miscellany</category>
			<category>geocities</category>
			<category>theglobe.com</category>
			<pubDate>Fri, 24 Apr 2009 06:41:06 -0400</pubDate>
			<description>Apparently, Yahoo is shutting down GeoCities at some point this year. To me, this marks an end, of sorts, to the original dot-com era. Back in my days at theglobe.com, my primary project was our homepage builder. Eventually had some marketing-oriented name for it (uBuilder?), but not for most of the time I was working on it. It originated as a way for users of our web based chat system to upload personal icons, and ended up as a GeoCities competitor. The big thing, I felt, that made us &#x22;better&#x22;, were that we didn&#x27;t have complicated URLs based on which &#x22;community&#x22;...</description>
			<content:encoded><![CDATA[<p>Apparently, Yahoo is <a href="http://help.yahoo.com/l/us/yahoo/geocities/geocities-05.html">shutting down GeoCities</a> at some point this year.  To me, this marks an end, of sorts, to the original dot-com era.</p>
<p>Back in my days at theglobe.com, my primary project was our homepage builder.  Eventually had some marketing-oriented name for it (uBuilder?), but not for most of the time I was working on it.  It originated as a way for users of our web based chat system to upload personal icons, and ended up as a GeoCities competitor.<p>
<p>The big thing, I felt, that made us "better", were that we didn't have complicated URLs based on which "community" your page was in, we just had "members.theglobe.com/username/" style URLs.  Also, I think our page building tools were better and more flexible.  On the downside, I think at our peak, we had about 1-5% of the traffic that GeoCities did (although over a million page views in a day was a big deal back in 1997, on 1997 era hardware).  On the upside, in 1997, the only developer working on this project was me, so our development team was cheaper.<p>
<p>But for fun, here's <a href="http://www.goats.com/">Jon</a>'s <a href="http://web.archive.org/web/19990218065347/http://members.theglobe.com/rez/">page</a>.  We made ones for toothgnip and diablo too, but they don't seem to be archived.</p>]]></content:encoded>
		</item>
	</channel>
</rss>
