<?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>Code Iteratively &#187; free</title>
	<atom:link href="http://iterat.ive.ly/index.php/tag/free/feed/" rel="self" type="application/rss+xml" />
	<link>http://iterat.ive.ly</link>
	<description>code. cycling. music.</description>
	<lastBuildDate>Wed, 08 Sep 2010 19:50:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Sphinx Search C# .NET Client&#160;API</title>
		<link>http://iterat.ive.ly/index.php/2008/01/05/sphinx-search-c-net-client-api/</link>
		<comments>http://iterat.ive.ly/index.php/2008/01/05/sphinx-search-c-net-client-api/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 06:04:03 +0000</pubDate>
		<dc:creator>Christopher Gooley</dc:creator>
				<category><![CDATA[dot.net]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[sphinx]]></category>

		<guid isPermaLink="false">http://iterat.ive.ly/index.php/2008/01/05/sphinx-search-c-net-client-api/</guid>
		<description><![CDATA[Need a C# native client API for Sphinx Search to use in your C# or VB ASP.NET projects? So did I, so I wrote one. Yesterday, I found Sphinx Search and decided to try implementing it in place of the (horrid) MySql Fulltext searching for my Photocore project. After downloading the binaries and indexing a [...]]]></description>
			<content:encoded><![CDATA[<p>Need a C# native client API for <a href="http://sphinxsearch.com">Sphinx Search</a> to use in your C# or VB ASP.NET projects?  So did I, so I wrote one.</p>
<p>Yesterday, I found Sphinx Search and decided to try implementing it in place of the (horrid) MySql Fulltext searching for my <a href="http://photocore.us">Photocore</a> project.  After downloading the binaries and indexing a couple million rows of metadata, I was amazed at how well it performs.  It indexed all my data in less than a minute (compared to the 30 minutes required by MySql Fulltext) and I haven&#8217;t come up with a search that takes longer than 0.005 seconds. I was hooked immediately.  So I needed a .NET API because I didn&#8217;t want to patch my database server to use the Sphinx plugin.</p>
<p>Source download after the jump.<br />
<span id="more-36"></span></p>
<p class="download">Download v0.2 <a href="http://files.thegooley.com/SphinxSearchApiSrc-0.9.8-dev-2.zip">source</a> | <a href="http://files.thegooley.com/SphinxSearchApiBin-0.9.8-dev-2.zip">binaries</a></p>
<p>Download has no warranties, blah, blah, blah.  It&#8217;s based on the Java API and is released under the GNU GPL license.</p>
<p><strong>Important Note</strong><br />
It does not have all the features implemented.  Most notably, it does not have support for Exceprts.  If you modify code to make it work, send it back and I&#8217;ll post the updated version here.  Or, if I get enough requests to implement it, I might.  But my use of Sphinx does not include excerpts, so I didn&#8217;t bother at this point.</p>
<p><strong>Other Notes</strong><br />
This is a pretty quick-and-dirty project, I&#8217;ll proabably clean it up over time and repost new versions, but for now make sure you test it thoroughly before putting it into production on your own sites.  That&#8217;s your responsibility&#8230;</p>
<p>It is tested against the Sphinx searchd server version 0.9.8-dev running on both linux (ubuntu) and windows (vista) with simple queries only.  I didn&#8217;t do anything fancy in my queries.</p>
<p>It does not work against 0.9.7 or earlier because those did not support multiple queries.  It <em>should</em> work against future versions of Sphinx server.  No promises though.</p>
<p><strong>Usage</strong><br />
Super-simple to use after you have a searchd server running with an index.  Three lines will do a search for &#8220;rose bowl gooley&#8221; matching any index (&#8220;*&#8221;) and will get the second page of results (items 41-80) with a max result count of 10,000 documents.</p>
<pre>
// set hostname and port defaults
SphinxClient cli = new SphinxClient(hostname, 3312);

// set the pagination params
// (this is page 2, 40 per page, 10000 max)
cli.SetLimits(40, 40, 10000);

// define the query and index
// ("*" means any index)
cli.AddQuery("rose bowl gooley", "*");

// run the query and get the results
SphinxResult[] results = cli.RunQueries();
</pre>
<p>The SphinxResult object contains an array of SphinxMatches which will provide you with the DocumentId numbers for all matches.  Simple as that.</p>
<p>Happy searching!</p>
]]></content:encoded>
			<wfw:commentRss>http://iterat.ive.ly/index.php/2008/01/05/sphinx-search-c-net-client-api/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>GCalendarSync&#160;- Update</title>
		<link>http://iterat.ive.ly/index.php/2006/12/25/gcalendarsync-update/</link>
		<comments>http://iterat.ive.ly/index.php/2006/12/25/gcalendarsync-update/#comments</comments>
		<pubDate>Tue, 26 Dec 2006 06:55:11 +0000</pubDate>
		<dc:creator>Christopher Gooley</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[gcalsync]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://iterat.ive.ly/index.php/2006/12/25/gcalendarsync-update/</guid>
		<description><![CDATA[Bugs fixed in this release: All-Day events now are imported onto the correct day (instead of a day early) Non @gmail.com usernames are accepted. If you use &#8220;thegooley&#8221; it will assume &#8220;thegooley@gmail.com&#8221;, but you can also use &#8220;thegooley@hotmail.com&#8221; by providing your entire email address The FAILED error message has been modified to display the actual [...]]]></description>
			<content:encoded><![CDATA[<p>Bugs fixed in this release:</p>
<ul>
<li>All-Day events now are imported onto the correct day (instead of a day early)</li>
<li>Non @gmail.com usernames are accepted.  If you use &#8220;thegooley&#8221; it will assume &#8220;thegooley@gmail.com&#8221;, but you can also use &#8220;thegooley@hotmail.com&#8221; by providing your entire email address</li>
<li>The FAILED error message has been modified to display the actual error text, so please report what it says when you post about a problem</li>
<li>Error log file changed from ApplicationDataGCalSyncGCalSyncErrors.<em>xml</em> to GCalSyncErrors.<em>txt</em> (it was never actually an XML file, but was named that due to an oversight by me)</li>
</ul>
<p>Download after the jump<br />
<span id="more-20"></span></p>
<p class="download">
Download <a href="http://files.thegooley.com/gcal/GCalSyncSetup.CAB">installer cab</a> | <a href="http://files.thegooley.com/gcal/GCalSync_source.zip">source</a>
</p>
<p>Source zip file now includes the <a href="http://code.google.com/apis/gdata/calendar.html">Google API library</a> with my modification described <a href="/index.php/2006/12/15/gcalendarsync-v02-fix/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterat.ive.ly/index.php/2006/12/25/gcalendarsync-update/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>GCalendarSync v0.2&#160;Release + Source</title>
		<link>http://iterat.ive.ly/index.php/2006/12/13/gcalendarsync-v02-release-source/</link>
		<comments>http://iterat.ive.ly/index.php/2006/12/13/gcalendarsync-v02-release-source/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 06:33:43 +0000</pubDate>
		<dc:creator>Christopher Gooley</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[gcalsync]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://iterat.ive.ly/index.php/2006/12/13/gcalendarsync-v02-release-source/</guid>
		<description><![CDATA[What is GCalendarSync? Go to the project page&#8230; Download installer cab &#124; source If you just want to use it on your mobile, hit that binary cab link from pocket IE and it will install for you. No, I didn&#8217;t sign my assemblies (i don&#8217;t have a real certificate), so be prepared to click through [...]]]></description>
			<content:encoded><![CDATA[<p>What is GCalendarSync? Go to the <a href="/index.php/projects/gcalendarsync">project page</a>&#8230;</p>
<p class="download">Download <a href="http://files.thegooley.com/gcal/GCalSyncSetup.CAB">installer cab</a> | <a href="http://files.thegooley.com/gcal/gcalsync_source.zip">source</a></p>
<p>If you just want to use it on your mobile, hit that binary cab link from pocket IE and it will install for you. No, I didn&#8217;t sign my assemblies (i don&#8217;t have a real certificate), so be prepared to click through some warnings. <em>You&#8217;ll need the .NET 2.0 Compact Framework installed for this app and you can get it from Microsoft <a href="http://www.microsoft.com/downloads/details.aspx?familyid=0C1B0A88-59E2-4EBA-A70E-4CD851C5FCC4&#038;displaylang=en">here</a>.</em></p>
<p>I have been using it for a day now with no issues but all the usual disclaimers apply. Use it at your own risk. I&#8217;m releasing this under the <a href="http://creativecommons.org/licenses/by-sa/2.5/">Creative Commons Attribution-ShareAlike 2.5 License</a>. Share it and Remix it, but let me know what you&#8217;re doing with it so we can enjoy it too.</p>
<div>Oops&#8230; It just came to my attention that there&#8217;s already something out there called GCalSync. Wow it&#8217;s a small world. That app is *shiver* in java, so I need a new name for this app! Suggestions please :-)</div>
<p>More detailed release notes after the jump&#8230;<br />
<span id="more-7"></span><br />
<strong>Important Note</strong><br />
<em>Make sure your device timezone is set correctly.</em><br />
When the app launches, the status bar will show your timezone, if it&#8217;s not correct go fix it before you sync. Google stores in GMT, and the app has to convert to local time for you. If your timezone isn&#8217;t right you&#8217;ll get wierd times on all your appointments, then you&#8217;ll have to delete them all off your device and re-sync. Not fun. Trust me.</p>
<p><strong>Basic Usage</strong></p>
<ol>
<li>After you put in your account information and click Pick Calendars, it will connect and attempt to list your available calendars for you</li>
<li>Check off one or more calendars.</li>
<li>Make sure you go to Options-&gt;Choose Default. This will allow events created on the mobile device to be exported back to the google calendar.</li>
<li>Click Done and then Yes to do the initial import.</li>
<li>Import will take a little while, depending on how many events you have in the calendar. (All events are imported, this will be more flexible in the future)</li>
</ol>
<p><strong>Notes</strong><br />
<em>Persistent Storage</em><br />
All user settings are stored in plaintext in an xml file in the application directory. If you click the &#8220;Save Password&#8221; checkbox, then your password will also be stored in plaintext. I am minimally concerned about this myself, if that bothers you consider not saving your password, though you will have diminished functionality if you do that. There are a few places where the app uses the stored password instead of the text box value (an oversight on my part, this will be changed in the next release).</p>
<p><em>Sync Functions</em><br />
New events created either on the Mobile or Online are synced. Changes made Online to dates and titles will be reflected on the mobile device. Other changes will not be merged. Date/Title changes on the mobile device to events already existing online will be overwritten by the online data. I need to write a better sync/merge function and that will come in the next release.</p>
<p><em>Authentication Issues</em><br />
It appears that on occasion there is a random authentication failure to the API. I am guessing this happens if you try to sync too often, but couldn&#8217;t find any supporting documentation from google. If anyone wants to track that down, I&#8217;d be grateful.</p>
<p><em>Error Reporting</em><br />
Errors which occur during runtime are recorded in a file somewhere near <code>\applicationData\GCalSync\GCalSyncErrors.xml</code> &#8211; this will help developers, and if you want to report bugs to me, include the stack trace from the error when you do.</p>
<p><em>Outlook</em><br />
If you sync using ActiveSync or the Vista Sync Center, events added to your mobile calendar by this application will be merged back into your outlook calendar on the desktop. I don&#8217;t use Outlook, so I don&#8217;t think it&#8217;s a big deal, but it might affect you so you should know about it.</p>
<p><strong>Future Plans</strong><br />
<em>Merge Sync</em><br />
As mentioned above, this feature is in progress.</p>
<p><em>Import Date Range Selection</em><br />
To allow user to specify which events to import. i.e. everything from one week ago through two months in the future. or something.</p>
<p><em>Deletion Handling</em><br />
Right now I have no way to detect and mirror event deletions, if you delete something from your mobile calendar, it will be re-imported at the next scheduled time. If you delete something online, it won&#8217;t be deleted off the mobile but will be orphaned instead. To handle this will require a more persistent state mechanism so that I know when an online event that used to be there doesn&#8217;t show up in the event list anymore.</p>
<p><em>Public Calendar URL Support</em><br />
Right now you can import public calendars by just adding them to your Google Calender collection of calendars. Public calendars are also visible via a direct URL and I want to add a function so you can anonymously connect to calendars (even if you don&#8217;t have a Google Calendar account at all, you should still be able to import events from the Georgia Tech Basketball 06-07 public calendar for instance)</p>
<p><strong>That&#8217;s it for now</strong><br />
If you have suggestions for improvements and features, leave me a comment and I&#8217;ll see what I can do. If you take the source and do something cool with it, drop a note so that everyone can check out your take on it.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterat.ive.ly/index.php/2006/12/13/gcalendarsync-v02-release-source/feed/</wfw:commentRss>
		<slash:comments>38</slash:comments>
		</item>
		<item>
		<title>GCalendarSync v0.1 Screenshots</title>
		<link>http://iterat.ive.ly/index.php/2006/12/13/gcalendarsync-v01-screenshots/</link>
		<comments>http://iterat.ive.ly/index.php/2006/12/13/gcalendarsync-v01-screenshots/#comments</comments>
		<pubDate>Wed, 13 Dec 2006 21:26:52 +0000</pubDate>
		<dc:creator>Christopher Gooley</dc:creator>
				<category><![CDATA[software]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[gcalsync]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://iterat.ive.ly/index.php/2006/12/13/gcalendarsync-v01-screenshots/</guid>
		<description><![CDATA[GCalendarSync allows you to import events from one or more of your Google Calendars directly to your Windows Mobile PDA or Smartphone over the air using GPRS, without docking or using Outlook or the desktop computer in any way. Release + Source is coming later today. Coming in a couple days is the reverse-sync feature [...]]]></description>
			<content:encoded><![CDATA[<p>GCalendarSync allows you to import events from one or more of your <a href="http://www.google.com/calendar/">Google Calendars</a> directly to your Windows Mobile PDA or <a href="http://www.microsoft.com/windowsmobile/smartphone/default.mspx">Smartphone</a> over the air using GPRS, without docking or using Outlook or the desktop computer in any way. Release + Source is coming later today. Coming in a couple days is the reverse-sync feature so that you can make changes to your google calendar directly on the Smartphone and changes will sync back up to Google.</p>
<p>I&#8217;m not quite ready to release it this second, so here are some screenshots of the process of using the app. Like all Windows Mobile apps, after you close it it can still run in the background, so that allows it to run scheduled imports. Basically every minute it hits a timer interval and checks to see if it should import again (default time between imports is 60 minutes). Right now it is more of an Import than a &#8220;Sync&#8221; tool. But in the next release I will should have two-way syncro going so that you can make changes right on your phone and have those changes sent back up to Google&#8230;</p>
<p>And now, the screenshots (after the jump)<br />
<span id="more-6"></span><br />
Step 1: Enter your username and password<br />
<img alt="Step1" src="http://thegooley.wordpress.com/files/2006/12/gcal1.gif" /></p>
<p>Step 2: Click &#8220;Pick Calendars&#8221; &#8211; at this point, we connect to the Google API to list all the calendars you own and those you subscribe to<br />
<img alt="Step2" src="http://thegooley.wordpress.com/files/2006/12/gcal2.gif" /></p>
<p>Step 3: Check off the calendars you wish to import<br />
<img alt="gcal3.gif" src="http://thegooley.wordpress.com/files/2006/12/gcal3.gif" /></p>
<p>Step 4: Click &#8220;Done&#8221;, then it asks if you want to do an immediate import. Say &#8220;Yes&#8221;<br />
<img alt="gcal4.gif" src="http://thegooley.wordpress.com/files/2006/12/gcal4.gif" /></p>
<p>Step 5: Import in progress<br />
<img alt="gcal5.gif" src="http://thegooley.wordpress.com/files/2006/12/gcal5.gif" /></p>
<p>Step 6: Done, # of events is reported. You can now close the app and it will continue to import/update every 60 minutes in the background.<br />
<img alt="gcal6.gif" src="http://thegooley.wordpress.com/files/2006/12/gcal6.gif" /></p>
<p>Binaries and source coming tonight.</p>
]]></content:encoded>
			<wfw:commentRss>http://iterat.ive.ly/index.php/2006/12/13/gcalendarsync-v01-screenshots/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>
