<?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"
	>

<channel>
	<title>John Bullitt</title>
	<atom:link href="http://www.jtbullitt.com/projects/feed" rel="self" type="application/rss+xml" />
	<link>http://www.jtbullitt.com/projects</link>
	<description>Earth • Sound • Mind</description>
	<pubDate>Fri, 05 Sep 2008 19:32:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>nice hair</title>
		<link>http://www.jtbullitt.com/projects/tangible-intuitions/joti/bad-hair-day</link>
		<comments>http://www.jtbullitt.com/projects/tangible-intuitions/joti/bad-hair-day#comments</comments>
		<pubDate>Sat, 09 Aug 2008 22:39:57 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[Joti]]></category>

		<guid isPermaLink="false">http://www.jtbullitt.com/projects/?p=130</guid>
		<description><![CDATA[<p></p>
<p>And this is a test of simile-timeline:</p>

]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jtbullitt.com/images/joti-BadHairDay.jpg" alt="bad hair" /></p>
<p>And this is a test of simile-timeline:</p>
<div id="stl-timeline" class="stl-timeline"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/tangible-intuitions/joti/bad-hair-day/feed</wfw:commentRss>
		</item>
		<item>
		<title>Outline of a proof of the possibility of rebirth</title>
		<link>http://www.jtbullitt.com/projects/tangible-intuitions/words-fail/rebirth-proof</link>
		<comments>http://www.jtbullitt.com/projects/tangible-intuitions/words-fail/rebirth-proof#comments</comments>
		<pubDate>Wed, 11 Jun 2008 15:40:15 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[words fail]]></category>

		<guid isPermaLink="false">http://www.jtbullitt.com/projects/?p=128</guid>
		<description><![CDATA[
There are many people.
Some of us feel that we were born on the wrong planet.
There are many planets.
Mistakes happen.

]]></description>
			<content:encoded><![CDATA[<ol>
<li>There are many people.</li>
<li>Some of us feel that we were born on the wrong planet.</li>
<li>There are many planets.</li>
<li>Mistakes happen.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/tangible-intuitions/words-fail/rebirth-proof/feed</wfw:commentRss>
		</item>
		<item>
		<title>A day of bells</title>
		<link>http://www.jtbullitt.com/projects/small-sounds/a-day-of-bells</link>
		<comments>http://www.jtbullitt.com/projects/small-sounds/a-day-of-bells#comments</comments>
		<pubDate>Thu, 22 May 2008 20:17:10 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[Small sounds]]></category>

		<category><![CDATA[Human]]></category>

		<category><![CDATA[Machine]]></category>

		<guid isPermaLink="false">http://smallsounds.jtbullitt.com/?p=31</guid>
		<description><![CDATA[<p>A few blocks from my house is a church that serves as our friendly neighborhood timekeeper. No matter the weather or the season, the bells of St. John the Evangelist Church dutifully ring out the Westminster Chimes every fifteen minutes, [...]]]></description>
			<content:encoded><![CDATA[<p>A few blocks from my house is a church that serves as our friendly neighborhood timekeeper. No matter the weather or the season, the bells of St. John the Evangelist Church dutifully ring out the Westminster Chimes every fifteen minutes, from 9AM until 8PM, seven days a week, year in and year out. For many of us who live or work within earshot, these bells have become a reassuring thread of continuity that unites the neighborhood in an invisible sonic matrix of shared Time.</p>
<div class="framedcenter">
<img src="/images/rooftops-small.jpg" alt="The bell tower above the rooftops" width="300" height="190" />
<p class="caption">{bell tones wash over rooftops}</p>
</div>
<p>To make this recording, I recorded the ambient sounds of the neighborhood for a full day and edited them into overlapping &#8220;slices&#8221; of sound, one slice for each of the quarter-hour chimes (45 in all). The result is eleven hours of city sound smoothly compressed into about five minutes.</p>
<p>If you listen closely, you can hear every single one of the day&#8217;s bells (in all, 424 distinct strikes) in chronological order. Against this gentle textural backdrop, the sounds of city life ebb and flow: footsteps, voices, vehicles, birds, horns, jets, rain, thunder. Every now and then a brief lull in the bustle suggests a city pausing to take a breath. But the bells march on.</p>
<p>It&#8217;s good to live near bells like these. No matter how busy my day becomes, no matter how tangled up I get in the day&#8217;s affairs, whenever I remember to lift my attention and notice these chimes, I&#8217;m called back to the great mystery of Time. And for a fleeting moment, at least, the mind can stand still to savor something truly Timeless.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/small-sounds/a-day-of-bells/feed</wfw:commentRss>
		</item>
		<item>
		<title>e-Newsletter of 080429</title>
		<link>http://www.jtbullitt.com/projects/info/e-newsletter-of-080429</link>
		<comments>http://www.jtbullitt.com/projects/info/e-newsletter-of-080429#comments</comments>
		<pubDate>Tue, 29 Apr 2008 15:57:29 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[Info]]></category>

		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://jtb/projects/?p=107</guid>
		<description><![CDATA[<p>Welcome to the April 2008 edition of John B&#8217;s Increasingly Occasional e-Newsletter. Just two items in this issue:</p>

OPEN STUDIOS, MAY 3-4 2008
IF IT&#8217;S NOTARIZED, IT MUST BE TRUE


1. OPEN STUDIOS, MAY 3-4 2008

<p>It&#8217;s springtime in Somerville &#8212; which means it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to the April 2008 edition of John B&#8217;s Increasingly Occasional e-Newsletter. Just two items in this issue:</p>
<ol>
<li><a href='#item1'>OPEN STUDIOS, MAY 3-4 2008</a></li>
<li><a href='#item2'>IF IT&#8217;S NOTARIZED, IT MUST BE TRUE</a></li>
</ol>
<dl>
<dt><a id="item1" name="item1">1. OPEN STUDIOS, MAY 3-4 2008</a></dt>
<dd>
<p>It&#8217;s springtime in Somerville &#8212; which means it&#8217;s time once again for the annual city-wide Somerville Open Studios event!</p>
<p>Come visit my studio, where I&#8217;ll have a few new pieces on display, plus my on-going &#8220;Deep Earth Dome&#8221; sound installation. I&#8217;ll also be selling copies of the &#8220;Earth Sound&#8221; CD, and offering free gifts that range from the vacuous to the sublime. When you come, you can re-fuel with a handful of chocolate edible goodies and replenish your ears and heart with the soothing ambiance of Small Sounds from a Big World. </p>
<p>And don&#8217;t forget to visit the 40+ other Joy Street Artists in the building who will also be open! Here you&#8217;ll find painters, jewelers, glass artists, photographers, quiltmakers, 3-D printmakers &mdash; you name it. There&#8217;s something here for everyone.</p>
<dl>
<dt>When:</dt>
<dd>Saturday &amp; Sunday<br />
	May 3-4, 2008<br />
	Noon-6pm</dd>
<dt>Where:</dt>
<dd>Joy Street Artist Studios<br />
	86 Joy Street<br />
	Somerville, MA 02143<br />
	USA</dd>
<dt>Directions:</dt>
<dd><a href='http://www.joystreetartists.org'>Joy Street Artist Studios</a></dd>
</dl>
<dt><a id="item2" name="item2">2. IF IT&#8217;S NOTARIZED, IT MUST BE TRUE</a></dt>
<dd>
<p>Is &#8220;conceptual&#8221; art really &#8220;art&#8221;? I think I&#8217;ve laid this question to rest once and for all. I had my piece, &#8220;<a href='../../../objects/080321-this_is_a_work_of_art.html'>This is a Work of Art</a>&#8220;, officially notarized. Come see it during Open Studios and decide yourself.</p>
</dl>
<p>I hope to see you next weekend! </p>
<p>Until then, listen closely and savor the sweet and fleeting sounds of spring.</p>
<p class="tagline"> &mdash;  John </p>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/info/e-newsletter-of-080429/feed</wfw:commentRss>
		</item>
		<item>
		<title>This is a work of art</title>
		<link>http://www.jtbullitt.com/projects/tangible-intuitions/this-is-a-work-of-art</link>
		<comments>http://www.jtbullitt.com/projects/tangible-intuitions/this-is-a-work-of-art#comments</comments>
		<pubDate>Fri, 21 Mar 2008 14:57:18 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[Tangible intuitions]]></category>

		<guid isPermaLink="false">http://jtb/projects/?p=18</guid>
		<description><![CDATA[


		
	

		
	

<p class="caption">This is a Work of Art (2008) ~ laser print and ink on paperboard, with notary stamp and seal, 8.5&#8243;&#215;14&#8243;
</p>

]]></description>
			<content:encoded><![CDATA[<div class='framedcenter'>
<div class='imap' style='background-image:url(/objects/080321-this_is_a_work_of_art.gif);height:834px;width:500px;'>
<div class='rect1'>
		<a id='080321-detail.gif' title='(detail)' name='080321-detail.gif'></a>
	</div>
<div class='rect2'>
		<a id='080321-detail-2.gif' title='(detail)' name='080321-detail-2.gif'></a>
	</div>
</div>
<p class="caption">This is a Work of Art (2008) ~ laser print and ink on paperboard, with notary stamp and seal, 8.5&#8243;&times;14&#8243;
</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/tangible-intuitions/this-is-a-work-of-art/feed</wfw:commentRss>
		</item>
		<item>
		<title>Quickie: using SVN for website development</title>
		<link>http://www.jtbullitt.com/projects/tech/svn-for-website-development</link>
		<comments>http://www.jtbullitt.com/projects/tech/svn-for-website-development#comments</comments>
		<pubDate>Mon, 17 Mar 2008 11:08:52 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[Tools &amp; tech]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Quickies]]></category>

		<category><![CDATA[Webdev]]></category>

		<guid isPermaLink="false">http://tech.jtbullitt.com/?p=31</guid>
		<description><![CDATA[<p>It only took me about a decade, but I finally made the switch to using version control to manage the development of my websites. Looking back, I can only wonder why it took me so long. If you develop websites, [...]]]></description>
			<content:encoded><![CDATA[<p>It only took me about a decade, but I finally made the switch to using version control to manage the development of my websites. Looking back, I can only wonder why it took me so long. If you develop websites, large or small, and you don&#8217;t yet use <a href='http://subversion.tigris.org/' class='offsite'>Subversion</a> (or something like it), I <i>strongly</i> encourage to do so. Why? Here are just a few reasons:</p>
<ul>
<li>It provides a seamless way for several people to collaborate on the same project without stepping on each other&#8217;s toes. (Have you ever had a collaborator delete one of your crucial files?)</li>
<li>You can easily document the changes you make to your code.</li>
<li>If you make a mistake, You can easily &#8220;roll back&#8221; to an earlier version.</li>
</ul>
<p>Making the switch to Subversion is well worth the minimal effort required. (If <i>I</i> can do it, so can you.) This &#8220;Quickie&#8221; article will take you through (1) creating an online repository for your site; (2) creating a development site for doing live testing on your live server; and (3) using Subversion in routine development work. There are, doubtless, other, better, ways to accomplish all this, but this is what has worked for me.</p>
<h3>Requirements</h3>
<ul>
<li>Some basic grasp of what Subversion is, what it&#8217;s for, and (roughly) how to use it</li>
<li>Subversion installed on your server and on your local computers</li>
<li>A site (we&#8217;ll call it <code>www.example.com</code>) that&#8217;s already up and running on your Apache server. I&#8217;ll also assume your site lives in the server directory <code>~/example.com</code> (i.e., in your home directory)</li>
<li>You have login (shell) access to the server</li>
</ul>
<h3>Setup</h3>
<p>For starters, you&#8217;ll need to create two new sub-domains. Follow your web host&#8217;s instructions about how to do that:</p>
<ol>
<li>Create two new sub-domains: <code>svn.example.com</code> (for your svn repository) and <code>dev.example.com</code> (for your development site). [If you're using DreamHost, go to your webpanel and select <b>Domains &raquo; Manage Domains &raquo; Add New Domain/Sub-Domain</b>.] It&#8217;s a good idea to password-protect your dev site, so that only you and your co-developers have  access to your not-quite-ready-for-prime-time version of the site.</li>
<li>Create a new Subversion project. We&#8217;ll give it the id &#8220;myproject&#8221;, and install it to the <code>svn.example.com</code> URL. (Don&#8217;t forget the username and password you choose here!) [If you're using DreamHost, you can create a new Subversion project right from your webpanel:  select <b>Goodies &raquo; Subversion</b>.]</li>
</ol>
</li>
</ol>
<p>The rest of the setup happens through the login shell on your server. So log on to your server and do the following:</p>
<ol start='3'>
<li>To hide the Subversion directories from web browsers, create (or edit) the <code>.htaccess</code> file in <code>~/dev.example.com</code>. Add the following line:
<p class='code'>
RedirectMatch 403 /\.svn.*$
</p>
</li>
<li>Add this line also to the <code>.htaccess</code> file in <code>~/www.example.com</code>.</li>
<li>Create an empty trunk/branch/tag directory structure as the initial import into the project. (In the following, &#8220;YOURNAME&#8221; is your svn username.)
<p class='code'>
% cd<br />
% mkdir tmp<br />
% cd tmp<br />
% mkdir branches trunk tags<br />
% svn import . &#8211;username YOURNAME -m &#8220;initial import&#8221; \<br />
http://svn.example.com/myproject<br />
Authentication realm: &lt;http://svn.example.com:80&gt; My Project<br />
Password for &#8216;YOURNAME&#8217;: {enter password}<br />
Adding         trunk<br />
Adding         branches<br />
Adding         tags<br />
Committed revision 1.<br />
% cd ..<br />
% /bin/rm -fr tmp
</p>
</li>
<li>Now go ahead and import your current site (<code>www.example.com</code>) into the repository:
<p class='code'>
% cd ~/www.example.com<br />
% svn import . &#8211;username YOURNAME -m &#8220;importing website&#8221; \<br />
http://svn.example.com/myproject/trunk
</p>
<p>If your site contains some dirs that you want to exclude from the development version (e.g., wordPress),  you might prefer to import the site on a directory-by-directory basis:</p>
<p class='code'>
% cd ~/www.example.com<br />
% svn import ./keep_me1 &#8211;username YOURNAME \<br />
-m &#8220;importing keep_me1 directory&#8221; \<br />
http://svn.example.com/myproject/trunk/keep_me1<br />
% svn import ./keep_me2 &#8211;username YOURNAME \<br />
-m &#8220;importing keep_me2 directory&#8221; \<br />
http://svn.example.com/myproject/trunk/keep_me2
</p>
<p>Or, to be more efficient about it, you could run a little shell script like this:</p>
<p class='code'>
#!/bin/tcsh -f<br />
foreach d ( some_dir another_dir yet_another_dir  ) {<br />
	svn import $d &#8211;username YOURNAME -m &#8220;importing $d directory&#8221; \<br />
	http://svn.example.com/myproject/trunk/${d}<br />
}
</p>
</li>
<li>Checkout a working copy to the development site <code>(dev.example.com)</code>:
<p class='code'>% svn co http://svn.example.com/myproject/trunk ~/dev.example.com</p>
</li>
</ol>
<p>Your dev site <code>(dev.example.com)</code> now contains a full working copy of the latest revision of your site. </p>
<h3>Routine workflow</h3>
<ol>
<li>Checkout a working copy from the repository to your local machine. (I recommend the <a href='http://www.lachoseinteractive.net/en/community/subversion/svnx' class='offsite'>svnX</a> GUI client for the Mac.)</li>
<li>Develop and test your code, etc., on your local machine.</li>
<li>At logical stages (say, when you fix a bug or finish writing a new function), commit your changes to the repository. Some good habits to practice: (1) <i>Always</i> <code>update</code> your working copy before each <code>commit</code>. Always jot down a meaningful comment with each <code>commit</code>. (Instead of saying &#8220;Fixed a bug&#8221;, say &#8220;Fixed function Foo() in bar.php that had wrong mySQL query.&#8221;)</li>
<li>Log on to your server and update the development site:
<p class='code'>% svn up ~/dev.example.com</p>
</li>
<li>View the dev site. You may discover bugs on the dev site that weren&#8217;t apparent on your local machine. (They might be using different versions of Apache, PHP, mySQL, etc.) If there are bugs to be worked out, iron them out on  your local working copy (i.e., go back to Step 2).</li>
<li>If you&#8217;re satisfied that your dev site is good to go, then either checkout a copy to your live deployment site:
<p class='code'>% svn co http://svn.example.com/myproject/trunk ~/www.example.com</p>
<p>or update the copy already in your deployment site:</p>
<p class='code'>% svn up ~/www.example.com</p>
</li>
<li>Double-check that the deployment site (<code>http://www.example.com</code>) is working to your satisfaction. If it&#8217;s not, go back to Step 2. If it is OK, you&#8217;re  done!</li>
</ol>
<p>The development cycle is now much simpler and safer. If you go on the road, just checkout a working copy onto your laptop, make your changes, and commit them back to the repository when you get the chance. If you (or your collaborator) made a mistake 6 revisions ago, just tell <code>svn</code> to checkout or update to an earlier revision.</p>
<p>Nice!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/tech/svn-for-website-development/feed</wfw:commentRss>
		</item>
		<item>
		<title>Quickie: mySQL &#38; PhpMyAdmin setup</title>
		<link>http://www.jtbullitt.com/projects/tech/quick-and-dirty-mysql-phpmyadmin-setup</link>
		<comments>http://www.jtbullitt.com/projects/tech/quick-and-dirty-mysql-phpmyadmin-setup#comments</comments>
		<pubDate>Fri, 29 Feb 2008 22:32:58 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[Tools &amp; tech]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Quickies]]></category>

		<category><![CDATA[Webdev]]></category>

		<guid isPermaLink="false">http://tech.jtbullitt.com/?p=32</guid>
		<description><![CDATA[<p class='notebox'>
Note: For a much simpler, clearer, better tutorial on all this, please see &#8220;Working with PHP 5 in Mac OS X 10.5 (Leopard)&#8221;.</p>
<p>These notes are based on my experience installing and configuring mySQL and phpMyAdmin on my Mac (Dual [...]]]></description>
			<content:encoded><![CDATA[<p class='notebox'>
<span style='font-weight:bold;'>Note:</span> For a much simpler, clearer, better tutorial on all this, please see <a class='offsite' href="http://www.procata.com/blog/archives/2007/10/28/working-with-php-5-in-mac-os-x-105/">&#8220;Working with PHP 5 in Mac OS X 10.5 (Leopard)&#8221;</a>.</p>
<p>These notes are based on my experience installing and configuring <a class='offsite' href='http://www.mysql.com/'>mySQL</a> and <a class='offsite' href='http://www.phpmyadmin.net'>phpMyAdmin</a> on my Mac (Dual PowerPC G5 / OS X 10.4.11). Maybe they&#8217;ll also be helpful to you. They are no substitute for the &#8220;official&#8221; installation instructions. They are strictly &#8220;as-is&#8221;. Use at your own risk. Mileage may vary, etc.</p>
<dl>
<dt>Preliminaries:</dt>
<dd>
<ol>
<li>Make sure your local web server is turned on. (Open the &#8220;Sharing&#8221; panel in your System Preferences, and make sure the &#8220;Personal Web Sharing&#8221; item is checked. Note: this is where you can also change your computer&#8217;s name.)</li>
<li>Point your browser to <a href='http://localhost'>http://localhost</a> . If you haven&#8217;t already configured a local website, you&#8217;ll get the default Apache web page (<code>~/Sites/index.html</code>).</li>
</ol>
</dd>
<dt>Installing mySQL</dt>
<dd>
<ol>
<li><a class='offsite' href='http://www.mysql.com/'>Get the latest version</a>.</li>
<li>Double-click the <code>.dmg</code> file to mount the mySQL disk image</li>
<li>There are two mySQL packages in the disk image file. Double-click the one named <code>mysql-foo.pkg</code>, where <code>foo</code> contains this mySQL version number and your OS.</li>
<li>Follow the installer instructions. This installs mySQL in <code>/usr/local/mysql</code></li>
<li>Add <code>/usr/local/mysql/bin</code> to your shell&#8217;s search path (if you don&#8217;t know how to do this, see the <code>ReadMe.txt</code> file).</li>
<li>In Terminal:
<p class="code">
% sudo /usr/local/mysql/bin/mysqld_safe  # (enter password, if asked)<br />
% ^Z   # suspend the daemon<br />
% bg   # resume daemon as a background task
</p>
</li>
<li>Create mysql&#8217;s &#8220;root&#8221; user. In Terminal:
<p class="code">
% sudo mysqladmin -u root password somePassword
</p>
<p>Here &#8220;somePassword&#8221; is a password for mysql&#8217;s &#8220;root&#8221; user. This &#8220;root&#8221; is <i>not</i> the same as the system&#8217;s &#8220;root&#8221; user. Go figure. Read <a class='offsite' href='http://developer.apple.com/internet/opensource/osdb.html'>Apple&#8217;s docs</a> for more details.</p>
</li>
<li>Test the installation. In Terminal:
<p class="code">
% mysql -u root somePassword  	# test mysql
</p>
<p>This should spit out a list of mysql options and variable settings. If not, you&#8217;ll have to find some more in-depth docs. (Start with the <code>ReadMe.txt</code>.) Sorry.</p>
</li>
</ol>
</dd>
<dt>Installing PhpMyAdmin</dt>
<dd>
<ol>
<li><a class='offsite' href='http://www.phpmyadmin.net'>Get the latest version</a>.</li>
<li>Unzip the file into <code>~/Sites</code> .</li>
<li>This creates a directory with a long and hard-to-remember name. Rename it <code>phpMyAdmin</code>.</li>
<li>In Terminal:
<p class="code">
% cd ~/Sites/phpMyAdmin<br />
% mkdir config		# create directory for saving<br />
% chmod o+rw config	# give it world writable permissions
</p>
</li>
<li>Point your browser to <a href='http://localhost/~YOURUSERNAME/phpMyAdmin'>http://localhost/~YOURUSERNAME/phpMyAdmin</a> </li>
<li>You should see a &#8220;Welcome to phpMyAdmin&#8221; page. It will probably contain an &#8220;Access denied&#8221; error message because you haven&#8217;t created a config file. Click on the link to the &#8220;setup script&#8221;.</li>
<li>In the &#8220;Servers&#8221; row, click the &#8220;Add&#8221; button. To avoid having to enter a password each time you run phpMyAdmin, enter the mySQL &#8220;root&#8221; password in the &#8220;Password for config auth&#8221; field. You can accept all the other defaults. Click the green &#8220;Add&#8221; button.</li>
<li>Click the &#8220;Save&#8221; button in the &#8220;Configuration&#8221; row.</li>
<li>In terminal:
<p class='code'>
% cd ~/Sites/phpMyAdmin<br />
% mv config/config.inc.php .
</p>
<p>The phpMyAdmin docs go further, and ask you to do this:</p>
<p class='code'>
% chmod o-rw config.inc.php	# remove world read and write permissions
</p>
<p>But when I do that, phpMyAdmin is denied access. Since I&#8217;m hiding behind a firewall I&#8217;m not going to worry about those permissions right now&#8230;.</p>
</li>
</ol>
<p>If you point your browser to <a href='http://localhost/~YOURUSERNAME/phpMyAdmin'>http://localhost/~YOURUSERNAME/phpMyAdmin</a> you might get this error message:</p>
<p class='code'>
MySQL said:<br />
#2002 - The server is not responding<br />
(or the local MySQL server&#8217;s socket is not correctly configured)
</p>
<p>If so, do the following (courtesy of <a href="http://bvanscoter.blogspot.com/2007/10/pip-my-sequel-trouble.html" class='offsite'>Ben VanScoter</a>):</p>
<p class='code'>
% sudo mkdir /var/mysql<br />
% sudo ln /tmp/mysql.sock /var/mysql/mysql.sock<br />
% sudo apachectl graceful<br />
/usr/sbin/apachectl graceful: httpd gracefully restarted<br />
%
</p>
<p>Works for me.</p>
</dd>
</dl>
<p>Now you&#8217;ll be able to create and manage mySQL databases using phpMyAdmin, to your heart&#8217;s content.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/tech/quick-and-dirty-mysql-phpmyadmin-setup/feed</wfw:commentRss>
		</item>
		<item>
		<title>Quickie: virtual host setup</title>
		<link>http://www.jtbullitt.com/projects/tech/quickie-virtual-host-setup</link>
		<comments>http://www.jtbullitt.com/projects/tech/quickie-virtual-host-setup#comments</comments>
		<pubDate>Wed, 27 Feb 2008 03:05:15 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[Tools &amp; tech]]></category>

		<category><![CDATA[Mac]]></category>

		<category><![CDATA[Quickies]]></category>

		<category><![CDATA[Webdev]]></category>

		<guid isPermaLink="false">http://tech.jtbullitt.com/2008/02/26/quickie-virtual-host-setup/</guid>
		<description><![CDATA[<p>The Mac is a great platform for website development. You keep each site that you&#8217;re working on in a separate folder in your ~/Sites folder. You edit and debug them locally and then, when everything&#8217;s good to go, you just [...]]]></description>
			<content:encoded><![CDATA[<p>The Mac is a great platform for website development. You keep each site that you&#8217;re working on in a separate folder in your <code>~/Sites</code> folder. You edit and debug them locally and then, when everything&#8217;s good to go, you just ftp the files up to your live server, or commit your changes to your svn repository. Easy.</p>
<p>But eventually you may want to use server-side includes (SSI) to generate standard headers or footers on your pages. SSI are probably readily available on your webhost&#8217;s server, but to get them working on your Mac requires one small step: you have to configure Apache to activate a virtual server for each of your sites. Don&#8217;t panic; it&#8217;s easy to do.</p>
<p>Let&#8217;s say you have a site installed at <code>~yourname/Sites/project1</code>. And let&#8217;s say the site&#8217;s pages have a standard footer, which is contained in the file <code>~yourname/Sites/project1/includes/footer.html</code>. You&#8217;d like to be able to put the following SSI line in every file on your site:</p>
<p class='code'>&lt;!&#8211;#include virtual=&#8221;/includes/footer.html&#8221; &#8211;&gt;
</p>
<p>Trouble is, the server interprets that path as relative to the DocumentRoot setting in your Apache configuration. On the Mac, the default setting (in <code>/etc/httpd.conf</code>) is</p>
<p class='code'>DocumentRoot &#8220;/Library/WebServer/Documents&#8221;</p>
<p>So when you load a page from the site, the server looks for your footer in <code>/Library/WebServer/Documents/includes/footer.html</code>. Since that&#8217;s not where your footer lives, you&#8217;ll probably just get this unhelpful error:</p>
<p class='code'>[an error occurred while processing this directive]</p>
<p>You <i>could</i> move your includes into <code>/Library/WebServer/Documents</code>, but that&#8217;s a supremely bad idea; you&#8217;ll soon go crazy keeping track of all your files scattered across the filesystem. Instead, take 2 minutes to do things properly, by setting up a virtual host on your Mac. This will allow you to set the <code>DocumentRoot</code> for each of your web projects. Here&#8217;s how:</p>
<ol>
<li>Open Terminal and type: <code>cd /etc/httpd/users</code>.<br />
You should see a file in there with a name like <code>yourname.conf</code> where &#8220;yourname&#8221; is your Mac user name.</li>
<li>Type <code>sudo vi yourname.conf</code> and enter your password, if asked.</li>
<li>Insert the following lines at the end of the file
<p class='code'>NameVirtualHost 127.0.0.1:80<br />
&lt;VirtualHost project1&gt;<br />
	ServerName project1<br />
	DocumentRoot /Users/yourname/Sites/project1<br />
&lt;/VirtualHost&gt;
</p>
<p>(If you have more sites, just add more &lt;VirtualHost&gt; blocks.)</p>
<li>Save and quit (type <code>:wq</code>)</li>
<li>Restart Apache: <code>sudo apachectl graceful</code></li>
<li>Finally, edit your hosts file (<code>sudo vi /etc/hosts</code>) and insert the following lines at the end:
<p class='code'>127.0.0.1       project1
</p>
<p>(If you have more sites, just add more lines in that format. For example, <code>127.0.0.1       project2</code>, etc.)</p>
</li>
<li>Now  point your browser to <a href='http://project1'>http://project1</a> and your SSI include files will be correctly displayed.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/tech/quickie-virtual-host-setup/feed</wfw:commentRss>
		</item>
		<item>
		<title>Oceanic ambience</title>
		<link>http://www.jtbullitt.com/projects/small-sounds/oceanic-ambience</link>
		<comments>http://www.jtbullitt.com/projects/small-sounds/oceanic-ambience#comments</comments>
		<pubDate>Sun, 06 Jan 2008 22:29:02 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[Small sounds]]></category>

		<category><![CDATA[Ocean]]></category>

		<category><![CDATA[Water]]></category>

		<guid isPermaLink="false">http://www.jtbullitt.com/smallsounds/?p=30</guid>
		<description><![CDATA[

<p class="caption"></p>

<p>Gaze out across the ocean on a calm, sunny day, and you might be forgiven for believing the sea to be a tranquil place. But as every snorkeler or diver knows,  the shallow coastal waters are abuzz with [...]]]></description>
			<content:encoded><![CDATA[<div class="framedleft">
<img src="/images/AnseMamin.jpg" alt="Surf at Singing Beach" width="300" height="198" />
<p class="caption"></p>
</div>
<p>Gaze out across the ocean on a calm, sunny day, and you might be forgiven for believing the sea to be a tranquil place. But as every snorkeler or diver knows,  the shallow coastal waters are abuzz with life and drama.</p>
<p>I made this recording in about 5 meters (15 feet) of water, at the end of a concrete pier some 50 meters (150 feet) from shore near <a class='offsite' href='http://maps.google.com/maps?f=q&#038;hl=en&#038;geocode=&#038;time=&#038;date=&#038;ttype=&#038;q=soufriere,+st+lucia&#038;sll=37.0625,-95.677068&#038;sspn=66.915969,86.132812&#038;ie=UTF8&#038;ll=13.86795,-61.078572&#038;spn=0.005125,0.007017&#038;t=h&#038;z=18&#038;om=1'>Anse Mamin</a> on the west coast of St Lucia in the Caribbean Sea. During a brief lull in boat traffic (sadly, a rare event in popular tropical tourist destinations like the Caribbean) the natural undersea sounds burst forth.</p>
<p>Behind the delicious <i>slurp</i> of gentle currents washing past the hydrophones and concrete pilings of the pier, you can hear the pops, snaps, grunts, whines, and sputterings from a host of small creatures prowling and grazing on the coral reefs nearby. I&#8217;m sure a marine biologist could name them all, but for now let&#8217;s just listen with eyes closed, and soak up this lively oceanic ambience.<span class="noteTag"><a href="#n-1" name="t-1" id="t-1">1</a></span></p>
<div class='footNotes'>
<h1>Notes</h1>
<div class='note'>
		<span class='noteLabel'><a href="#t-1" name="n-1" id="n-1">1</a>.</span> I couldn&#8217;t help but dig a little deeper into the cause of that persistent loud crackling and popping. It turns out that this is the sound of snapping shrimp (genus <em>Alpheus</em>), a ubiquitous inhabitant of shallow tropical seas. This creature, which grows no larger than your little finger, has the remarkable ability to stun its prey with sound, in a way that modern science has only recently begun to understand: it snaps shut its claw so fast that it actually creates a hole &mdash; a steam bubble &mdash; in the water itself. The bubble immediately collapses, releasing a flash of light and a violent pulse of sound into the surrounding water. Woe to any little coral fish that drifts within range of this deadly sonic blast! (&#8221;How Snapping Shrimp Snap: Through Cavitating Bubbles&#8221;, by Michel Versluis, Barbara Schmitz, Anna von der Heydt, and  Detlef Lohse (<b>Science</b>, 22 September 2000; Vol. 289. no. 5487, pp. 2114-2117).)
	</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/small-sounds/oceanic-ambience/feed</wfw:commentRss>
		</item>
		<item>
		<title>New year&#8217;s bells</title>
		<link>http://www.jtbullitt.com/projects/small-sounds/new-years-bells</link>
		<comments>http://www.jtbullitt.com/projects/small-sounds/new-years-bells#comments</comments>
		<pubDate>Thu, 03 Jan 2008 16:24:08 +0000</pubDate>
		<dc:creator>John Bullitt</dc:creator>
		
		<category><![CDATA[Small sounds]]></category>

		<category><![CDATA[Human]]></category>

		<category><![CDATA[Machine]]></category>

		<guid isPermaLink="false">http://www.jtbullitt.com/smallsounds/?p=29</guid>
		<description><![CDATA[<p>It&#8217;s a few minutes before 9am on New Year&#8217;s day, and I&#8217;m standing on Day Street in Somerville, about halfway between Orchard Street (on my right) and the Davis Square post office (to my left). The post office is about [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>It&#8217;s a few minutes before 9am on New Year&#8217;s day, and I&#8217;m standing on Day Street in Somerville, about halfway between Orchard Street (on my right) and the Davis Square post office (to my left). The post office is about a block away. There&#8217;s a Catholic church on Mass. Ave (to my right), a few blocks away that chimes the time every 15 minutes, starting at 9 am.</p>
<p>There&#8217;s a sweet spot right around here where you can hear the bells chime in one ear, followed by the echo off the post office in the other ear. It&#8217;s quite a wonderful sound. It&#8217;s quiet enough this morning that we may be able to catch it. So let&#8217;s just listen&#8230;</p>
<p>That&#8217;s it. Happy New Year!
</p></blockquote>
<div class="framedcenter">
<iframe width="425" height="240" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps/sv?cbp=1,428.31206157811204,,0,5&amp;cbll=42.395394,-71.123896&amp;panoid=A87l_FuLFOe5HZjp1wMsEw&amp;v=1&amp;hl=en&amp;gl=us"></iframe><br /><small><a href="http://maps.google.com/maps?f=q&amp;hl=en&amp;geocode=&amp;time=&amp;date=&amp;ttype=&amp;q=day+street,+somerville&amp;sll=37.0625,-95.677068&amp;sspn=71.1887,63.369141&amp;ie=UTF8&amp;ll=42.406411,-71.129007&amp;spn=0.008335,0.007735&amp;t=h&amp;z=14&amp;om=0&amp;layer=c&amp;cbll=42.395394,-71.123896&amp;cbp=1,428.31206157811204,,0,5&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small>
<p class="caption">Looking toward the post office (the four-story brick building at center). <br />It&#8217;s a marvelous reflector of city sounds.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.jtbullitt.com/projects/small-sounds/new-years-bells/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
