<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Palm Desktop, I stab at thee!</title>
	<atom:link href="http://blog.theprodigalboyfriend.com/2009/01/09/palm-desktop-i-stab-at-thee/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.theprodigalboyfriend.com/2009/01/09/palm-desktop-i-stab-at-thee/</link>
	<description>Why are you even reading this?</description>
	<lastBuildDate>Thu, 21 Jan 2010 08:38:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Missy</title>
		<link>http://blog.theprodigalboyfriend.com/2009/01/09/palm-desktop-i-stab-at-thee/comment-page-1/#comment-2251</link>
		<dc:creator>Missy</dc:creator>
		<pubDate>Fri, 16 Jan 2009 05:23:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.theprodigalboyfriend.com/?p=264#comment-2251</guid>
		<description>It is on Dreamhost, but if you&#039;ll recall -- the last time Dan updated my blog it crapped out for a while and took extensive work to make it ah.. work.. again.</description>
		<content:encoded><![CDATA[<p>It is on Dreamhost, but if you&#8217;ll recall &#8212; the last time Dan updated my blog it crapped out for a while and took extensive work to make it ah.. work.. again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ryan</title>
		<link>http://blog.theprodigalboyfriend.com/2009/01/09/palm-desktop-i-stab-at-thee/comment-page-1/#comment-2248</link>
		<dc:creator>Ryan</dc:creator>
		<pubDate>Thu, 15 Jan 2009 14:41:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.theprodigalboyfriend.com/?p=264#comment-2248</guid>
		<description>Isn&#039;t Exquisite Turmoil on Dreamhost?  Their &lt;a href=&quot;http://panel.dreamhost.com&quot; rel=&quot;nofollow&quot;&gt;panel&lt;/a&gt; allows for monkeys to upgrade WP (assuming it was installed through their one-click installer thingy).  I don&#039;t really think she&#039;d appreciate Eva :/

The gdata APIs (including gcal) pretty much cram things into an ATOM feed, then authenticate to Google/publish via curl or HTTP sockets.  Since the API (and Python libraries) are available from Google, it makes it fairly simple.

Yes, SELECT DISTINCT sucks.  Well, SELECT DISTINCT sucks on joins and subqueries (I&#039;m not convinced it sucks for single tables), since it tosses the query optimizer and just grabs the entirety of the table, checks it for uniqueness, then sorts it.  GROUP BY works just as well in -most- instances.

The problem with the data from Access wasn&#039;t a lack of unique keys, it was duplicate records that already had unique keys.  Nothing else really worked as a constraint (since Heather sometimes had things starting or ending at the same time, or with exactly the same summary), so the DELETE FROM ... WHERE EXISTS clause or a SELECT DISTINCT a INTO b seemed to be the only way to do it.

As an aside, SCOPE_IDENTITY() is T-SQL specific, and doesn&#039;t that return the identity of the last row inserted?  CURRVAL(&#039;id&#039;) is pretty much the PGSQL equivalent (or NEXTVAL(&#039;id&#039;).  Still, though, there were only 20 duplicate keys out of 5100ish records, but nearly half those had duplicate data:

&lt;pre&gt;  record_id &#124; start_time &#124;  end_time  &#124;           summary           
-----------+------------+------------+-----------------------------
   7127485 &#124; 1256774400 &#124; 1256774400 &#124; lawerance wedding
   7125815 &#124; 1256774400 &#124; 1256774400 &#124; lawerance wedding&lt;/pre&gt;

I don&#039;t know that a unique key would have redeemed it =/  It would have been possible to generate a composite key over a couple of the fields, but composite key on a TEXT field is awful.</description>
		<content:encoded><![CDATA[<p>Isn&#8217;t Exquisite Turmoil on Dreamhost?  Their <a href="http://panel.dreamhost.com" rel="nofollow">panel</a> allows for monkeys to upgrade WP (assuming it was installed through their one-click installer thingy).  I don&#8217;t really think she&#8217;d appreciate Eva :/</p>
<p>The gdata APIs (including gcal) pretty much cram things into an ATOM feed, then authenticate to Google/publish via curl or HTTP sockets.  Since the API (and Python libraries) are available from Google, it makes it fairly simple.</p>
<p>Yes, SELECT DISTINCT sucks.  Well, SELECT DISTINCT sucks on joins and subqueries (I&#8217;m not convinced it sucks for single tables), since it tosses the query optimizer and just grabs the entirety of the table, checks it for uniqueness, then sorts it.  GROUP BY works just as well in -most- instances.</p>
<p>The problem with the data from Access wasn&#8217;t a lack of unique keys, it was duplicate records that already had unique keys.  Nothing else really worked as a constraint (since Heather sometimes had things starting or ending at the same time, or with exactly the same summary), so the DELETE FROM &#8230; WHERE EXISTS clause or a SELECT DISTINCT a INTO b seemed to be the only way to do it.</p>
<p>As an aside, SCOPE_IDENTITY() is T-SQL specific, and doesn&#8217;t that return the identity of the last row inserted?  CURRVAL(&#8216;id&#8217;) is pretty much the PGSQL equivalent (or NEXTVAL(&#8216;id&#8217;).  Still, though, there were only 20 duplicate keys out of 5100ish records, but nearly half those had duplicate data:</p>
<pre>  record_id | start_time |  end_time  |           summary
-----------+------------+------------+-----------------------------
   7127485 | 1256774400 | 1256774400 | lawerance wedding
   7125815 | 1256774400 | 1256774400 | lawerance wedding</pre>
<p>I don&#8217;t know that a unique key would have redeemed it =/  It would have been possible to generate a composite key over a couple of the fields, but composite key on a TEXT field is awful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan</title>
		<link>http://blog.theprodigalboyfriend.com/2009/01/09/palm-desktop-i-stab-at-thee/comment-page-1/#comment-2247</link>
		<dc:creator>Dan</dc:creator>
		<pubDate>Thu, 15 Jan 2009 07:04:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.theprodigalboyfriend.com/?p=264#comment-2247</guid>
		<description>Suggestion (note -- I don&#039;t know Google Calendar&#039;s format) --

Foreach loop through the records. Insert individually. When inserting, use SELECT SCOPE_IDENTITY() to get a unique key.

Also, SELECT DISTINCT is an abomination before God. You do know how that works behind the scenes, right?</description>
		<content:encoded><![CDATA[<p>Suggestion (note &#8212; I don&#8217;t know Google Calendar&#8217;s format) &#8211;</p>
<p>Foreach loop through the records. Insert individually. When inserting, use SELECT SCOPE_IDENTITY() to get a unique key.</p>
<p>Also, SELECT DISTINCT is an abomination before God. You do know how that works behind the scenes, right?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Missy</title>
		<link>http://blog.theprodigalboyfriend.com/2009/01/09/palm-desktop-i-stab-at-thee/comment-page-1/#comment-2246</link>
		<dc:creator>Missy</dc:creator>
		<pubDate>Thu, 15 Jan 2009 06:59:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.theprodigalboyfriend.com/?p=264#comment-2246</guid>
		<description>Oh!  Just noticed that you blogged.  I was actually thinking about overhauling Exquisite Turmoil this week.. I&#039;ve got a bunch of themes picked out, I just need to bug Dan to update it for me again (since all of the new themes are for the new WP =/).  When she asked what the Dead Sea Scrolls were, you totally should have made her watch Eva!</description>
		<content:encoded><![CDATA[<p>Oh!  Just noticed that you blogged.  I was actually thinking about overhauling Exquisite Turmoil this week.. I&#8217;ve got a bunch of themes picked out, I just need to bug Dan to update it for me again (since all of the new themes are for the new WP =/).  When she asked what the Dead Sea Scrolls were, you totally should have made her watch Eva!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
