<?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>Shannon Coen &#187; Computers</title>
	<atom:link href="http://shannoncoen.com/category/computers/feed/" rel="self" type="application/rss+xml" />
	<link>http://shannoncoen.com</link>
	<description></description>
	<lastBuildDate>Sat, 31 Oct 2009 06:58:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Sync Calendars: iPhone, iCal, Google</title>
		<link>http://shannoncoen.com/2009/10/22/sync-calendars-iphone-ical-google/</link>
		<comments>http://shannoncoen.com/2009/10/22/sync-calendars-iphone-ical-google/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 20:35:43 +0000</pubDate>
		<dc:creator>Shannon</dc:creator>
				<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://shannoncoen.com/?p=671</guid>
		<description><![CDATA[It continually amazes me that some of the basic necessities of organization and productivity have not been given enough attention by the major players in application and operating system development. Looking for solutions, many people are forced to pay for utilities which bring up the slack. 
While I support many small developers for the great [...]]]></description>
			<content:encoded><![CDATA[<p>It continually amazes me that some of the basic necessities of organization and productivity have not been given enough attention by the major players in application and operating system development. Looking for solutions, many people are forced to pay for utilities which bring up the slack. </p>
<p>While I support many small developers for the great work that they do, I&#8217;ll take a free solution if I can get it. I also like wherever possible to solve problems using as few variables as possible. So when my subscription to Spanning Sync recently expired, I revisited the problem of syncing calendars between iCal, Google, and my iPhone using &#8216;built-in&#8217; features.<span id="more-671"></span></p>
<p>The reason Google is part of the equation is so my partner and I can share calendars without publishing them from iCal. In my opinion any implementation of calendars should provide both read and read/write sharing, publicly and privately. iCal only allows you to publish publicly, though I suspect more features are possible using their paid MobileMe service. </p>
<p>Though Google&#8217;s implementation of CalDAV leaves a lot to be desired, I found that with features of the new iPhone OS the solution, though still ugly, has improved. The main problem with Google CalDAV is that on both iPhone and iCal, you can&#8217;t see all your calendars using only one account. That is, you should be able to create one CalDAV connection using your google credentials and connect to all the calendars (owned, shared, and subscribed) that you can see through the Google Calendars web interface using the iPhone or iCal as clients. Although I have not tried it, I&#8217;ve read that Yahoo!&#8217;s implementation works in a more intuitive manner. The solution is you have to create a new CalDAV account for each Google calendar you want to connect to.</p>
<p><a  href="http://blog.controlgroup.com/2009/06/30/fusing-google-calendars-with-ical/">I recommend this post for instructions.</a></p>
<p>Reading through the comments for this post I saw what I thought to be an even better way: rather than syncing calendar data from iCal to the iPhone via iTunes, create the CalDAV accounts directly on the iPhone. This way, any calendar items created on any of the three platforms (Google, iPhone, iCal) will be synced with the others within a matter of minutes. No need to plug in the phone and sync with iTunes. </p>
<p>Be sure you have the latest version of the iPhone OS. I don&#8217;t believe this feature was available until recently.</p>
<p>Create a text list of the google calendar addresses you&#8217;ll need and email them to yourself. Then open the email on your phone and copy one address at a time. Then go to </p>
<blockquote><p>Settings > Mail, Contacts, Calendars > Add Account&#8230; > Other > Add CalDAV Account</p></blockquote>
<p>and paste the address in the server field. I found that the form replaces the address with www.google.com; this was confusing at first but after testing I found that it still works. Enter in your google login and password for each account and name the calendar.</p>
<p>Now whenever you add a calendar item to your iPhone it will be immediately added to Google (assuming network/cellular connectivity), and iCal will sync with Google at regular intervals set in iCal preferences. During testing you can see your updates immediately in iCal using the menu item <em>Calendar > Refresh All</em>. </p>
<p>This appears to work as I&#8217;d like it to. It&#8217;s free, allows syncing between the phone, web, and desktop clients, and allows sharing of calendars via Google calendar sharing features.</p>
<p>Next I&#8217;d like to figure out how to push the Birthdays calendar, which is created in iCal based on data from Address Book, out to Google. In the meantime, I&#8217;ll sync Birthdays with the iPhone via iTunes.</p>
<p><strong>Update:</strong> I started getting errors in iCal. The issue seems to be that by creating the CalDAV accounts in iCal using the Google method as opposed to the CalDAV method, the URL was being created wrong. Looks like an iCal bug. What seems to have resolved the issue is deleting the CalDAV accounts and recreating them using the CalDAV method.</p>
]]></content:encoded>
			<wfw:commentRss>http://shannoncoen.com/2009/10/22/sync-calendars-iphone-ical-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Allowed memory size exhausted</title>
		<link>http://shannoncoen.com/2009/09/30/llowed-memory-size-exhausted/</link>
		<comments>http://shannoncoen.com/2009/09/30/llowed-memory-size-exhausted/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 04:34:49 +0000</pubDate>
		<dc:creator>Shannon</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://shannoncoen.com/?p=663</guid>
		<description><![CDATA[A few minor versions ago I found that the automatic feature to upgrade the core Wordpress engine stopped working. Specifically, upon clicking the &#8216;Upgrade Automatically&#8217; button, the process said it was downloading the zip but then just hung. I&#8217;ve been putting off troubleshooting it. 
Upon looking at the PHP log, I saw the following error:
PHP [...]]]></description>
			<content:encoded><![CDATA[<p>A few minor versions ago I found that the automatic feature to upgrade the core Wordpress engine stopped working. Specifically, upon clicking the &#8216;Upgrade Automatically&#8217; button, the process said it was downloading the zip but then just hung. I&#8217;ve been putting off troubleshooting it. </p>
<p>Upon looking at the PHP log, I saw the following error:</p>
<blockquote><p>PHP Fatal error:  Allowed memory size of 33554432 bytes exhausted (tried to allocate 2357046 bytes)</p></blockquote>
<p>This means that the process needs more memory (RAM) to run that it is allowed. With a little research I found tha<a  href="http://codex.wordpress.org/Editing_wp-config.php#Increasing_memory_allocated_to_PHP">t the solution is in the Wordpress documentation</a>. </p>
<p>By adding the following line to wp-config.php, we boost the limit of memory which may be allocated to Wordpress processes.</p>
<blockquote><p>define(&#8217;WP_MEMORY_LIMIT&#8217;, &#8216;64M&#8217;);</p></blockquote>
<p>Sure enough, after updating the file the upgrade ran successfully.</p>
]]></content:encoded>
			<wfw:commentRss>http://shannoncoen.com/2009/09/30/llowed-memory-size-exhausted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safari 4: Force links to open in new tabs</title>
		<link>http://shannoncoen.com/2009/06/17/safari-4-force-links-to-open-in-new-tabs/</link>
		<comments>http://shannoncoen.com/2009/06/17/safari-4-force-links-to-open-in-new-tabs/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 17:46:28 +0000</pubDate>
		<dc:creator>Shannon</dc:creator>
				<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://shannoncoen.com/?p=578</guid>
		<description><![CDATA[My browser workflow uses a separate window for most tasks or research subjects, grouping related tabs together in the same window. While I use Firefox for browsing unless some rare site has been foolishly developed exclusively for IE, I occasionally try Safari to see if it works for me. One of the ways Safari has [...]]]></description>
			<content:encoded><![CDATA[<p>My browser workflow uses a separate window for most tasks or research subjects, grouping related tabs together in the same window. While I use Firefox for browsing unless some rare site has been foolishly developed exclusively for IE, I occasionally try Safari to see if it works for me. One of the ways Safari has FF beat is in it&#8217;s support for dragging tabs between windows. </p>
<p>This little hack forces Safari to open clicked links to open as a new tab in the same window; essential for my browsing style. Open Terminal and type this at the prompt.</p>
<p><code>defaults write com.apple.Safari TargetedClicksCreateTabs -bool true</code></p>
<p>To reverse the setting just change true to false.</p>
]]></content:encoded>
			<wfw:commentRss>http://shannoncoen.com/2009/06/17/safari-4-force-links-to-open-in-new-tabs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Page Index with Custom Fields</title>
		<link>http://shannoncoen.com/2008/10/30/page-index-with-custom-fields/</link>
		<comments>http://shannoncoen.com/2008/10/30/page-index-with-custom-fields/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 21:04:52 +0000</pubDate>
		<dc:creator>Shannon</dc:creator>
				<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://shalako.net/?p=192</guid>
		<description><![CDATA[My index of DJ Mixes is entirely dynamic. That is, when I add a new mix I don&#8217;t have to manually update this page. Here&#8217;s how I did it.
First I created an empty page called DJ Mixes. Then I created a child page for each mix and added two custom fields for year and genre. [...]]]></description>
			<content:encoded><![CDATA[<p>My index of <a  href="http://redlightmusic.com/shalako/dj-mixes/" target="_blank">DJ Mixes</a> is entirely dynamic. That is, when I add a new mix I don&#8217;t have to manually update this page. Here&#8217;s how I did it.<span id="more-192"></span></p>
<p>First I created an empty page called DJ Mixes. Then I created a child page for each mix and added two custom fields for year and genre. With this done, I had all the content I needed. The rest the work was to build the DJ Mix index page.</p>
<p>I made a copy of the <em>page.php</em> template file called <em>dj-mixes.php</em>. I updated the DJ Mixes page to use this file as a template. Then I replaced this:</p>
<pre class="brush: php">
&lt;div class=&quot;postcontent&quot;&gt;&lt;?php the_content(__(&#039;&lt;br/&gt;Continue reading...&#039;)); ?&gt;&lt;/div&gt;
</pre>
<p>with this:</p>
<pre class="brush: php">
&lt;?php
    $djmixes = get_pages(&#039;child_of=&#039;.$post-&gt;ID.&#039;&amp;sort_column=menu_order&#039;);
    foreach ($djmixes as $djmix) {
        $mix = &#039;&lt;div class=&quot;djmix&quot;&gt;&#039;.&quot;\n&quot;;
        $mix .= &#039;&lt;div class=&quot;djmixyear&quot;&gt;&#039;.get_post_meta($djmix-&gt;ID,&#039;Year&#039;,true).&#039;&lt;/div&gt;&#039;;
        $mix .= &#039;&lt;div class=&quot;djmixtitle&quot;&gt;&lt;a href=&quot;&#039;.get_page_link($djmix-&gt;ID).&#039;&quot;&gt;&#039;.$djmix-&gt;post_title.&#039;&lt;/a&gt;&lt;/div&gt;&#039;;
        $mix .= &#039;&lt;div class=&quot;djmixgenre&quot;&gt;&#039;.get_post_meta($djmix-&gt;ID,&#039;Genre&#039;,true).&#039;&lt;/div&gt;&#039;.&quot;\n&quot;;
        $mix .= &#039;&lt;/div&gt;&#039;.&quot;\n&quot;;
        echo $mix;
    }
?&gt;
</pre>
<p>The <a  href="http://codex.wordpress.org/Function_Reference/get_pages" target="_blank">get_pages</a> statement returns an array of all the information associated with pages which are children of the current page. Then we create a loop which displays the values for custom field Year, the page title, and custom field Genre for each of the child pages. This is done using <a  href="http://codex.wordpress.org/Using_Custom_Fields#Advanced_Techniques_for_Custom_Fields" target="_blank">get_post_meta</a>.</p>
<p>Here&#8217;s the associated CSS:</p>
<pre class="brush: css">
.djmix {clear:left;}
.djmixyear {float: left;width: 50px;}
.djmixtitle {float: left;width: 200px;}
.djmixgenre {float: left;width: 150px;}
</pre>
<p>If you can think of a more elegant way to do this, please let me know! I&#8217;m eager to learn more efficient practices.</p>
<p>I had quite a bit of trouble getting this code to appear right just using &#8216;code&#8217; and &#8216;pre&#8217; in my markup. Finally found <a  href="http://www.cagintranet.com/archive/the-definitive-guide-on-wordpress-syntax-highligher-plugins/" target="_blank">The Definitive Guide on Wordpress Syntax Highligher Plugins</a> which led me to the <a  href="http://wordpress.org/extend/plugins/syntaxhighlighter-plus/" target="_blank">SyntaxHighlighter Plus</a> plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://shannoncoen.com/2008/10/30/page-index-with-custom-fields/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
