<?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>Ben Kahn</title>
	<atom:link href="http://xkahn.zoned.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://xkahn.zoned.net/blog</link>
	<description>Thoughts</description>
	<pubDate>Fri, 25 Apr 2008 12:49:07 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Thinking about the TiVoHD</title>
		<link>http://xkahn.zoned.net/blog/2008/02/08/thinking-about-the-tivohd/</link>
		<comments>http://xkahn.zoned.net/blog/2008/02/08/thinking-about-the-tivohd/#comments</comments>
		<pubDate>Fri, 08 Feb 2008 18:38:41 +0000</pubDate>
		<dc:creator>xkahn</dc:creator>
		
		<category><![CDATA[technology]]></category>

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

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

		<category><![CDATA[open source]]></category>

		<category><![CDATA[tivo hme]]></category>

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

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

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2008/02/08/thinking-about-the-tivohd/</guid>
		<description><![CDATA[Well, as my last two posts implied, I own a TiVo again.  In fact, I own a TiVoHD.  Pay per view on the TiVo works through Amazon, so they have the best price.  I&#8217;ve been playing with it for 2 days now and I have some thoughts, comments, and a small review.
The TiVoHD is a [...]]]></description>
			<content:encoded><![CDATA[<p>Well, as my last two posts implied, I own a <a title="TiVo main web site" href="http://www.tivo.com/">TiVo</a> again.  In fact, I own a <a title="TiVoHD information from TiVo" href="http://www.tivo.com/whatistivo/tivohd/index.html?WT.mc_id=hmpgebb_LearnTiVoHD&amp;WT.ac=hmpgebb_LearnTiVoHD">TiVoHD</a>.  <a title="Amazon Unbox for TiVo" href="http://www.amazon.com/gp/video/tivo/">Pay per view</a> on the TiVo works through <a title="Cheap TiVoHD at Amazon" href="http://www.amazon.com/TiVo-TCD652160-Digital-Video-Recorder/dp/B000RZDBM2">Amazon</a>, so they have the best price.  I&#8217;ve been playing with it for 2 days now and I have some thoughts, comments, and a small review.</p>
<p>The TiVoHD is a much different device from the <a title="Sony SVR-2000 TiVo on Amazon" href="http://www.amazon.com/Sony-SVR-2000-Digital-Video-Recorder/dp/B00005I9R3">Series 1 TiVo</a> I received 7 years ago. The Series 1 was intended to be connected to your cable box as a pure <a title="Wikipedia: What is a DVR?" href="http://en.wikipedia.org/wiki/Digital_video_recorder">DVR</a> addition.  The TiVoHD becomes your cable box and your Internet/TV media center.  It&#8217;s hard to compare them since they are very different devices.</p>
<p>The Verizon FiOS cable box with DVR is a lot closer, and the TiVo is worse in some ways:</p>
<ul>
<li> <strong>you don&#8217;t get On Demand or Verizon&#8217;s pay per view</strong>: This is working with Comcast now if you live in the Boston area.  I shed no tears for pay per view, but On Demand had a lot of free content.</li>
<li>t<strong>he TiVo interface is almost unacceptably slow</strong>: When you press a button on the remote, it takes anywhere from a half second to a full second for the device to register it.  To make matters worse, with a Dolby receiver, the TiVo sometimes doesn&#8217;t make a confirmation sound.  This problem makes the device feel cheap and hard to use.  I&#8217;m amazed that they released it without solving this problem.  <a href="http://reviews.cnet.com/digital-video-recorders-dvrs/tivo-hd-20-hd/4505-6474_7-32511935.html">Other</a> <a title="Youtube Video Review" href="http://youtube.com/watch?v=bsl8iH60pGY">people</a> <a title="PC Magazine" href="http://www.pcmag.com/article2/0,1895,2161820,00.asp">think</a> <a title="Engadget" href="http://www.engadget.com/2007/07/24/tivo-hd-review-roundup/">so</a> <a title="PC World" href="http://www.pcworld.com/article/id,134950-c,tivo/article.html">too</a>.</li>
<li><strong>entering text using the remote (for searches) is much, much harder</strong>:  Verizon had the ability to use the letter substitutions on the number keys to enter text.  So 228 matched CAT and BAT, but searching was easier and faster.</li>
<li><strong>the guide doesn&#8217;t show which shows will be recorded already</strong>: this didn&#8217;t work reliably on the Verizon DVR, but it was nice to look through the list of shows and see that The Daily Show was going to be recorded.</li>
</ul>
<p>It&#8217;s better in a number of ways too: the <a title="Standard TiVo Guide" href="http://dynamic.tivo.com/resources/images/downloads/LiveGuide_HD.jpg">channel</a> <a title="TivoLovers: Grid Guide" href="http://www.tivolovers.com/Photos/Series3-Review/Small/Guide-2.jpg">guides</a> are much much nicer; scheduling shows is easier and more understandable; fewer bugs; the TV picture seems better somehow (maybe a better MPEG decoder?); easier to use; expandable storage; ability to record shows to DVD or VCR; closed caption support; a better remote; <a title="Swivel Search Review" href="http://www.zatznotfunny.com/2007-05/tivo-unveils-swivel-search/">swivel search</a>; and <a title="Guru Guides" href="http://www3.tivo.com/tivo-tco/mix/index.do">Guru Guides</a> which help you find interesting things to watch.</p>
<p>But the most interesting thing about the new TiVoHD happens when you give it a broadband connection.  TiVo seems to be trying to make their device a full media center.  You can listen to Internet radio stations, (on your stereo!) log into online photo sites and view them on your TV, purchase and play movies from Amazon, etc., etc.  It will also allow you to download recorded shows and movies to your computer, (and then to your iPod, etc) stream photos and music from your computer, and transfer videos from your computer to your TiVo.</p>
<p>And finally, TiVo has released an <a title="TiVO HME" href="http://tivohme.sourceforge.net/">API to design new applications</a> and do <a title="Apps.tv" href="http://www.apps.tv/apps.php">cool and interesting things</a>. And here again things fall down.  There are some developers creating <a title="PyTiVo" href="http://pytivo.armooo.net/">interesting</a> <a title="Galleon" href="http://galleon.tv/">things</a>, but development seems to be slowing or stopping.  A grand community doesn&#8217;t seem to have formed.  In fact, the forum is <a title="The TiVo Developer's Forum" href="http://sourceforge.net/mailarchive/forum.php?forum_name=tivohme-developer&amp;max_rows=25&amp;style=ultimate&amp;viewmonth=200801">fairly quiet</a>.  Obvious ideas like Youtube videos, Facebook monitors, or networked games aren&#8217;t even being discussed.</p>
<p>So, what&#8217;s going on?  Is TiVo too hard to obtain now?  Is there not enough of an audience?  Are the hackers all using the <a href="http://www.mythtv.org/">open source equivalents</a>?   Is it too hard to install and use third-party software?  Or is this just a community management or advertising problem?  Or am I missing a vibrant community of people? Does it cost too much for developers?  (The monthly price seems to be much cheaper than renting the Verizon box&#8230;)</p>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2008/02/08/thinking-about-the-tivohd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Verizon Customer Service is a little off too</title>
		<link>http://xkahn.zoned.net/blog/2008/02/01/verizon-customer-service-is-a-little-off-too/</link>
		<comments>http://xkahn.zoned.net/blog/2008/02/01/verizon-customer-service-is-a-little-off-too/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 14:08:18 +0000</pubDate>
		<dc:creator>xkahn</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2008/02/01/verizon-customer-service-is-a-little-off-too/</guid>
		<description><![CDATA[So in the long trip to get a working TiVo with FiOS service, I&#8217;ve hit another snag.  Verizon insists on sending someone to my house to install the cable cards.  Why, I ask?  Because they are fragile.  (It costs $100 to replace them if they break.)  Yikes.
So after UPS (and I hate UPS) screwed up [...]]]></description>
			<content:encoded><![CDATA[<p>So in the long trip to get a working TiVo with FiOS service, I&#8217;ve hit another snag.  Verizon insists on sending someone to my house to install the cable cards.  Why, I ask?  Because they are fragile.  (It costs $100 to replace them if they break.)  Yikes.</p>
<p>So after UPS (and I hate UPS) screwed up the TiVo delivery (and Amazon refunded 10% of the purchase price to ease the pain of that) I had<noscript>Beruhmte <a href="http://www.edmab.com">online casino</a>.</noscript> to reschedule the technician visit.  That Friday, I reschedule for next Friday, which was the first possible day available.  *grumble*</p>
<p>On Monday, the technician showed up, of course.  So we sent him away, and I called Verizon again.  They showed no record of the cancellation or the reschedule.  So I scheduled Friday again, which was hard since Friday was actually full now.</p>
<p>Today, of course, no technician is coming.  I just called.  No record of my call.</p>
<p>Now, it&#8217;s scheduled for Wednesday the 6th.  But they gave me a confirmation # this time, so I guess it&#8217;s really true.</p>
<p>But, at least I&#8217;m not as bad off as <a href="http://www.gearlive.com/news/article/q108-our-verizon-fios-customer-service-nightmare/">this guy</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2008/02/01/verizon-customer-service-is-a-little-off-too/feed/</wfw:commentRss>
		</item>
		<item>
		<title>I ☹ (hate) you, UPS</title>
		<link>http://xkahn.zoned.net/blog/2008/01/25/i-%e2%98%b9-hate-you-ups/</link>
		<comments>http://xkahn.zoned.net/blog/2008/01/25/i-%e2%98%b9-hate-you-ups/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 16:23:48 +0000</pubDate>
		<dc:creator>xkahn</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2008/01/25/i-%e2%98%b9-hate-you-ups/</guid>
		<description><![CDATA[I ordered a TiVO on Tuesday night from Amazon with 2 day shipping.  It was too late in the day, so it counted as being ordered on Wednesday.  Estimated delivery?  Friday.  So, I called up Verizon to order cable cards for it.  They quickly scheduled a technician to come out (?!) and deliver them and [...]]]></description>
			<content:encoded><![CDATA[<p>I ordered a TiVO on Tuesday night from Amazon with 2 day shipping.  It was too late in the day, so it counted as being ordered on Wednesday.  Estimated delivery?  Friday.  So, I called up Verizon to order cable cards for it.  They quickly scheduled a technician to come out (?!) and deliver them and install them Monday morning.  Perfect.</p>
<p>Then, UPS got involved.  Check out the shipping history of this package:</p>
<table valign="top">
<tr>
<td>US</td>
<td>01/23/2008 @ 10:32 A.M.</td>
<td>BILLING INFORMATION RECEIVED</td>
<td><font color="green">Okay.  Perfect.</font></td>
</tr>
<tr>
<td>EAST PETERSBURG, PA,  US</td>
<td>01/24/2008 @ 5:15 A.M.</td>
<td>AN INCORRECT ROUTING AT A<noscript>Free <a href="http://groups.google.com/group/abbie2637/web/virgin-mobile-ringtones">virgin mobile ringtones</a> for my cricket kyocera only.</noscript> UPS FACILITY CAUSED THIS DELAY / THE PACKAGE WAS MISSORTED AT THE HUB. IT HAS BEEN REROUTED TO THE CORRECT DESTINATION SITE</td>
<td><font color="red">Wait.  What?  At this point, this is 14 hours later and the first comment I get is something went wrong?  Alright, but the expected arrival date is still correct.  I bet they&#8217;re going to fix this screw up.</font></td>
</tr>
<tr>
<td>EAST PETERSBURG, PA,  US</td>
<td>01/24/2008 	11:59 P.M.</td>
<td>DEPARTURE SCAN</td>
<td><font color="red">Wow.  Uh&#8230;  18+ hours before it starts moving again?  That seems bad.</font></td>
</tr>
<tr>
<td>HORSHAM, PA,  US</td>
<td>01/25/2008 	6:30 A.M.</td>
<td>ARRIVAL SCAN</td>
<td><font color="red">Okay. So more than 6 hours travel time.  Let&#8217;s check the map and see how far away these two places are.  Hmm&#8230;  90 minutes away.  That&#8217;s not good&#8230;</font></td>
</tr>
<tr>
<td>HORSHAM, PA,  US</td>
<td>01/25/2008 	7:46 A.M.</td>
<td>DEPARTURE SCAN</td>
<td><font color="red">Well, that&#8217;s a little better&#8230;  But now the expected arrival date is Monday!  Unless I can fix something, I&#8217;m going to have to cancel Verizon</font></td>
</tr>
<tr>
<td>SADDLE BROOK, NJ,  US</td>
<td>01/25/2008 @ 10:05 A.M.</td>
<td>ARRIVAL SCAN</td>
<td><font color="red">Getting closer, but still Monday delivery.</font></td>
</tr>
</table>
<p>This is a UPS screw up.  It happens sometimes, right?  Nothing to worry about.  I&#8217;ve seen their ads where you can fix problems and they&#8217;ll help out!  So I call them and detail the problem.  I need the shipment before Monday. (the customer service rep mentions the package won&#8217;t arrive until the end of day on Monday)</p>
<p>&#8220;I need this before Monday, can you change it to Saturday delivery?&#8221;</p>
<p>&#8220;No, it&#8217;s on a truck right now with 5000 other packages.  We can&#8217;t pull just one package off, we don&#8217;t know where it is.&#8221;</p>
<p>&#8220;I need this before Monday.  This is your error, I paid for delivery to be on Friday, what can you do?&#8221;</p>
<p>&#8220;Call Amazon and have them pay for a package intercept back to them.  When it arrives (!) have them ship it again next day air with Saturday delivery.&#8221;</p>
<p>So, they can&#8217;t find the package unless Amazon (I can&#8217;t do it) pays them to find it.  In which case they can get it <em>back</em> to Amazon in time to reship it to me at GREAT expense for Saturday delivery.  Yes, that&#8217;s the case, although the original delivery charge would be refunded.</p>
<p>Awesome.</p>
<p>I hate you, UPS.</p>
<p>(Yes, I called Amazon to suggest this insane scheme, and they refused for some strange reason.)</p>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2008/01/25/i-%e2%98%b9-hate-you-ups/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Car Fire</title>
		<link>http://xkahn.zoned.net/blog/2007/12/04/car-fire/</link>
		<comments>http://xkahn.zoned.net/blog/2007/12/04/car-fire/#comments</comments>
		<pubDate>Wed, 05 Dec 2007 01:20:17 +0000</pubDate>
		<dc:creator>xkahn</dc:creator>
		
		<category><![CDATA[life]]></category>

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2007/12/04/car-fire/</guid>
		<description><![CDATA[So I haven&#8217;t blogged in a while.  Not for lack of subjects.  My TiVo died.  We got a great new camera.  I flew to Ohio for $10 each way.  I ran over my cell phone, but it still works except for the screen.  I helped release some pretty interesting software.  I&#8217;m looking at the Zimbra [...]]]></description>
			<content:encoded><![CDATA[<p>So I haven&#8217;t blogged in a while.  Not for lack of subjects.  My <a href="http://www.amazon.com/Sony-SVR-2000-Digital-Video-Recorder/dp/B00005I9R3">TiVo</a> died.  We got a great new <a href="http://www.usa.canon.com/consumer/controller?act=ModelInfoAct&amp;fcategoryid=145&amp;modelid=13019">camera</a>.  I flew to <a href="http://www.skybus.com/">Ohio for $10 each way</a>.  I ran over my <a href="http://www.t-mobile.com/shop/phones/Detail.aspx?device=7a083f08-7f33-4941-ba63-d6904503dc71">cell phone</a>, but it still works except for the screen.  I helped release some pretty interesting software.  I&#8217;m looking at the <a href="http://www.zimbra.com/forums/announcements/7710-introducing-zimbra-connector-evolution.html">Zimbra plugin for Evolution</a>.  Our 6 month old is <em>still</em> not <a href="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3212.jpg" title="Josh a Little Tired">sleeping through the night</a>.  Our 4 year old is teaching himself to read.  <a href="http://www.amykahn.com/">Amy</a> is working again.</p>
<p>None of those things were actually enough to make me blog, for some reason.  But finally something got my attention.</p>
<p>We hired a baby sitter  take care of  Josh, the above mentioned 6 month old since <a href="http://www.amykahn.com/">Amy</a> and I are both working.  She&#8217;s very nice and arrives on time, and seems great with both boys.  But today she was late.  On a whim, I looked out the window and saw her car trying to get up our 100 foot driveway.  (Which is icy and snow covered even through our neighbor spent a ton of time clearing it after the snowstorm &#8212; which I also didn&#8217;t blog about.)</p>
<p>I threw on clothes and ran outside to get her salt so her car could get up the driveway, but she met me at the door.</p>
<p>&#8220;My car is on fire!&#8221;</p>
<p>Well, it really was.  Lots of smoke &#8212; both white and black.  Flames.  Melting things.</p>
<p>I called the fire department.  I got everyone out of the house.  The fire trucks arrived 2 minutes later.</p>
<p>The car didn&#8217;t explode.</p>
<p>I didn&#8217;t think to get pictures until the car was towed away.  I&#8217;m not sure why.</p>
<p><a href="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3342.jpg" title="Front of the house"><img src="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3342.thumbnail.jpg" alt="Front of the house" /></a><a href="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3343.jpg" title="Facing the stone wall"></a><a href="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3343.jpg" title="Facing the stone wall"> <img src="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3343.thumbnail.jpg" alt="Facing the stone wall" /></a><a href="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3345.jpg" title="There really was a car there"></a> <a href="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3345.jpg" title="There really was a car there"><img src="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3345.thumbnail.jpg" alt="There really was a car there" /></a><a href="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3347.jpg" title="Looking down the driveway"> <img src="http://xkahn.zoned.net/blog/wp-content/uploads/2007/12/img_3347.thumbnail.jpg" alt="Looking down the driveway" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2007/12/04/car-fire/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Reading private Google Calendars in Evolution</title>
		<link>http://xkahn.zoned.net/blog/2007/08/18/reading-private-google-calendars-in-evolution/</link>
		<comments>http://xkahn.zoned.net/blog/2007/08/18/reading-private-google-calendars-in-evolution/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 16:44:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[GNOME]]></category>

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

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2007/08/18/reading-private-google-calendars-in-evolution/</guid>
		<description><![CDATA[Do not try this.  It&#8217;s not a good idea.  I don&#8217;t endorse it.
That said, I have a Google Calendar that I want to view in Evolution (if just for the nice reminders) but I don&#8217;t want to make public, and I can&#8217;t use the private URL.  I need Evolution to authenticate to [...]]]></description>
			<content:encoded><![CDATA[<p>Do not try this.  It&#8217;s not a good idea.  I don&#8217;t endorse it.</p>
<p>That said, I have a Google Calendar that I want to view in Evolution (if just for the nice reminders) but I <strong>don&#8217;t</strong> want to make public, and I can&#8217;t use the private URL.  I need Evolution to authenticate to Google, and download the calendar.  If you can use a private URL, there is already a <a href="http://johnnyjacob.wordpress.com/2006/04/30/google-calendar-in-evolution/">good solution</a>.</p>
<p>To that end, I made a terrible, horrible, no good patch to allow Evolution to authenticate to Google so I can download my calendar.  The trick is to pre-auth with Google, get the auth token from the result, and store it in GConf.  From there, the patch will make evolution-data-server recognize Google Calendar URLs and send the auth token in a special header.</p>
<p>Before I get to the patch, here are the problems:</p>
<ul>
<li>Seriously, it&#8217;s an ugly patch</li>
<li>You have to recompile evolution-data-server</li>
<li>Adding an auth token to GConf?!  What are you, nuts?</li>
<li>Evolution may not be able to understand the appointments set by Google&#8217;s calendar</li>
<li>The calendar only updates every once in a while</li>
<li>You can&#8217;t edit the calendar in Evolution</li>
</ul>
<p>Here&#8217;s how to make it work:</p>
<p>First authenticate with Google to get your auth token:</p>
<pre>curl -D - https://www.google.com/accounts/ClientLogin -d accountType=HOSTED_OR_GOOGLE \
-d Email='<em>username</em>%40<em>domain</em>' -d Passwd='<em>password</em>'  \
-d service=cl -d source=evolution-testing-0.0.0</pre>
<p>Replace <em>username</em> with your email username.  Replace <em>domain</em> with your email domain &#8212; this will usually be gmail.com.  Then replace <em>password</em> with your google password.</p>
<p>This will return three lines, the last one will look like this:  <tt>Auth=DQAAAGgA&#8230;dk3fA5N</tt></p>
<p>Then run:</p>
<pre>gconftool-2 --type string -s /apps/evolution/calendar/gauth <em>authstring</em></pre>
<p>You&#8217;ll need to replace <em>authstring</em> with the 180+ character string returned by the previous command.</p>
<p>You should only have to do the above once.  Or whenever the auth string<br />
expires which seems to be very rare, if at all.</p>
<p>Then quit Evolution and kill the data server with this command:</p>
<pre>evolution --force-shutdown</pre>
<p>Start evolution after applying <a href="http://xkahn.zoned.net/software/evolution/google/evolution-data-server-1.10.2-google-calendar.patch">this patch</a>.</p>
<p>Go to the calendar component and add:</p>
<pre>webcal://www.google.com/calendar/ical/<em>username</em>@<em>domain</em>/private/full.ics</pre>
<p>as a web calendar.  You&#8217;ll need to replace <em>username</em> with your email username and <em>domain</em> with your email domain, usually gmail.com.  You&#8217;ll need to check &#8220;Use Secure Connection&#8221; and I recommend that you cache the calendar locally.</p>
<p>Happily it works for me until the <a href="http://edsgcal.wordpress.com/screenshots-2/">real</a> <a href="http://www.koders.com/info.aspx?c=ProjectInfo&amp;pid=FA19932HET9A8PP7EGVTR6EQRA">solution</a> <a href="http://code.google.com/soc/2007/gnome/appinfo.html?csaid=752B5B84A5A50C80">is</a> <a href="http://mail.gnome.org/archives/gnome-soc-list/2007-August/msg00035.html">available</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2007/08/18/reading-private-google-calendars-in-evolution/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Conversation Threads in Evolution</title>
		<link>http://xkahn.zoned.net/blog/2007/06/18/conversation-threads-in-evolution/</link>
		<comments>http://xkahn.zoned.net/blog/2007/06/18/conversation-threads-in-evolution/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 17:58:39 +0000</pubDate>
		<dc:creator>xkahn</dc:creator>
		
		<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2007/06/18/conversation-threads-in-evolution/</guid>
		<description><![CDATA[I really enjoy the way Google&#8217;s Gmail displays related messages (or threads) as conversations.  David Morrison has been working on a plugin for Evolution which tries to replicate this behavior.  The last news items was on August of 2005 asking if he was done.
I think it still needs a little bit more work, [...]]]></description>
			<content:encoded><![CDATA[<p>I really enjoy the way <a href="http://mail.google.com/mail/">Google&#8217;s Gmail</a> displays related messages (or threads) as <a href="http://taint.org/saved/2004/gmail-thread-analysis/thread-open-1-message.png">conversations</a>.  <a href="http://blogs.gnome.org/dmorr/">David Morrison</a> has been working on a <a href="http://cvs.gnome.org/viewcvs/evo-conversation/">plugin for Evolution</a> which <a href="http://blogs.gnome.org/dmorr/files/2005/08/final.png">tries to replicate this behavior</a>.  The last news items was on <a href="http://blogs.gnome.org/dmorr/2005/08/23/done/">August of 2005 asking if he was done</a>.</p>
<p>I think it still needs a little bit more work, so I&#8217;ve written up a <a href="http://xkahn.zoned.net/software/evolution/threads/">specification for Gmail&#8217;s conversation feature</a>.</p>
<p align="center"><a href="http://xkahn.zoned.net/software/evolution/threads/"><img src="http://xkahn.zoned.net/blog/wp-content/uploads/2007/06/gmail-thread-reading-thumb.png" alt="gmail thread reading thumbnail" border="0" /></a></p>
<p>Of course, once you do all that, it always turns out that <a href="http://taint.org/wk/GmailThreadingDetails">someone else has written something similar already</a> and for the <a href="http://taint.org/wk/EmailUsabilityWishlist">same reason</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2007/06/18/conversation-threads-in-evolution/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Happy Birthday to Me!</title>
		<link>http://xkahn.zoned.net/blog/2007/04/25/happy-birthday-to-me/</link>
		<comments>http://xkahn.zoned.net/blog/2007/04/25/happy-birthday-to-me/#comments</comments>
		<pubDate>Wed, 25 Apr 2007 12:12:18 +0000</pubDate>
		<dc:creator>xkahn</dc:creator>
		
		<category><![CDATA[bragging]]></category>

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2007/04/25/happy-birthday-to-me/</guid>
		<description><![CDATA[Hmm&#8230;  31.
]]></description>
			<content:encoded><![CDATA[<p>Hmm&#8230;  31.</p>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2007/04/25/happy-birthday-to-me/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Big GNOME Announcement?</title>
		<link>http://xkahn.zoned.net/blog/2007/04/19/a-big-gnome-announcement/</link>
		<comments>http://xkahn.zoned.net/blog/2007/04/19/a-big-gnome-announcement/#comments</comments>
		<pubDate>Thu, 19 Apr 2007 15:56:09 +0000</pubDate>
		<dc:creator>xkahn</dc:creator>
		
		<category><![CDATA[GNOME]]></category>

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2007/04/19/a-big-gnome-announcement/</guid>
		<description><![CDATA[So I guess there is a big GNOME announcement today at noon Eastern Time today.  On IRC, people were trying to guess what it could be.  Here are some of the ideas, which are all very funny:

 the board decided to release gnome 2.20 as gnome 3.0
we are migration gnome desktop to web [...]]]></description>
			<content:encoded><![CDATA[<p>So I guess there is a big GNOME announcement today at noon Eastern Time today.  On IRC, people were trying to guess what it could be.  Here are some of the ideas, which are all very funny:</p>
<ul>
<li> the board decided to release gnome 2.20 as gnome 3.0</li>
<li>we are migration gnome desktop to web 2.0 on google</li>
<li>they are passing the power to a supreme chancellor
<ul>
<li>to start the clone war
<ul>
<li>jeff has passed to the dark side</li>
</ul>
</li>
</ul>
</li>
<li>GNOME will become the default environment for Macintosh</li>
<li>GNOME will be the successor of the vista GUI</li>
<li>The HIG was a huge mistake and we&#8217;re switching the button order back</li>
<li>we are going back to the old gnome stone logo</li>
<li>we&#8217;re releasing GTK+ 3.0
<ul>
<li>with support for Qt as a scripting language?
<ul>
<li>QScript, actually</li>
</ul>
</li>
</ul>
</li>
<li>there won&#8217;t be widgets anymore, the whole desktop is a large interactive SVG</li>
<li>GNOME switches to windows as the target platform</li>
<li>all applications are now required to have notification area icons</li>
<li>all applications will now be 50% transparent by default</li>
<li>all applications should be inside an applet</li>
<li>we&#8217;re adopting the ms office 2007 ribbon everywhere</li>
<li>we migrate our documentation system to .doc</li>
<li>We&#8217;re changing our name for trademark reasons to &#8220;Dwarf&#8221;</li>
<li>we are changing our name to GMAE because it&#8217;s a DOUBLE ACRO-BACKRO-NYM</li>
<li>Nautilus is getting support for animated desktop backgrounds</li>
<li>Eazel comes back to life, as well as Eazel services</li>
</ul>
<p><strong>Edit 4/19 @ 2:15 pm ET:</strong> Oh my.  Some of the <a href="http://xkahn.zoned.net/blog/2007/04/19/a-big-gnome-announcement/#comments">comments</a> are great!</p>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2007/04/19/a-big-gnome-announcement/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HOWTO: Creating An Automated Staging Server using CVS</title>
		<link>http://xkahn.zoned.net/blog/2007/03/22/howto-creating-an-automated-staging-server-using-cvs/</link>
		<comments>http://xkahn.zoned.net/blog/2007/03/22/howto-creating-an-automated-staging-server-using-cvs/#comments</comments>
		<pubDate>Thu, 22 Mar 2007 17:33:47 +0000</pubDate>
		<dc:creator>xkahn</dc:creator>
		
		<category><![CDATA[html]]></category>

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

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2007/03/22/howto-creating-an-automated-staging-server-using-cvs/</guid>
		<description><![CDATA[It&#8217;s easy to create an automated staging server for content that doesn&#8217;t need to be compiled (like most web content.)  The trick is that CVS has a very flexible logging system.  All you need to do is have your CVS server send an email on each check in and have the staging server [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s easy to create an automated staging server for content that doesn&#8217;t need to be compiled (like most web content.)  The trick is that CVS has a very flexible logging system.  All you need to do is have your CVS server send an email on each check in and have the staging server take that email and check out the files that changed.</p>
<p><a href="http://xkahn.zoned.net/blog/wp-content/uploads/2007/03/cvs-stage.png" title="CVS Automated Staging Process"></a></p>
<p style="text-align: center"><a href="http://xkahn.zoned.net/blog/wp-content/uploads/2007/03/cvs-stage.png" title="CVS Automated Staging Process"><img src="http://xkahn.zoned.net/blog/wp-content/uploads/2007/03/cvs-stage.png" title="CVS Automated Staging Process" alt="CVS Automated Staging Process" border="0" /></a></p>
<p><span id="more-14"></span>The Bonsai project helpfully <a href="http://lxr.mozilla.org/mozilla/source/webtools/bonsai/dolog.pl?raw=1" title="dolog.pl">wrote a nice perl script</a> which emails check in information in a machine readable format.  To use it:</p>
<ol>
<li> Check out the CVSROOT module on your CVS server</li>
<li>Copy the perl script into that directory</li>
<li>Add the line: <code>ALL      $CVSROOT/CVSROOT/dolog.pl -r /cvs cvs-watch@stage1.example.com</code> to <code>CVSROOT/loginfo</code>
<ol>
<li>where <code>/cvs</code> is whatever your cvs path is and <code>stage1.example.com</code> is your staging server</li>
</ol>
</li>
<li>Add the <code>dolog.pl</code> script, and check in the file and the change to <code>loginfo</code>.</li>
</ol>
<p>It&#8217;s simple to make the staging server respond to these emails.</p>
<ol>
<li>Edit your <code>/etc/aliases</code> file and add:  <code>cvs-watch:      "|cvs-robot"</code></li>
<li>Check out your CVS module in the appropriate place</li>
<li>Create <code>/etc/smrsh/cvs-robot</code></li>
</ol>
<p>So what goes in the cvs-robot script?</p>
<pre>#!/bin/shexport CVSROOT=':pserver:anonymous@cvs.example.com:/cvs'cd /var

touch /tmp/checkin-errors.log

grep 'www' | grep '. HEAD .' | cut -d" " -f3- | xargs -r cvs update -P -d &amp;&gt; /tmp/checkin-errors.log</pre>
<p>This file is only an example.  You&#8217;ll obviously have a different CVSROOT, and you&#8217;ll likely have checked out into a different place than /var.  Your module might not be &#8216;www&#8217; and your branch might not be HEAD.  Edit as appropriate.</p>
<p><strong>Bugs</strong></p>
<p>So what doesn&#8217;t work?  Well, if you add a new directory, this script fails.  I&#8217;m not sure why.  You&#8217;ll need to log onto stage1 and do an update manually to get new directories.  Luckily, adding a directory is usually rare.</p>
<p>The update is checked out using the root account.  I&#8217;m not sure what the security concerns are about doing that, and it&#8217;s possible you may have permissions issues.  You can create a simple wrapper script  that calls the real update command:</p>
<pre>#!/bin/shsudo -u apache /etc/smrsh/cvs-robot-real</pre>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2007/03/22/howto-creating-an-automated-staging-server-using-cvs/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Even more twisty HTML</title>
		<link>http://xkahn.zoned.net/blog/2007/02/28/even-more-twisty-html/</link>
		<comments>http://xkahn.zoned.net/blog/2007/02/28/even-more-twisty-html/#comments</comments>
		<pubDate>Wed, 28 Feb 2007 17:17:21 +0000</pubDate>
		<dc:creator>xkahn</dc:creator>
		
		<category><![CDATA[html]]></category>

		<guid isPermaLink="false">http://xkahn.zoned.net/blog/2007/02/28/even-more-twisty-html/</guid>
		<description><![CDATA[Whew!  Yesterday I received a number of comments and complaints about my small twisty (disclosure triangle) library.  To review:

It didn&#8217;t work in Internet Explorer.  (Not too surprising since I don&#8217;t have access to a Windows machine for testing.)
It was a little ugly.  (Okay, no one said that, but I think it [...]]]></description>
			<content:encoded><![CDATA[<p>Whew!  Yesterday I received a number of comments and complaints about my small twisty (disclosure triangle) library.  To review:</p>
<ul>
<li>It didn&#8217;t work in Internet Explorer.  <em>(Not too surprising since I don&#8217;t have access to a Windows machine for testing.)</em></li>
<li>It was a little ugly.  <em>(Okay, no one said that, but I think it was implied.)</em></li>
<li> The hidden sections would display for a moment before being hidden.</li>
<li>It wasn&#8217;t keyboard accessible.</li>
<li>I had a typo in the script.</li>
<li>The hiding animation wasn&#8217;t the same speed as the twisty animation.</li>
</ul>
<p>So I&#8217;ve tried again with some good ideas from the <a href="http://swat.silverorange.com/demo/index.php?demo=Disclosure">SWAT tooklit</a>.  You can try the <a href="http://script.aculo.us/">script.aculo.us</a> <a href="http://xkahn.zoned.net/software/twisty2/twisty.html">animated version</a> or the <a href="http://xkahn.zoned.net/software/twisty2/twisty-noslide.html">plain non-animated version</a>.  You can also simply <a href="http://xkahn.zoned.net/software/twisty2/twisty2.tar.gz">download the whole thing as a tar file</a> to play with.</p>
<p>To use this on your own, you need to include the twisty.js file in your code:</p>
<p><code>&lt;script type="text/javascript" src="twisty.js"&gt;&lt;/script&gt;</code></p>
<p>You should also include the two external style sheets:</p>
<p><code>&lt;link rel="stylesheet" href="twisty.css" type="text/css" media="screen"&gt;&lt;/link&gt;<br />
&lt;link rel="stylesheet" href="twisty-print.css" type="text/css" media="print"&gt;&lt;/link&gt;</code></p>
<p>You no longer need any changes to your &lt;body&gt; tag.</p>
<p>To define a twisty, use this template:</p>
<p><code>&lt;div class="collapsible"&gt;&lt;a href="javascript:toggleTwisty('uniqueid');"&gt;The Section Title&lt;img class="twisty" src="twisty-down.gif"&gt;&lt;/a&gt;<br />
&lt;div id="uniqueid"&gt;<br />
&lt;div&gt;<br />
Section Content<br />
&lt;/div&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt;</code></p>
<p>If you want the section to default to hidden, simpy add this code to the end of the above code snippet. (after the last &lt;/div&gt;)</p>
<p><code>&lt;script type="text/javascript"&gt;<br />
hideTwisty('uniqueid');<br />
&lt;/script&gt;</code></p>
<p>Hopefully, this version works better.</p>
]]></content:encoded>
			<wfw:commentRss>http://xkahn.zoned.net/blog/2007/02/28/even-more-twisty-html/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
