<?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>Allen Day's Blog &#187; Networking</title>
	<atom:link href="http://www.spicylogic.com/allenday/blog/category/business/networking/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.spicylogic.com/allenday/blog</link>
	<description>♥data♥</description>
	<lastBuildDate>Mon, 21 Jun 2010 23:28:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>How to fix the meetup.com broken exported calendars.</title>
		<link>http://www.spicylogic.com/allenday/blog/2010/01/15/how-to-fix-the-meetupcom-broken-exported-calendars/</link>
		<comments>http://www.spicylogic.com/allenday/blog/2010/01/15/how-to-fix-the-meetupcom-broken-exported-calendars/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 08:57:12 +0000</pubDate>
		<dc:creator>allenday</dc:creator>
				<category><![CDATA[Administration]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.spicylogic.com/allenday/blog/?p=112</guid>
		<description><![CDATA[I&#8217;m a big fan of meetup.com, but they&#8217;re so tragically unhip when it comes to mashups/integration/web 2.0.  One of my biggest gripes until about 6 months ago was that they had no facility (besides API) for exporting a calendar of meetups to my calendar app (I use Google Calendar), or any other calendar app for [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a big fan of <a href="http://meetup.com">meetup.com</a>, but they&#8217;re so tragically unhip when it comes to mashups/integration/web 2.0.  One of my biggest gripes until about 6 months ago was that they had no facility (besides API) for exporting a calendar of meetups to my calendar app (I use Google Calendar), or any other calendar app for that matter.</p>
<p>They introduced an export feature recently, but it&#8217;s pretty useless.  Here&#8217;s why: they offer two calendars</p>
<ul>
<li>[Calendar A] contains all upcoming items in all your meetup groups</li>
<li>[Calendar B] contains upcoming items which you have RSVP&#8217;d with &#8220;yes&#8221; or &#8220;maybe&#8221;.</li>
</ul>
<p>That&#8217;s it.  The calendars exported don&#8217;t even contain links that allow you to RSVP from directly inside your calendar &#8212; you have click through to the meetup.com site, log in, then RSVP.  Ugh.</p>
<p> </p>
<p>Come on, product guys.  What&#8217;s really called for is 4 separate calendars.</p>
<ul>
<li>[Calendar "yes"] All groups, &#8220;yes&#8221; events</li>
<li>[Calendar "maybe"] All groups, &#8220;maybe&#8221; events</li>
<li>[Calendar "no"] All groups, &#8220;no&#8221; events</li>
<li>[Calendar "none"] All groups, events to which I have not yet submitted an RSVP.</li>
</ul>
<p>I was finally just pissed off enough about the status quo that I fixed it for myself, and below I share the code.  You can try it out here: <a href="http://spicylogic.com/allenday/cgi-bin/mu.cgi?key=&lt;your_api_key&gt;&amp;cal=&lt;calendar&gt;">http://spicylogic.com/allenday/cgi-bin/mu.cgi?key=&lt;your_api_key&gt;&amp;cal=&lt;calendar&gt;</a> </p>
<p>where &lt;your_api_key&gt; can be found <a href="http://www.meetup.com/account/oauth_apps/">here</a> and &lt;calendar&gt; is one of &#8220;yes&#8221;, &#8220;no&#8221;, &#8220;none&#8221;, &#8220;maybe&#8221;.</p>
<p>Okay, here&#8217;s the code.  Install it on your own machine if possible, my ISP will appreciate it.  If you find fuckups, let me know and I&#8217;ll update the post.</p>

<div class="wp_syntax"><div class="code"><pre class="perl"><span style="color: #808080; font-style: italic;">#!/usr/bin/perl</span>
<span style="color: #000000; font-weight: bold;">use</span> strict;
<span style="color: #000000; font-weight: bold;">use</span> CGI <span style="color: #000066;">qw</span><span style="color: #66cc66;">&#40;</span>:standard<span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">use</span> Date::<span style="color: #006600;">Manip</span> <span style="color: #000066;">qw</span><span style="color: #66cc66;">&#40;</span>ParseDate ParseDateString ParseDateDelta DateCalc UnixDate<span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">use</span> Date::<span style="color: #006600;">Parse</span>;
<span style="color: #000000; font-weight: bold;">use</span> HTML::<span style="color: #006600;">Entities</span>;
<span style="color: #000000; font-weight: bold;">use</span> LWP::<span style="color: #006600;">Simple</span> <span style="color: #000066;">qw</span><span style="color: #66cc66;">&#40;</span>get<span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">use</span> XML::<span style="color: #006600;">DOM</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> constant URL_EVENTS =<span style="color: #66cc66;">&amp;</span>gt; <span style="color: #ff0000;">'http://api.meetup.com/events?key=%s&amp;amp;member_id=%d&amp;amp;format=xml'</span>;
&nbsp;
<span style="color: #000066;">print</span> header<span style="color: #66cc66;">&#40;</span><span style="color: #000066;">q</span><span style="color: #66cc66;">&#40;</span>text<span style="color: #66cc66;">/</span>calendar<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$parser</span> = <span style="color: #000000; font-weight: bold;">new</span> XML::<span style="color: #006600;">DOM</span>::<span style="color: #006600;">Parser</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$mode</span> = param<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'cal'</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$key</span>  = param<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'key'</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$user</span> = param<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'user'</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">!</span> <span style="color: #0000ff;">$mode</span> <span style="color: #66cc66;">||</span> <span style="color: #66cc66;">!</span> <span style="color: #0000ff;">$key</span> <span style="color: #66cc66;">||</span> <span style="color: #66cc66;">!</span> <span style="color: #0000ff;">$user</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #000066;">die</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$events_url</span> = <span style="color: #000066;">sprintf</span><span style="color: #66cc66;">&#40;</span> URL_EVENTS, <span style="color: #0000ff;">$key</span>, <span style="color: #0000ff;">$user</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">#warn $events_url;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$events_txt</span> = get<span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$events_url</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">#warn $events_txt;</span>
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$events_dom</span> = <span style="color: #0000ff;">$parser</span>-<span style="color: #66cc66;">&amp;</span>gt;parse<span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$events_txt</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">#warn $events_dom;</span>
&nbsp;
<span style="color: #000066;">print</span> <span style="color: #000066;">qq</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">BEGIN</span>:VCALENDAR\nPRODID:-<span style="color: #66cc66;">//</span>Meetup Inc<span style="color: #66cc66;">//</span>RemoteApi<span style="color: #66cc66;">//</span>EN\nVERSION:<span style="color: #cc66cc;">2.0</span>\nMETHOD:PUBLISH\nCALSCALE:GREGORIAN\nX-ORIGINAL-URL:http:<span style="color: #66cc66;">//</span>www.meetup.com<span style="color: #66cc66;">/</span>\nX-WR-CALNAME:mu <span style="color: #0000ff;">$mode</span>\n<span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$events</span> = <span style="color: #0000ff;">$events_dom</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'item'</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #b1b100;">for</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$i</span> = <span style="color: #cc66cc;">0</span> ; <span style="color: #0000ff;">$i</span> <span style="color: #66cc66;">&amp;</span>lt; <span style="color: #0000ff;">$events</span>-<span style="color: #66cc66;">&amp;</span>gt;getLength<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> ; <span style="color: #0000ff;">$i</span>++ <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$event</span> = <span style="color: #0000ff;">$events</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$i</span> <span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_id</span>    = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'id'</span>             <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_rsvp</span>  = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'myrsvp'</span>         <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_addr0</span> = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'venue_name'</span>     <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_addr1</span> = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'venue_address1'</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_addr2</span> = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'venue_address2'</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_addr3</span> = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'venue_address3'</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_addr4</span> = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'venue_city'</span>     <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_addr5</span> = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'venue_state'</span>    <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_addr6</span> = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'venue_zip'</span>      <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_desc</span>  = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'description'</span>    <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_link</span>  = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'event_url'</span>      <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_name</span>  = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'name'</span>           <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_lat</span>   = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'venue_lat'</span>      <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_lon</span>   = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'venue_lon'</span>      <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$n_start_time</span>  = <span style="color: #0000ff;">$event</span>-<span style="color: #66cc66;">&amp;</span>gt;getElementsByTagName<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">'time'</span>           <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;item<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>-<span style="color: #66cc66;">&amp;</span>gt;getFirstChild<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$start_time</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$end_time</span>;
&nbsp;
  <span style="color: #808080; font-style: italic;">#my $dummy_time = &quot;20000101T000000Z&quot;;</span>
  <span style="color: #b1b100;">my</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$sec</span>,<span style="color: #0000ff;">$min</span>,<span style="color: #0000ff;">$hour</span>,<span style="color: #0000ff;">$mday</span>,<span style="color: #0000ff;">$mon</span>,<span style="color: #0000ff;">$year</span>,<span style="color: #0000ff;">$wday</span>,<span style="color: #0000ff;">$yday</span>,<span style="color: #0000ff;">$isdst</span><span style="color: #66cc66;">&#41;</span> = <span style="color: #000066;">localtime</span><span style="color: #66cc66;">&#40;</span><span style="color: #000066;">time</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
  <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$dummy_time</span> = <span style="color: #000066;">sprintf</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000066;">q</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">%</span>04d<span style="color: #66cc66;">%</span>02d<span style="color: #66cc66;">%</span>02dT<span style="color: #66cc66;">%</span>02d<span style="color: #66cc66;">%</span>02d<span style="color: #66cc66;">%</span>02dZ<span style="color: #66cc66;">&#41;</span>, <span style="color: #0000ff;">$year</span> + <span style="color: #cc66cc;">1900</span>, <span style="color: #0000ff;">$mon</span> + <span style="color: #cc66cc;">1</span>, <span style="color: #0000ff;">$mday</span>, <span style="color: #0000ff;">$hour</span>, <span style="color: #0000ff;">$min</span>, <span style="color: #0000ff;">$sec</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$n_start_time</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$ss</span>,<span style="color: #0000ff;">$mm</span>,<span style="color: #0000ff;">$hh</span>,<span style="color: #0000ff;">$day</span>,<span style="color: #0000ff;">$month</span>,<span style="color: #0000ff;">$year</span>,<span style="color: #0000ff;">$zone</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$ss</span>,<span style="color: #0000ff;">$mm</span>,<span style="color: #0000ff;">$hh</span>,<span style="color: #0000ff;">$day</span>,<span style="color: #0000ff;">$month</span>,<span style="color: #0000ff;">$year</span>,<span style="color: #0000ff;">$zone</span><span style="color: #66cc66;">&#41;</span> = strptime<span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$n_start_time</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$start_time</span> = <span style="color: #000066;">sprintf</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000066;">q</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">%</span>04d<span style="color: #66cc66;">%</span>02d<span style="color: #66cc66;">%</span>02dT<span style="color: #66cc66;">%</span>02d<span style="color: #66cc66;">%</span>02d<span style="color: #66cc66;">%</span>02dZ<span style="color: #66cc66;">&#41;</span>, <span style="color: #0000ff;">$year</span> + <span style="color: #cc66cc;">1900</span>, <span style="color: #0000ff;">$month</span> + <span style="color: #cc66cc;">1</span>, <span style="color: #0000ff;">$day</span>, <span style="color: #0000ff;">$hh</span>, <span style="color: #0000ff;">$mm</span>, <span style="color: #0000ff;">$ss</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$eday</span> = <span style="color: #0000ff;">$day</span>;
    <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$hh</span> == <span style="color: #cc66cc;">23</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
      <span style="color: #0000ff;">$eday</span> = <span style="color: #0000ff;">$day</span> + <span style="color: #cc66cc;">1</span>;
    <span style="color: #66cc66;">&#125;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$ehh</span> = <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$hh</span> + <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%</span> <span style="color: #cc66cc;">24</span>;
    <span style="color: #0000ff;">$end_time</span>   = <span style="color: #000066;">sprintf</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000066;">q</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">%</span>04d<span style="color: #66cc66;">%</span>02d<span style="color: #66cc66;">%</span>02dT<span style="color: #66cc66;">%</span>02d<span style="color: #66cc66;">%</span>02d<span style="color: #66cc66;">%</span>02dZ<span style="color: #66cc66;">&#41;</span>, <span style="color: #0000ff;">$year</span> + <span style="color: #cc66cc;">1900</span>, <span style="color: #0000ff;">$month</span> + <span style="color: #cc66cc;">1</span>, <span style="color: #0000ff;">$eday</span>, <span style="color: #0000ff;">$ehh</span>, <span style="color: #0000ff;">$mm</span>, <span style="color: #0000ff;">$ss</span> <span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
  <span style="color: #b1b100;">else</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #0000ff;">$start_time</span> = <span style="color: #ff0000;">''</span>;
    <span style="color: #0000ff;">$end_time</span> = <span style="color: #ff0000;">''</span>;
  <span style="color: #66cc66;">&#125;</span>
&nbsp;
  <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$mode</span> eq <span style="color: #0000ff;">$n_rsvp</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$id</span>   = <span style="color: #0000ff;">$n_id</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$name</span> = <span style="color: #0000ff;">$n_name</span> ? <span style="color: #0000ff;">$n_name</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #ff0000;">&quot;&quot;</span>;
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$desc</span> = <span style="color: #0000ff;">$n_desc</span> ? <span style="color: #0000ff;">$n_desc</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #ff0000;">&quot;&quot;</span>;
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$addr</span> = <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$n_addr0</span> ? <span style="color: #0000ff;">$n_addr0</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">', '</span> : <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">&#41;</span>
             . <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$n_addr1</span> ? <span style="color: #0000ff;">$n_addr1</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">', '</span> : <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">&#41;</span>
             . <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$n_addr2</span> ? <span style="color: #0000ff;">$n_addr2</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">', '</span> : <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">&#41;</span>
             . <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$n_addr3</span> ? <span style="color: #0000ff;">$n_addr3</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">', '</span> : <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">&#41;</span>
             . <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$n_addr4</span> ? <span style="color: #0000ff;">$n_addr4</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">', '</span> : <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">&#41;</span>
             . <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$n_addr5</span> ? <span style="color: #0000ff;">$n_addr5</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #ff0000;">', '</span> : <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">&#41;</span>
             . <span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$n_addr6</span> ? <span style="color: #0000ff;">$n_addr6</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #ff0000;">&quot;&quot;</span> <span style="color: #66cc66;">&#41;</span>;
    <span style="color: #808080; font-style: italic;">#$desc =~ s/(.)/(ord($1) &amp;gt; 127) ? &quot;&quot; : $1/egs;</span>
&nbsp;
    <span style="color: #0000ff;">$name</span> = HTML::<span style="color: #006600;">Entities</span>::<span style="color: #006600;">decode_entities</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$name</span> <span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$desc</span> = HTML::<span style="color: #006600;">Entities</span>::<span style="color: #006600;">decode_entities</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$desc</span> <span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$addr</span> = HTML::<span style="color: #006600;">Entities</span>::<span style="color: #006600;">decode_entities</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0000ff;">$addr</span> <span style="color: #66cc66;">&#41;</span>;
    <span style="color: #0000ff;">$name</span> =~ <span style="color: #000066;">s</span><span style="color: #66cc66;">/</span>,<span style="color: #66cc66;">/</span>\\,<span style="color: #66cc66;">/</span>g;
    <span style="color: #0000ff;">$desc</span> =~ <span style="color: #000066;">s</span><span style="color: #66cc66;">/</span>,<span style="color: #66cc66;">/</span>\\,<span style="color: #66cc66;">/</span>g;
    <span style="color: #0000ff;">$addr</span> =~ <span style="color: #000066;">s</span><span style="color: #66cc66;">/</span>,<span style="color: #66cc66;">/</span>\\,<span style="color: #66cc66;">/</span>g;
&nbsp;
    <span style="color: #0000ff;">$desc</span> =~ <span style="color: #000066;">s</span><span style="color: #808080; font-style: italic;">#</span>
<span style="color: #808080; font-style: italic;">#\\n#gs;</span>
    <span style="color: #0000ff;">$desc</span> .= <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>nGoing?<span style="color: #000099; font-weight: bold;">\\</span>n<span style="color: #000099; font-weight: bold;">\\</span>n&quot;</span>;
    <span style="color: #b1b100;">foreach</span> <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$response</span> <span style="color: #66cc66;">&#40;</span> <span style="color: #000066;">qw</span><span style="color: #66cc66;">&#40;</span> yes <span style="color: #000066;">no</span> maybe <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
      <span style="color: #0000ff;">$desc</span> .= <span style="color: #000066;">uc</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$response</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #000066;">qq</span><span style="color: #66cc66;">&#40;</span>: http:<span style="color: #66cc66;">//</span>api.meetup.com<span style="color: #66cc66;">/</span>rsvp?event_id=<span style="color: #0000ff;">$id</span><span style="color: #66cc66;">&amp;</span>amp;key=<span style="color: #0000ff;">$key</span><span style="color: #66cc66;">&amp;</span>amp;rsvp=<span style="color: #0000ff;">$response</span>\\n<span style="color: #66cc66;">&#41;</span>;
    <span style="color: #66cc66;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$geo</span> = <span style="color: #0000ff;">$n_lat</span> <span style="color: #66cc66;">&amp;</span>amp;<span style="color: #66cc66;">&amp;</span>amp; <span style="color: #0000ff;">$n_lon</span> ? <span style="color: #ff0000;">&quot;GEO:&quot;</span> . <span style="color: #0000ff;">$n_lat</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> . <span style="color: #ff0000;">&quot;;&quot;</span> . <span style="color: #0000ff;">$n_lon</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> . <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> : <span style="color: #000066;">undef</span>;
&nbsp;
    <span style="color: #808080; font-style: italic;">#print sprintf( qq(BEGIN:VEVENT\nSUMMARY:%s\nDESCRIPTION:%s\nLAST-MODIFIED:%s\nUID:%s\nCLASS:%s\nCREATED:%s\nDTSTAMP:%s\nDTSTART:%s\nDTEND:%s\nLOCATION:%s\n\nURL:%s\nEND:VEVENT\n),</span>
    <span style="color: #000066;">print</span> <span style="color: #000066;">sprintf</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000066;">qq</span><span style="color: #66cc66;">&#40;</span><span style="color: #000000; font-weight: bold;">BEGIN</span>:VEVENT\nSUMMARY:<span style="color: #0000ff;">%s</span>\nDESCRIPTION:<span style="color: #0000ff;">%s</span>\nLAST-MODIFIED:<span style="color: #0000ff;">%s</span>\nUID:<span style="color: #0000ff;">%s</span>\nCLASS:<span style="color: #0000ff;">%s</span>\nCREATED:<span style="color: #0000ff;">%s</span>\nDTSTAMP:<span style="color: #0000ff;">%s</span>\nDTSTART:<span style="color: #0000ff;">%s</span>\nDTEND:<span style="color: #0000ff;">%s</span>\n<span style="color: #0000ff;">%sLOCATION</span>:<span style="color: #0000ff;">%s</span>\nURL:<span style="color: #0000ff;">%s</span>\nEND:VEVENT\n<span style="color: #66cc66;">&#41;</span>,
      <span style="color: #0000ff;">$name</span>,
      <span style="color: #0000ff;">$desc</span>,
      <span style="color: #0000ff;">$start_time</span>,
      <span style="color: #ff0000;">&quot;event_$id<span style="color: #000099; font-weight: bold;">\@</span>meetup.com&quot;</span>,
      <span style="color: #ff0000;">&quot;PUBLIC&quot;</span>,
      <span style="color: #0000ff;">$dummy_time</span>,
      <span style="color: #0000ff;">$dummy_time</span>,
      <span style="color: #0000ff;">$start_time</span>,
      <span style="color: #0000ff;">$end_time</span>,
      <span style="color: #0000ff;">$geo</span>,
      <span style="color: #0000ff;">$addr</span>,
      <span style="color: #0000ff;">$n_link</span> ? <span style="color: #0000ff;">$n_link</span>-<span style="color: #66cc66;">&amp;</span>gt;toString<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> : <span style="color: #ff0000;">&quot;&quot;</span>,
    <span style="color: #66cc66;">&#41;</span>;
  <span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000066;">print</span> <span style="color: #000066;">qq</span><span style="color: #66cc66;">&#40;</span>END:VCALENDAR\n<span style="color: #66cc66;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.spicylogic.com/allenday/blog/2010/01/15/how-to-fix-the-meetupcom-broken-exported-calendars/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>a small world / celebrity encounter</title>
		<link>http://www.spicylogic.com/allenday/blog/2008/12/09/a-small-world-celebrity-encounter/</link>
		<comments>http://www.spicylogic.com/allenday/blog/2008/12/09/a-small-world-celebrity-encounter/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 06:41:04 +0000</pubDate>
		<dc:creator>allenday</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Random musings]]></category>

		<guid isPermaLink="false">http://www.spicylogic.com/allenday/blog/2008/12/09/a-small-world-celebrity-encounter/</guid>
		<description><![CDATA[1. Noticed a new Tesla Motors showroom in Los Angeles at Sepulveda/405 on Santa Monica Blvd last night on my drive to my guitar lesson.  Made a mental note to stop by and check it out, looks like they have some museum-style exhibits &#8211;fuel cell cutaways, etc of the car.
2. Was talking it up [...]]]></description>
			<content:encoded><![CDATA[<p>1. Noticed a new <a href="http://teslamotors.com">Tesla Motors</a> showroom in Los Angeles at Sepulveda/405 on Santa Monica Blvd last night on my drive to my <a href="http://boulevardmusic.com">guitar lesson</a>.  Made a mental note to stop by and check it out, looks like they have some museum-style exhibits &#8211;fuel cell cutaways, etc of the car.</p>
<p>2. Was talking it up to some friends/coworkers earlier today.</p>
<p>3. Was planning to go to the <a href="http://www.meetup.com/hadoopla/calendar/8964698/">Hadoop Meetup</a> tonight at <a href="http://mahalo.com">Mahalo</a>, but skipped it and worked late.</p>
<p>4. Saw an orange <a href="http://lotuscars.com">Lotus</a> pass me on the way home&#8230; but wait&#8230; it has a TESLA logo!  I pursued, thinking it was kind of late for a test drive.</p>
<p>5. Pulled up at a red light to listen to the silence / congratulate the driver on his <a href="http://www.facebook.com/album.php?aid=68116&#038;id=504598293#/photo.php?pid=1582758&#038;id=504598293">nice ride</a>.  Honked my horn.</p>
<p>6. Driver rolls down the window and turns to me, and it&#8217;s none other than the CEO of Mahalo, <a href="http://www.calacanis.com">Jason Calacanis</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.spicylogic.com/allenday/blog/2008/12/09/a-small-world-celebrity-encounter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming AI / Machine Learning Conferences</title>
		<link>http://www.spicylogic.com/allenday/blog/2008/12/05/upcoming-ai-machine-learning-conferences/</link>
		<comments>http://www.spicylogic.com/allenday/blog/2008/12/05/upcoming-ai-machine-learning-conferences/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 19:49:13 +0000</pubDate>
		<dc:creator>allenday</dc:creator>
				<category><![CDATA[Analytics]]></category>
		<category><![CDATA[Informatics]]></category>
		<category><![CDATA[Mathematics]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Science]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Statistics]]></category>

		<guid isPermaLink="false">http://www.spicylogic.com/allenday/blog/2008/12/05/upcoming-ai-machine-learning-conferences/</guid>
		<description><![CDATA[A (partial) list I found today.  Doesn&#8217;t include NIPS, so I&#8217;m not sure how exhaustive it is, but it has a bunch I haven&#8217;t seen before.
http://www.kmining.com/info_conferences.html
]]></description>
			<content:encoded><![CDATA[<p>A (partial) list I found today.  Doesn&#8217;t include NIPS, so I&#8217;m not sure how exhaustive it is, but it has a bunch I haven&#8217;t seen before.</p>
<p><a href="http://www.kmining.com/info_conferences.html">http://www.kmining.com/info_conferences.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spicylogic.com/allenday/blog/2008/12/05/upcoming-ai-machine-learning-conferences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Los Angeles SoC(i)al Tech Scene</title>
		<link>http://www.spicylogic.com/allenday/blog/2008/05/30/los-angeles-social-tech-scene/</link>
		<comments>http://www.spicylogic.com/allenday/blog/2008/05/30/los-angeles-social-tech-scene/#comments</comments>
		<pubDate>Fri, 30 May 2008 20:37:35 +0000</pubDate>
		<dc:creator>allenday</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Computing]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://www.spicylogic.com/allenday/blog/?p=32</guid>
		<description><![CDATA[This post has moved
]]></description>
			<content:encoded><![CDATA[<p>This post has <a href="http://www.spicylogic.com/allenday/blog/los-angeles-socal-social-tech-scene/">moved</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.spicylogic.com/allenday/blog/2008/05/30/los-angeles-social-tech-scene/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
