<?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>Marty Spellerberg</title>
	<atom:link href="http://martyspellerberg.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://martyspellerberg.com</link>
	<description>Development and Design</description>
	<lastBuildDate>Sun, 18 Jul 2010 16:43:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>New website for artist Flavio Trevisan</title>
		<link>http://martyspellerberg.com/2010/07/new-website-for-artist-flavio-trevisan/</link>
		<comments>http://martyspellerberg.com/2010/07/new-website-for-artist-flavio-trevisan/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 16:40:02 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=881</guid>
		<description><![CDATA[I&#8217;m happy to announce a new website for Toronto-based artist Flavio Trevisan. Flavio makes sculptures, mostly, based on maps. The site is a pretty straight-forward WordPress implementation. Check it out!]]></description>
			<content:encoded><![CDATA[<p><a href="http://flaviotrevisan.com/"><img src="http://martyspellerberg.com/files/2010/07/flaviotrevisan2.jpg" alt="Flavio Trevisan website" /></a></p>
<p>I&#8217;m happy to announce a new website for Toronto-based artist Flavio Trevisan. Flavio makes sculptures, mostly, based on maps. The site is a pretty straight-forward WordPress implementation. <a href="http://flaviotrevisan.com/">Check it out!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/07/new-website-for-artist-flavio-trevisan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Migrating Directory Structures of Existing Blogs into a WordPress 3.0 Network</title>
		<link>http://martyspellerberg.com/2010/07/migrating-directory-structures-of-existing-blogs-into-a-wordpress-3-0-network/</link>
		<comments>http://martyspellerberg.com/2010/07/migrating-directory-structures-of-existing-blogs-into-a-wordpress-3-0-network/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 21:07:56 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[MediaTemple]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=814</guid>
		<description><![CDATA[The WordPress Network adventures continue! In migrating existing sites, I found myself facing the challenge of keeping existing non-WP directory structures in place. In one case I had a WordPress site that had non-WP directories littering the root directory, and in another WordPress was installed not in the root but in a sub-directory. In the [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://martyspellerberg.com/2010/06/wordpress-3-0-network-domain-name-mapping-on-mediatemple/">WordPress Network adventures</a> continue! In migrating existing sites, I found myself facing the challenge of keeping existing non-WP directory structures in place. In one case I had a WordPress site that had non-WP directories littering the root directory, and in another WordPress was installed not in the root but in a sub-directory. </p>
<p>In the first case I did not find an acceptable solution, but in the second case I did. (I should mention that my network uses the sub-domain structure.)</p>
<h3>Case 1: Non-WordPress directories in the root</h3>
<p>In this case, WP is installed at the root: <code>example.com/</code>. I also have directories at that level &#8212; <code>example.com/foo</code> &#8212; that contain what might be described as stand-alone, non-WP micro-sites. In the non-network install, WP was being cool and not interfering with them.</p>
<p>Moving it into the network, the site becomes number <code>x</code>. Since <code>blogs.dir/x/files</code> is served as <code>example.com/files</code>, I had hoped I could simply move the directories over as <code>blogs.dir/x/foo</code> and have them served as <code>example.com/foo</code>, but <strong>no dice</strong>.</p>
<p>What you CAN do is put the directories in the network root. The upside is that they appear as intended for the domain in question. The downside is that they appear for ALL domains in the network. In my case that&#8217;s unacceptable.</p>
<p>I&#8217;m hoping that in the future a plugin appears to address this issue, but for now the verdict is that it&#8217;s not possible. If you or someone you know is working on a plug-in for this, I&#8217;d happily put some beer money towards the cause!</p>
<h3>Case 2: WordPress installed in a sub-directory</h3>
<p>In this case, I have a domain where WP is installed in a sub-directory &#8212; <code>example.com/foo/</code> &#8212; and a lot is going on in the other sub-directories. I wanted to migrate the blog without messing up the other directories.</p>
<p>So I created a symbolic link in place of the <code>/foo</code> folder to serve up the network site. Since I&#8217;m on MediaTemple, I used the directions in the <a href="http://kb.mediatemple.net/questions/63/Pointing+Multiple+Domains+to+the+Same+Alternate+Domain+Folder">trusty KB article</a> to create the link. I navigated to the <code>html</code> folder of <code>example.com</code> and did:</p>
<p><code>ln -s /home/####/domains/wordpress-domain.com/html foo</code></p>
<p>(<code>###</code> being my server number, <code>wordpress-domain.com</code> being the domain where my WP network is installed, and <code>foo</code> being the directory in question)</p>
<p>When I mapped the domain (using the Domain Mapping plugin), I did so as <code>example.com/foo</code>. And under site properties I added <code>/foo</code> to the path. Doing these things lets me pull up the homepage. Awesome! </p>
<p>But there were two problems: logging-in, and permalinks.</p>
<h4>Logging-in</h4>
<p>With this mapping, I couldn&#8217;t log-in to the site. The problem appears to be that there was a discrepancy between the directory WP thought it was trying to log-in to, <code>/foo/</code>, and the directory where it was actually located, the root.</p>
<p>There&#8217;s <a href="http://wordpress.org/extend/plugins/root-cookie-path-subdomains/">a plug-in for that</a>! From the description: &#8220;By default the wordpress cookie exactly matches the URL of your installation, this plugin removes any subfolders from the cookie so that your whole domain has access to it.&#8221;</p>
<p>Be sure to only activate the plug-in for the site in question and not your root site.</p>
<h4>Pretty Permalinks</h4>
<p>I ran into trouble when I clicked a permalink, or otherwise left the start directory as the rewrite rules from the WP domain&#8217;s <code>.htaccess</code> weren&#8217;t being applied.</p>
<p>So I grabbed some mod_rewrite code from a test installation, and compared it to that from the root domain. I determined which lines were needed for the file uploads, and which for the permalinks. The problem is that the last line, essential for the permalinks, redirects all requests (the &#8220;.&#8221; matches any character) through wordpress &#8212; including those to the domains we&#8217;re trying not to touch!</p>
<p>The way I managed to do it was to put in exceptions for the files and folders I wanted left alone. I would have preferred not to do it this way as it means I have to include a line for each one, but for the scale of the site I was dealing with it was no big deal. If someone knows of a solution that doesn&#8217;t involve exclusions, please let me know!</p>
<p>Here&#8217;s the finished mod_rewrite:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="text" style="font-family:monospace;">RewriteEngine On
RewriteBase /foo/
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
&nbsp;
# here's the format for excluding files in the root
RewriteCond %{REQUEST_URI} !^.somefile\.html
&nbsp;
# and here's the format for excluding directories
RewriteCond %{REQUEST_URI} !^/somedirectory
&nbsp;
RewriteRule . /foo/index.php [L]</pre></td></tr></table></div>

<p>And that&#8217;s it! I imported the site and now I&#8217;ve one less WP install to worry about. The site in question for this case, by-the-way, was <a href="http://halfempty.com/wp/">halfempty.com/wp/</a>.</p>
<p>Any questions or comments, please let me know. I hope this helps you in your own projects.</p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/07/migrating-directory-structures-of-existing-blogs-into-a-wordpress-3-0-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 3.0 Network Domain Name Mapping on MediaTemple</title>
		<link>http://martyspellerberg.com/2010/06/wordpress-3-0-network-domain-name-mapping-on-mediatemple/</link>
		<comments>http://martyspellerberg.com/2010/06/wordpress-3-0-network-domain-name-mapping-on-mediatemple/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 02:25:22 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[MediaTemple]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=811</guid>
		<description><![CDATA[Updated June 27. I&#8217;m really excited about the new Network feature in WordPress 3, which allows you to run many sites off the same install. I&#8217;m hoping this makes it easier to keep my friends&#8217; sites up-to-date and malware free. I installed WordPress at 0003.org and am running the second site kateschneider.net off of it. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Updated June 27.</strong></p>
<p>I&#8217;m really excited about the new Network feature in WordPress 3, which allows you to run many sites off the same install. I&#8217;m hoping this makes it easier to keep my friends&#8217; sites up-to-date and malware free.</p>
<p>I installed WordPress at <a href="http://0003.org/">0003.org</a> and am running the second site <a href="http://www.kateschneider.net/">kateschneider.net</a> off of it. Here&#8217;s how:</p>
<p>1. Follow the <a href="http://codex.wordpress.org/Installing_WordPress">standard WordPress installation instructions</a>. Give some thought to where you want to put this, as you won&#8217;t want to change it later.</p>
<p>2. Follow the codex instructions to <a href="http://codex.wordpress.org/Create_A_Network">Create A Network</a>. You have a choice between subfolders and subdomains; <del datetime="2010-06-25T00:29:18+00:00">I went with subfolders.</del> Subfolders turned out to be a problem for root-relative links in sites whose domains aren&#8217;t yet attached, so I re-started with subdomains.</p>
<p>3. Go ahead and add the second site using Super Admin -&gt; Sites.</p>
<p>4. Next, follow <a href="http://ottopress.com/2010/wordpress-3-0-multisite-domain-mapping-tutorial/">Otto&#8217;s Domain Mapping plugin tutorial</a>. <del datetime="2010-06-28T03:24:06+00:00">I found you don&#8217;t need to use the &#8220;mu-plugins&#8221; folder,</del> It turns out there is <a href="http://wpmututorials.com/basics/what-is-the-mu-plugins-folder/">a good reason to use the mu-plugins folder</a> and it stands not for &#8220;multiuser&#8221; but &#8220;Must Use&#8221;; <del datetime="2010-06-25T00:29:18+00:00">but IMPORTANTLY, you DO need to use the <a href="http://plugins.svn.wordpress.org/wordpress-mu-domain-mapping/trunk/">trunk version</a> rather than the standard version.</del> It looks like they&#8217;ve updated the plug-in so now it&#8217;s cool.</p>
<p>5. Otto says that when it comes to mapping the domain, all hosts are different. MediaTemple users will want to follow the KB instructions for <a href="http://kb.mediatemple.net/questions/63/Pointing+Multiple+Domains+to+the+Same+Alternate+Domain+Folder">Pointing Multiple Domains to the Same Alternate Domain Folder</a>. (In their example, &#8220;mt-example.com&#8221; would be the name of the domain where you&#8217;ve installed WordPress, and &#8220;alt-example.com&#8221; the second site.)</p>
<p>6. Finally, go back Super Admin -&gt; Sites and Edit the second site. Under Site Info there&#8217;s a checkbox for &#8220;Update siteurl and home as well&#8221;; uncheck that. Then scroll down and update the Siteurl and Home fields with the proper domain name.</p>
<p>That&#8217;s it &#8212; one WordPress, two sites! I hope the instructions make sense; please let me know if they don&#8217;t.</p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/06/wordpress-3-0-network-domain-name-mapping-on-mediatemple/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>jQuery Extract Headings for Tab Controls</title>
		<link>http://martyspellerberg.com/2010/06/jquery-extract-headings-for-tab-controls/</link>
		<comments>http://martyspellerberg.com/2010/06/jquery-extract-headings-for-tab-controls/#comments</comments>
		<pubDate>Sun, 20 Jun 2010 21:07:05 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=804</guid>
		<description><![CDATA[Hi there. I posted previously about making jQuery tabs, but this week I found myself wanting take that code a bit further. In the old version, the &#8220;controls&#8221; were written out in a ul above the slides. It got the job done, but wasn&#8217;t ideal from a progressive-enhancement point of view (non-JS don&#8217;t really have [...]]]></description>
			<content:encoded><![CDATA[<p>Hi there. I <a href="/2009/12/simple-jquery-showhide-tabs/">posted previously</a> about making jQuery tabs, but this week I found myself wanting take that code a bit further. In the old version, the &#8220;controls&#8221; were written out in a <strong>ul</strong> above the slides. It got the job done, but wasn&#8217;t ideal from a progressive-enhancement point of view (non-JS don&#8217;t really have much need for them, so they really shouldn&#8217;t be there for those users).</p>
<p>In this version we&#8217;re going to include an <strong>h3</strong> at the top of each slide and have jQuery pull those out to make the <strong>ul</strong> controls. The HTML is like so:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div id=&quot;slides&quot;&gt;
	&lt;div class=&quot;slide&quot;&gt;
		&lt;h3&gt;Slide 1&lt;/h3&gt;
		&lt;p&gt;This is the content of slide one&lt;/p&gt;
	&lt;/div&gt;
	&lt;div class=&quot;slide&quot;&gt;
		&lt;h3&gt;Slide 2&lt;/h3&gt;
		&lt;p&gt;This is the content of slide two&lt;/p&gt;
	&lt;/div&gt;
&lt;/div&gt;</pre></td></tr></table></div>

<p>And the jQuery (the new action is in the first fifteen lines):</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// Insert the wrapper for the controls</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slides'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">before</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;ul id=&quot;slidecontrols&quot;&gt;&lt;/ul&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">//For each heading...</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slides div.slide &gt; h3'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #006600; font-style: italic;">// Copy it into the controls</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">clone</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">appendTo</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#slidecontrols&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #006600; font-style: italic;">// and replace the heading markup with list markup, keeping the contained text</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slidecontrols h3'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">replaceWith</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&lt;li&gt;&lt;a href=&quot;#&quot;&gt;'</span> <span style="color: #339933;">+</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'&lt;/a&gt;&lt;/li&gt;'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// Hide those H3s</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.slide &gt; h3'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">//Set the initial state: highlight the first button...</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slidecontrols'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'li:eq(0)'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'selected'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">//and hide all slides except the first one</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slides'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&gt; div:eq(0)'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">nextAll</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">//actions that apply on click of any of the buttons</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slidecontrols li'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">//turn off the link so it doesn't try to jump down the page</span>
		event.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">//un-highlight the buttons</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slidecontrols li'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">removeClass</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">//hide all the slides</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slides &gt; div'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">hide</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">//highlight the current button</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">addClass</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'selected'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">//get the index of the current button...</span>
		<span style="color: #003366; font-weight: bold;">var</span> index <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slidecontrols li'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">index</span><span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">//and use that index to show the corresponding slide</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'#slides &gt; div:eq('</span><span style="color: #339933;">+</span>index<span style="color: #339933;">+</span><span style="color: #3366CC;">')'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">show</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Happy coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/06/jquery-extract-headings-for-tab-controls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Half Empty #1 and #2 now online</title>
		<link>http://martyspellerberg.com/2010/06/half-empty-1-and-2-now-online/</link>
		<comments>http://martyspellerberg.com/2010/06/half-empty-1-and-2-now-online/#comments</comments>
		<pubDate>Sun, 13 Jun 2010 21:39:51 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=791</guid>
		<description><![CDATA[As I mentioned previously, I’ve been migrating the Half Empty archive into a WordPress implementation. I am happy to announce that all material from the paper magazines Half Empty #1 and Half Empty #2 is now online! Half Empty #1, published in 2003, includes a roundtable discussion on Art In Retail with views from Jeremy [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://martyspellerberg.com/files/2010/06/halfempty1cover1.jpg" alt="" width="700" height="589" class="alignnone size-full wp-image-796" /></p>
<p>As I <a href="/2010/05/half-empty-3-now-online/">mentioned previously</a>, I’ve been migrating the Half Empty archive into a WordPress implementation. I am happy to announce that all material from the paper magazines Half Empty #1 and Half Empty #2 is now online!</p>
<p>Half Empty #1, published in 2003, includes a roundtable discussion on <a href="http://halfempty.com/wp/2003/05/art-in-retail/">Art In Retail</a> with views from Jeremy Bailey and Sebastien Agneessens; a fashion story illustrated by <a href="http://halfempty.com/wp/2003/06/the-olyndian-games/">Jon Burgerman</a>; interviews with television producer <a href="http://halfempty.com/wp/2003/06/reprezentin/">Jen Podemski</a>, typographer <a href="http://halfempty.com/wp/2003/06/cafeteria-goods/">Pablo Medina</a> and artists <a href="http://halfempty.com/wp/2003/06/mumble-pop/">Kinya Hanada</a> and <a href="http://halfempty.com/wp/2003/06/do-you-ikuchiku/">Ilan Katin</a>; plus lots of original art.</p>
<p>Half Empty #2, published in 2004, includes a roundtable discussion on <a href="http://halfempty.com/wp/2004/04/commissioning-street-art/">Commissioning Street Art</a> moderated by the Wooster Collective; an interview with <a href="http://halfempty.com/wp/2004/04/the-genius-who-brought-yellow-snow-to-the-web/">Karl Ackerman</a>; a look at <a href="http://halfempty.com/wp/2004/04/first-friday-in-phoenix-az/">First Fridays in Phoenix, AZ</a>; artist statements by <a href="http://halfempty.com/wp/2004/04/meet-the-centerfold-inksurge/">Inksurge</a> and <a href="http://halfempty.com/wp/2004/04/meet-the-covergirl-jaime-leblanc/">Jaime Leblanc</a>; reviews of books <a href="http://halfempty.com/wp/2004/04/type-typeography-fine-print-highlights-from-matrix/">Type &amp; Typeography</a> and <a href="http://halfempty.com/wp/2004/04/index-a-a-collection-of-ideas-images-and-intuition/">Charles Wilkin&#8217;s Index-A</a>; and much more.</p>
<p>In addition to the HTML posts, PDFs can be downloaded from the <a href="http://halfempty.com/wp/half-empty-1/">Half Empty #1</a> and <a href="http://halfempty.com/wp/half-empty-2/">Half Empty #2</a> pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/06/half-empty-1-and-2-now-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First iPad Drawings</title>
		<link>http://martyspellerberg.com/2010/05/first-ipad-drawings/</link>
		<comments>http://martyspellerberg.com/2010/05/first-ipad-drawings/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 02:52:34 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Comics]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=785</guid>
		<description><![CDATA[Here are the first sketches I&#8217;ve made on my iPad! I used a program called Sketchbook Pro, and drew with my finger. I read the reviews comparing Brushes and Sketchbook Pro, and settled on the latter. I like it, and afterward I saw Jim Lee has been using it, which removed any doubt in my [...]]]></description>
			<content:encoded><![CDATA[<p>Here are the first sketches I&#8217;ve made on my iPad! I used a program called Sketchbook Pro, and drew with my finger.</p>
<p><img src="http://martyspellerberg.com/files/2010/05/Sketch-2010-05-30-00_09_01.png" alt="" /></p>
<p><img src="http://martyspellerberg.com/files/2010/05/Sketch-2010-05-28-21_38_30.png" alt="" /></p>
<p>I read the reviews comparing Brushes and Sketchbook Pro, and settled on the latter. I like it, and afterward I saw Jim Lee has been using it, which removed any doubt in my mind.</p>
<p>I&#8217;m working on an idea for a comic, but I don&#8217;t want to say too much about it yet. I hope it&#8217;ll make a good summer project &#8212; a comic all drawn on the iPad!</p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/05/first-ipad-drawings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ModX Snippet for a simple jQuery Flickr fade-in/out slideshow</title>
		<link>http://martyspellerberg.com/2010/05/modx-snippet-for-a-simple-jquery-flickr-fade-inout-slideshow/</link>
		<comments>http://martyspellerberg.com/2010/05/modx-snippet-for-a-simple-jquery-flickr-fade-inout-slideshow/#comments</comments>
		<pubDate>Fri, 21 May 2010 20:49:39 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=774</guid>
		<description><![CDATA[Hello! I posted previously about a simple jQuery slideshow I created for accessing sets on Flickr. To use it at work, where we&#8217;re running ModX CMS, I turned it into an easily-reusable &#8220;snippet.&#8221; You can see it in action here. Here&#8217;s what you do: Call jQuery in the head of your template. As of this [...]]]></description>
			<content:encoded><![CDATA[<p>Hello! I <a href="http://martyspellerberg.com/2010/05/jaime-leblanc-photographer-website/">posted previously</a> about a simple jQuery slideshow I created for accessing sets on Flickr. To use it at work, where we&#8217;re running <a href="http://modxcms.com/">ModX CMS</a>, I turned it into an easily-reusable &#8220;snippet.&#8221; You can <a href="http://www.ago.net/artrental-photography">see it in action here</a>.</p>
<h3>Here&#8217;s what you do:</h3>
<ol>
<li>Call jQuery in the head of your template. As of this writing I&#8217;m using 1.3;</li>
<li>Upload the <a href="http://martyspellerberg.com/files/2010/05/flickr_api.inc.php_.txt">Flickr API library</a> to your server and call it something like &#8220;flickr_api.inc.php&#8221;. It is a very slightly modified version of <a href="http://toys.lerdorf.com/archives/34-Flickr-API-Fun.html">Rasmus Lerdorf’s PHP5 Flickr_API</a>;</li>
<li>Upload the <a href="http://martyspellerberg.com/files/2010/05/flickrslideshow.js.txt">jQuery slideshow</a> to your server and call it something like &#8220;flickrslideshow.js&#8221;. An explination of the jQuery can be found in <a href="http://martyspellerberg.com/2010/05/simple-jquery-fade-infade-out-slideshow/">a previous post</a>;</li>
<li>Create a new snippet called &#8220;flickr-slideshow&#8221;. The contents of that snippet is bellow;</li>
<li>And finally, call the snippet like so: [[flickr-slideshow? &#038;photoset=`XXXXXXXXXXXXXXXXX`]], replacing, of course, the XXXs with the ID of the Flickr set.</li>
</ol>
<h3>The contents of the &#8220;flickr-slideshow&#8221; snippet:</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Get the photoset from the snippet call</span>
<span style="color: #000088;">$photoset</span> <span style="color: #339933;">=</span> <span style="color: #990000;">isset</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$photoset</span><span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$photoset</span> <span style="color: #339933;">:</span> <span style="color: #0000ff;">''</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Your path to to the Flickr API library </span>
<span style="color: #b1b100;">include_once</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;pathto/flickr_api.inc.php&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Your API key	</span>
<span style="color: #000088;">$secrets</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'api_key'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'</span><span style="color: #339933;">,</span><span style="color: #0000ff;">'api_secret'</span><span style="color: #339933;">=&gt;</span><span style="color: #0000ff;">'XXXXXXXXXXXXXXXX'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Create an instance of the Flickr class, using your credentials</span>
<span style="color: #000088;">$flickr</span> <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> Flickr<span style="color: #009900;">&#40;</span><span style="color: #000088;">$secrets</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Load the set we're looking for into an array</span>
<span style="color: #000088;">$photos</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$flickr</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">photosetsGetPhotos</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$photoset</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Start a counter</span>
<span style="color: #000088;">$counter</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Get the total number of photos in the set</span>
<span style="color: #000088;">$photocount</span> <span style="color: #339933;">=</span> <span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$photos</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'photos'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// A wrapper div, used by the jQuery</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;div class=&quot;flickrslideshow&quot;&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Now to loop through the photos in the set...</span>
<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$photos</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'photos'</span><span style="color: #009900;">&#93;</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$photo</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Get the path to the image</span>
<span style="color: #000088;">$url</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$flickr</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">getPhotoURL</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$photo</span><span style="color: #339933;">,</span><span style="color: #0000ff;">''</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Get the image info</span>
<span style="color: #000088;">$info</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$flickr</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">photosGetInfo</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$photo</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'id'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Another div for the jQuery</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;div&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Output the image tag, with the title as the alt</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;span class=&quot;image&quot;&gt;&lt;img src=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$url</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; alt=&quot;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; /&gt;&lt;/span&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;p class=&quot;caption&quot;&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// If the photo has a title, output that...</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;strong&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'title'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'.&lt;/strong&gt; '</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// and ditto for the descrition.</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'description'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">' '</span><span style="color: #339933;">.</span><span style="color: #000088;">$info</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'description'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;/p&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Output the count</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;p class=&quot;controls&quot;&gt;Image '</span><span style="color: #339933;">.</span><span style="color: #000088;">$counter</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' of '</span><span style="color: #339933;">.</span><span style="color: #000088;">$photocount</span><span style="color: #339933;">.</span><span style="color: #0000ff;">' | '</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Set up some numbers to use for the prev/next controls</span>
<span style="color: #000088;">$counterprev</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$counter</span> <span style="color: #339933;">-</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$counternext</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$counter</span> <span style="color: #339933;">+</span> <span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Output the &quot;previous&quot; control</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$counterprev</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;a href=&quot;#'</span><span style="color: #339933;">.</span><span style="color: #000088;">$counterprev</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; class=&quot;prev&quot;&gt;Prev&lt;/a&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Output a separator, if needed</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$counterprev</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$counternext</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$photocount</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">' / '</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Output the &quot;next&quot; control</span>
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$counternext</span> <span style="color: #339933;">&lt;=</span> <span style="color: #000088;">$photocount</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">' &lt;a href=&quot;#'</span><span style="color: #339933;">.</span><span style="color: #000088;">$counternext</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&quot; class=&quot;next&quot;&gt;Next&lt;/a&gt;'</span><span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;/p&gt;&lt;/div&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Iterate the counter</span>
<span style="color: #000088;">$counter</span><span style="color: #339933;">++;</span>
&nbsp;
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Include the jQuery slideshow code (change to match the path on your server, of course)</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;script type=&quot;text/javascript&quot; src=&quot;/pathto/flickrslideshow.js&quot;&gt;&lt;/script&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;/div&gt;'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<p>This could be improved in a myriad of ways. For instance, the presentation layer could be abstracted out into ModX chunks and the jQuery could be made to insert the markup which is essentially redundant in the no-script view.</p>
<p>If you notice any errors please post in the comments. As always, I hope that seeing this helps you in your own coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/05/modx-snippet-for-a-simple-jquery-flickr-fade-inout-slideshow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New website for OPSEU Local 535</title>
		<link>http://martyspellerberg.com/2010/05/new-website-for-opseu-local-535/</link>
		<comments>http://martyspellerberg.com/2010/05/new-website-for-opseu-local-535/#comments</comments>
		<pubDate>Sat, 15 May 2010 19:20:00 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=763</guid>
		<description><![CDATA[As an employee of the Art Gallery of Ontario, I am a member of OPSEU Local 535. I got involved this year as part of the communication committee, designing the Local&#8217;s newsletter and, recently, website. Check it out!]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.opseu535.org/"><img src="http://martyspellerberg.com/files/2010/05/thelocal.jpg" alt="Opseu Local 535 website" /></a></p>
<p>As an employee of the Art Gallery of Ontario, I am a member of OPSEU Local 535. I got involved this year as part of the communication committee, designing the Local&#8217;s newsletter and, recently, website. <a href="http://www.opseu535.org/">Check it out!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/05/new-website-for-opseu-local-535/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Midi Onodera at the Archive and Everyday Life Conference and Exhibition</title>
		<link>http://martyspellerberg.com/2010/05/midi-onodera-at-the-archive-and-everyday-life-conference-and-exhibition/</link>
		<comments>http://martyspellerberg.com/2010/05/midi-onodera-at-the-archive-and-everyday-life-conference-and-exhibition/#comments</comments>
		<pubDate>Sat, 15 May 2010 19:17:54 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=767</guid>
		<description><![CDATA[The Archive and Everyday Life Conference, held May 6–8, 2010 at McMaster University, examined how fields of archive intersect with everyday life. The conference program includes panel discussions, screenings, and visual art. Midi Onodera&#8217;s year-long 2009 video project A Movie A Week was on view in the accompanying group exhibition held at Hamilton Artists Inc. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://martyspellerberg.com/files/2010/05/midiGallery.jpg" alt="" width="700" height="525" class="alignnone size-full wp-image-768" /></p>
<p><a href="http://www.humanities.mcmaster.ca/~english/taylor_10/Index.html">The Archive and Everyday Life Conference</a>, held May 6–8, 2010 at McMaster University, examined how fields of archive intersect with everyday life. The conference program includes panel discussions, screenings, and visual art.</p>
<p>Midi Onodera&#8217;s year-long 2009 video project <em>A Movie A Week</em> was on view in the accompanying group exhibition held at <a href="http://www.hamiltonartistsinc.on.ca/">Hamilton Artists Inc.</a> from May 1–15. Her collection of 52 mini-movies &#8220;focus the lens on daily, un-monumental occurrences fit for the small screen.&#8221;</p>
<p>A long-time collaborator of Midi&#8217;s, I developed <a href="http://www.midionodera.com/">her site</a> and online-presentation of <em>A Movie A Week</em>. For this exhibition, <a href="http://rubypajares.com/">Ruby Pajares</a> and I created a stand-alone version of the project (image above) that could be run off a lap-top.</p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/05/midi-onodera-at-the-archive-and-everyday-life-conference-and-exhibition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Simple jQuery Fade-in/Fade-out slideshow</title>
		<link>http://martyspellerberg.com/2010/05/simple-jquery-fade-infade-out-slideshow/</link>
		<comments>http://martyspellerberg.com/2010/05/simple-jquery-fade-infade-out-slideshow/#comments</comments>
		<pubDate>Sun, 09 May 2010 23:43:47 +0000</pubDate>
		<dc:creator>marty</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://martyspellerberg.com/?p=747</guid>
		<description><![CDATA[Hi there. I&#8217;m learning jQuery and finding it super easy and fun to work with! Here&#8217;s a simple fade-in/out slideshow I wrote for a friend&#8217;s website. I knew there were already plug-ins out there for achieving this sort of thing, but I decided to write my own in order to become more familiar with some [...]]]></description>
			<content:encoded><![CDATA[<p>Hi there. I&#8217;m learning jQuery and finding it super easy and fun to work with!</p>
<p>Here&#8217;s a simple fade-in/out slideshow I wrote for <a href="http://www.jaimeleblancphotography.com/">a friend&#8217;s website</a>. I knew there were already plug-ins out there for achieving this sort of thing, but I decided to write my own in order to become more familiar with some of the basic concepts.</p>
<p><a href="http://jaimeleblancphotography.com/places/">See it in action</a>. Here&#8217;s the HTML we&#8217;re outputting:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
</pre></td><td class="code"><pre class="html" style="font-family:monospace;">&lt;div class=&quot;slideshow&quot;&gt;
&nbsp;
	&lt;div&gt;
		&lt;img src=&quot;1.jpg&quot; alt=&quot;Image One&quot; /&gt;
		&lt;p class=&quot;controls&quot;&gt;&lt;a href=&quot;#2&quot; class=&quot;next&quot;&gt;Next&lt;/a&gt;&lt;/p&gt;
	&lt;/div&gt;
&nbsp;
	&lt;div&gt;
		&lt;img src=&quot;2.jpg&quot; alt=&quot;Image Two&quot; /&gt;
		&lt;p class=&quot;controls&quot;&gt;&lt;a href=&quot;#1&quot; class=&quot;prev&quot;&gt;Prev&lt;/a&gt; /
			&lt;a href=&quot;#3&quot; class=&quot;next&quot;&gt;Next&lt;/a&gt;&lt;/p&gt;
	&lt;/div&gt;
&nbsp;
	&lt;div&gt;
		&lt;img src=&quot;3.jpg&quot; alt=&quot;Image Three&quot; /&gt;
		&lt;p class=&quot;controls&quot;&gt;&lt;a href=&quot;#2&quot; class=&quot;prev&quot;&gt;Prev&lt;/a&gt;&lt;/p&gt;
	&lt;/div&gt;
&nbsp;
&lt;/div&gt;</pre></td></tr></table></div>

<p>And here&#8217;s the jQuery:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre></td><td class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// Set the initial state: Hide all but the first slide</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.slideshow'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">find</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'&amp;gt; div:eq(0)'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">nextAll</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span><span style="color: #3366CC;">'opacity'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'0'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'display'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #006600; font-style: italic;">// On click of a controller link...</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.controls &amp;gt; a'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		event.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">// Get the div containing the clicked link...</span>
		<span style="color: #003366; font-weight: bold;">var</span> currentslide <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">parents</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'div:first'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">// ... and get the index of that div</span>
		<span style="color: #003366; font-weight: bold;">var</span> currentposition <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.slideshow div'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">index</span><span style="color: #009900;">&#40;</span>currentslide<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">// Use that index to get the slide we'll be fading to</span>
		<span style="color: #003366; font-weight: bold;">var</span> nextposition <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>$<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'class'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">==</span><span style="color: #3366CC;">'next'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">?</span> currentposition<span style="color: #339933;">+</span><span style="color: #CC0000;">1</span> <span style="color: #339933;">:</span> currentposition<span style="color: #339933;">-</span><span style="color: #CC0000;">1</span><span style="color: #339933;">;</span>
&nbsp;
		<span style="color: #006600; font-style: italic;">// Fade the current slide out...</span>
		$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.slideshow div:eq('</span><span style="color: #339933;">+</span>currentposition<span style="color: #339933;">+</span><span style="color: #3366CC;">')'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>opacity<span style="color: #339933;">:</span> <span style="color: #CC0000;">0</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">250</span><span style="color: #339933;">,</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
			<span style="color: #006600; font-style: italic;">// ... and hide it.</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.slideshow div:eq('</span><span style="color: #339933;">+</span>currentposition<span style="color: #339933;">+</span><span style="color: #3366CC;">')'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'display'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'none'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #006600; font-style: italic;">// Show the next slide...</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.slideshow div:eq('</span><span style="color: #339933;">+</span>nextposition<span style="color: #339933;">+</span><span style="color: #3366CC;">')'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'display'</span><span style="color: #339933;">,</span><span style="color: #3366CC;">'block'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
			<span style="color: #006600; font-style: italic;">// ... and fade it in.</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'.slideshow div:eq('</span><span style="color: #339933;">+</span>nextposition<span style="color: #339933;">+</span><span style="color: #3366CC;">')'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">animate</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>opacity<span style="color: #339933;">:</span> <span style="color: #CC0000;">100</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> <span style="color: #CC0000;">1500</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		  <span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>As you can see, it&#8217;s pretty basic. There&#8217;s a number of improvements that could be made, such as having the jQuery insert the control links as they&#8217;re somewhat redundant for the non-JS user. Also, it&#8217;s a bit fussy about divs &#8212; you might want to have some inside your slides but, as written, that would confuse it. I&#8217;ll post again if I get around to addressing that.</p>
<p>As always, best wishes to you in your coding!</p>
]]></content:encoded>
			<wfw:commentRss>http://martyspellerberg.com/2010/05/simple-jquery-fade-infade-out-slideshow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
