<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>John Crosby | Realeyes Media</title>
	
	<link>http://www.thekuroko.com</link>
	<description>Realeyes Media</description>
	<lastBuildDate>Mon, 14 Jun 2010 23:13:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/codecook" /><feedburner:info uri="codecook" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>39.767536</geo:lat><geo:long>-105.019736</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by/2.0/</creativeCommons:license><feedburner:emailServiceId>codecook</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>REOPS Part 1 – The ADC Article is Live</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/BodNsCsoYaU/</link>
		<comments>http://www.thekuroko.com/2010/06/featured/reops-part-1-adc/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 23:08:51 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[articles]]></category>
		<category><![CDATA[featured]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=459</guid>
		<description><![CDATA[Adobe just launched the first article in a series on ADC about the REOPS or Realeyes OSMF Player Sample. This article is an introduction to REOPS, a player sample built using the Open Source Media Framework (OSMF), and should get you playing media and working with OSMF in a hurry. As an introduction to the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2010%2F06%2Ffeatured%2Freops-part-1-adc%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2010%2F06%2Ffeatured%2Freops-part-1-adc%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>Adobe just launched the <a title="ADC REOPS Part One Article" href="http://www.adobe.com/devnet/flash/articles/reops_pt1.html" target="_blank">first article</a> in a series on ADC about the <a title="REOPS Blog" href="http://reops.realeyes.com" target="_blank">REOPS</a> or Realeyes OSMF Player Sample.</p>
<p>This article is an introduction to REOPS, a player sample built using the <a title="OSMF Website" href="http://www.osmf.com" target="_blank">Open Source Media Framework (OSMF)</a>, and should get you playing media and working with OSMF in a hurry. As an introduction to the OSMF, <a title="David Hassoun's Blog" href="http://david.realeyes.com" target="_blank">David Hassoun</a> and I review where you can get the code, what is included with REOPS and the OSMF and the basics of setting up a fairly flexible media player using these resources.</p>
<p><a title="ADC REOPS Part One Article" href="http://www.adobe.com/devnet/flash/articles/reops_pt1.html" target="_blank">Check out the article on ADC</a> and let us know what you think.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Gx3J1feMUBoFcg9KpwgoJWZWvGo/0/da"><img src="http://feedads.g.doubleclick.net/~a/Gx3J1feMUBoFcg9KpwgoJWZWvGo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Gx3J1feMUBoFcg9KpwgoJWZWvGo/1/da"><img src="http://feedads.g.doubleclick.net/~a/Gx3J1feMUBoFcg9KpwgoJWZWvGo/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=BodNsCsoYaU:Q94PZ9FeH9U:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=BodNsCsoYaU:Q94PZ9FeH9U:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=BodNsCsoYaU:Q94PZ9FeH9U:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=BodNsCsoYaU:Q94PZ9FeH9U:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=BodNsCsoYaU:Q94PZ9FeH9U:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=BodNsCsoYaU:Q94PZ9FeH9U:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=BodNsCsoYaU:Q94PZ9FeH9U:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=BodNsCsoYaU:Q94PZ9FeH9U:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=BodNsCsoYaU:Q94PZ9FeH9U:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=BodNsCsoYaU:Q94PZ9FeH9U:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=BodNsCsoYaU:Q94PZ9FeH9U:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/BodNsCsoYaU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2010/06/featured/reops-part-1-adc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2010/06/featured/reops-part-1-adc/</feedburner:origLink></item>
		<item>
		<title>OSMF 1.0 has been released!</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/j0pRcVf7FQw/</link>
		<comments>http://www.thekuroko.com/2010/05/articles/news/osmf-1-0-has-been-released/#comments</comments>
		<pubDate>Fri, 28 May 2010 15:40:52 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=449</guid>
		<description><![CDATA[The Open Source Media Framework (OSMF) was released today. If you don&#8217;t know what OSMF is: Open Source Media Framework (OSMF) simplifies the development of media players by allowing developers to assemble components to create high-quality, full-featured video playback experiences. This open framework enables development focused on web-based video monetization, with lower costs and faster [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2010%2F05%2Farticles%2Fnews%2Fosmf-1-0-has-been-released%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2010%2F05%2Farticles%2Fnews%2Fosmf-1-0-has-been-released%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>The Open Source Media Framework (OSMF) was released today. If you don&#8217;t know what OSMF is:</p>
<blockquote><p>Open Source Media Framework (OSMF) simplifies the development of media players by allowing developers to assemble components to create high-quality, full-featured video playback experiences. This open framework enables development focused on web-based video monetization, with lower costs and faster turnaround.</p></blockquote>
<p>The 1.0 release can be downloaded from <a title="OSMF 1.0 Release" href="http://opensource.adobe.com/wiki/display/osmf/Downloads" target="_blank">http://opensource.adobe.com/wiki/display/osmf/Downloads</a></p>
<p>Also announced was the Strobe Media Playback pre-release. The Strobe Media Playback is an opensource and free playback component built using the OSMF that:</p>
<ul>
<li>Has a predefined user interface<a href="http://osmf.com"><img class="alignright size-full wp-image-451" title="osmf_logo" src="http://www.thekuroko.com/wp-content/uploads/2010/05/osmf_logo.png" alt="" width="283" height="77" /></a></li>
<li>Supports all the same video features as  OSMF, including Progressive Download, RTMP streaming, Live Streaming,  HTTP Dynamic Streaming</li>
<li>Supports content protection with Flash Access 2.0.</li>
<li>Supports controlling the interface through HTML embed tags, including player  dimensions, setting auto start and auto hide behaviors &amp; full screen  support and more.</li>
</ul>
<p><a title="Strobe Media Playback Download Link" href="http://www.osmf.com/downloads/StrobeMediaPlayback.zip" target="_blank">Download the Strobe Media Playback </a></p>
<p>Now that OSMF 1.0 has been released, we&#8217;ll be working on the REOPS (The Realeyes OSMF Player Sample) code samples, documents and source so it is up to date with this 1.0 release. You can download the code and samples from the <a title="REOPS Google Code Project" href="http://code.google.com/p/reops/" target="_blank">Google Code project</a> and make sure to follow <a title="REOPS on twitter" href="http://twitter.com/reops" target="_blank">@reops</a> on Twitter or check out the <a title="REOPS Blog" href="http://reops.posterous.com" target="_blank">REOPS stream</a> for updates.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/XbkOP25aOxerfm-jY6iCgsLxATs/0/da"><img src="http://feedads.g.doubleclick.net/~a/XbkOP25aOxerfm-jY6iCgsLxATs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XbkOP25aOxerfm-jY6iCgsLxATs/1/da"><img src="http://feedads.g.doubleclick.net/~a/XbkOP25aOxerfm-jY6iCgsLxATs/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=j0pRcVf7FQw:3vNj-w0NIdQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=j0pRcVf7FQw:3vNj-w0NIdQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=j0pRcVf7FQw:3vNj-w0NIdQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=j0pRcVf7FQw:3vNj-w0NIdQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=j0pRcVf7FQw:3vNj-w0NIdQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=j0pRcVf7FQw:3vNj-w0NIdQ:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=j0pRcVf7FQw:3vNj-w0NIdQ:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=j0pRcVf7FQw:3vNj-w0NIdQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=j0pRcVf7FQw:3vNj-w0NIdQ:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=j0pRcVf7FQw:3vNj-w0NIdQ:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=j0pRcVf7FQw:3vNj-w0NIdQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/j0pRcVf7FQw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2010/05/articles/news/osmf-1-0-has-been-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2010/05/articles/news/osmf-1-0-has-been-released/</feedburner:origLink></item>
		<item>
		<title>Git-ing Started: My Git Journey</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/arAhJiUAeeM/</link>
		<comments>http://www.thekuroko.com/2009/11/articles/news/my-git-journey/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 20:10:56 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[R&D]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=405</guid>
		<description><![CDATA[I have finally made some time to check out Git. For the past couple of days I&#8217;ve been experimenting with Git to see if it is something that we should use at Realeyes Media. The following is my Git story as well as some of the resources that I gathered along the way. First things [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F11%2Farticles%2Fnews%2Fmy-git-journey%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F11%2Farticles%2Fnews%2Fmy-git-journey%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>I have finally made some time to check out <a href="http://git-scm.com" target="_blank">Git</a>. For the past couple of days I&#8217;ve been experimenting with Git to see if it is something that we should use at <a href="http://realeyes.com" target="_blank">Realeyes Media</a>. The following is my Git story as well as some of the resources that I gathered along the way.</p>
<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://farm4.static.flickr.com/3220/3119852018_63098381f4_m.jpg" alt="" />First things first, <a href="http://www.git-scm.com/" target="_blank">&#8220;git&#8221; initiated</a> if you don&#8217;t know what Git is.</p>
<p>Now, our requirements to switch over to Git:</p>
<ol>
<li>A quick learning curve</li>
<li>A simple shared development model &#8211; Less branch and merge pain than SVN</li>
<li>We need a central location for all major projects and we would like to host it</li>
<li>It needs to work with a <a href="http://en.wikipedia.org/wiki/Continuous_integration" target="_blank">Continuous Integration</a> tool &#8211; we use currently <a href="http://hudson-ci.org/" target="_blank">Hudson</a></li>
<li>We needed a reason &#8211; Is it simpler? Is it faster? Basically does it solve any problems we had with SVN?</li>
</ol>
<p><span style="font-weight: bold;">Requirement #1: The learning curve</span><br />
Yep, no problem. If you are used to SVN, you&#8217;ve got it made. Retrieving project code, making changes and committing are all pretty straight forward. Managing the repository does require a bit of a perspective shift though. With SVN the HEAD of the repo lives in one place &#8211; on the server. Git is a &#8220;distributed&#8221; system so each developer has a local copy of the development history. It is an easy perspective to change to and Git is flexible enough to fit into the central repository schema (more on this later).<br />
<span style="font-weight: bold;">Sample Git commands:</span><br />
1. Get project code</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ git clone git:<span style="color: #000000; font-weight: bold;">//</span>git.server.com:projectName.git</pre></div></div>

<p>[<span style="font-style: italic;">Make some changes</span>]<br />
2. Commit changes</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ git add <span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span><span style="color: #c20cb9; font-weight: bold;">file</span></pre></div></div>

<p>then</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ git commit <span style="color: #660033;">-am</span> <span style="color: #ff0000;">'Your commit message.'</span></pre></div></div>

<p><span style="font-weight: bold;">Requirement #2: A flexible shared development model</span><br />
Getting project code is simple and straight forward. Making changes and committing to your local repository is easy. Now how does a developer handle sharing changes and integrating others changes into their local repository? There are a few ways to set up shared development. Two that Realeyes is considering are (for more info on share development check out <a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#sharing-development" target="_blank">the Git documentation</a>):</p>
<ol>
<li>Patch-based collaboration where patch files are sent via email and then integrated into the repository by the maintainer. Because the patches are read and reviewed by many people (everyone on the mailing list hopefully) this can provide a &#8220;first line of defense&#8221; against bugs.</li>
<li>Repository-based collaboration where changes are pushed and pulled from a centrally located repository. This can decrease the overhead for the maintainer, but can also add some overhead for the maintainer as well as overhead for any continuous integration systems.</li>
</ol>
<p><span style="font-style: italic;">Branching</span> and <span style="font-style: italic;">merging</span> are two important concepts of shared development. With Git these operations are part of hte daily work-flow and are simple and accurate. Git is smart. It handles much of the heavy lifting having to do with merges for you because the development history is tracked with every branch &#8211; even with changes across branches that are being merged into master (trunk for you svn&#8217;ers).</p>
<p><img style="max-width: 800px; float: left; margin-top: 10px; margin-bottom: 10px; margin-right: 10px;" src="http://farm3.static.flickr.com/2720/4069719888_9a61bf6df7_m.jpg" alt="" /><span style="font-weight: bold;">Requirement #3: Central Location and Hosting</span><br />
This is partially addressed in #2 if we use repository-based collaboration. Setting up a remote Git server can be as simple as setting up a server with SSH and creating repositories from there. You can also set up repository access with the GIT protocol as well as HTTP and WebDAV for public and restricted access &#8211; so we have options. This is where I spent a bunch of time (just because I thought it was fun), setting up different servers and configurations (Windows &amp; Ubuntu, SSH, HTTP etc) to make sure that we could host our own Git remote repositories without issue. Here are a few of the resources that got me going quickly:</p>
<ul>
<li><a href="http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way" target="_blank">Hosting Git Repositories the Easy and Secure Way</a></li>
<li><a href="http://www.urbanpuddle.com/articles/2008/07/11/installing-git-on-a-server-ubuntu-or-debian" target="_blank">Installing Git a Git server on Ubuntu or Debian</a></li>
<li><a href="http://www.shannoncornish.com/blog/2009/04/git-server-windows-2008/" target="_blank">Setting up a Git Server on Windows Server 2008</a></li>
</ul>
<p><span style="font-weight: bold;">Requirement #4: Continuous Integration</span><br />
This one was simple, I found plenty of information to confirm that Git will work with Hudson as well as CruiseControl (another CI system we&#8217;ve used in the past).</p>
<p><span style="font-weight: bold;">Requirement #5: We Need a Reason</span><br />
Now that I&#8217;ve had a couple of days to play with Git, experienced its flexibility and discover the improvements it has over SVN, I think that we have plenty of reasons to start using Git. Here are some of the standout reasons in my mind:</p>
<ul>
<li>Git operations are just as easy (if not easier) to learn and remember as SVN commands</li>
<li>Simplified shared development: Every developer has a copy of the development history &#8211; they can work no matter what the status of their internet connection is.</li>
<li>Branches and merges are simpler and easier because branches come along with their entire history</li>
<li>Cleaner project directories: There are no &#8216;.svn&#8217; directories in every project folder, everything is stored in one &#8216;.git&#8217; directory at the root of your repository</li>
<li>SSH Security as well as multiple delivery options: HTTP, GIT WebDAV</li>
<li>Performance: Git is fast</li>
</ul>
<p><img style="max-width: 800px; float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://farm2.static.flickr.com/1054/760861757_bd8732fc4e_m.jpg" alt="" />In short, I really like Git. It is a lighter, more efficient and a simpler workflow than SVN. So, SVN old friend, you have treated us well (except for the merges), I think it is time to step back and make a little room for Git.</p>
<p><span style="font-style: italic;">Following is the list of links that I&#8217;ve used in this post as well as to get me up to speed for my &#8220;Git Expedition&#8221;.</span><br />
<span style="font-weight: bold;">Guides and Docs:</span></p>
<ul>
<li>SVN vs. Git Comparison: <a href="http://git.or.cz/gitwiki/GitSvnComparsion" target="_blank">http://git.or.cz/gitwiki/GitSvnComparsion</a></li>
<li>Git vs. SVN for Bosses: <a href="http://techblog.floorplanner.com/2008/12/09/git-vs-svn-for-bosses/" target="_blank">http://techblog.floorplanner.com/2008/12/09/git-vs-svn-for-bosses/</a></li>
<li>Git Ready: <a href="http://www.gitready.com/" target="_blank">http://www.gitready.com/</a></li>
<li>Quick and Dirty Git for SVN&#8217;ers: <a href="http://git-scm.com/course/svn.html" target="_blank">http://git-scm.com/course/svn.html</a></li>
<li>Getting started: <a href="http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html" target="_blank">http://www.kernel.org/pub/software/scm/git/docs/gittutorial.html</a></li>
<li>User&#8217;s Guide: <a href="http://www.kernel.org/pub/software/scm/git/docs/user-manual.html" target="_blank">http://www.kernel.org/pub/software/scm/git/docs/user-manual.html</a></li>
<li>Man page: <a href="http://www.kernel.org/pub/software/scm/git/docs/" target="_blank">http://www.kernel.org/pub/software/scm/git/docs/</a></li>
</ul>
<p><span style="font-weight: bold;">Tutorials and Resources: </span></p>
<ul>
<li>Article: How We Made GitHub Fast: <a href="http://github.com/blog/530-how-we-made-github-fast" target="_blank">http://github.com/blog/530-how-we-made-github-fast</a></li>
<li>Git Update Hook: <a href="http://www.kernel.org/pub/software/scm/git/docs/howto/update-hook-example.txt" target="_blank">http://www.kernel.org/pub/software/scm/git/docs/howto/update-hook-example.txt</a></li>
<li>Merging by Example: <a href="http://blog.jrock.us/articles/Git%20merging%20by%20example.pod" target="_blank">http://blog.jrock.us/articles/Git%20merging%20by%20example.pod</a></li>
<li>Git and Distributed Web Development: <a href="http://www.ibm.com/developerworks/web/library/wa-git/" target="_blank">http://www.ibm.com/developerworks/web/library/wa-git/</a></li>
<li>Gitosis: <a href="http://eagain.net/gitweb/?p=gitosis.git" target="_blank">http://eagain.net/gitweb/?p=gitosis.git</a></li>
<li>Git Remote Branching: <a href="http://www.elctech.com/articles/git-remote-branching-made-easy" target="_blank">http://www.elctech.com/articles/git-remote-branching-made-easy</a></li>
</ul>
<p>Git GUIs:</p>
<ul>
<li>Gitx: <a href="http://gitx.frim.nl/" target="_blank">http://gitx.frim.nl/</a> &amp; <a href="http://github.com/pieter/gitx" target="_blank">http://github.com/pieter/gitx</a></li>
<li>GitNub: <a href="http://wiki.github.com/Caged/gitnub/installing-or-building-gitnub" target="_blank">http://wiki.github.com/Caged/gitnub/installing-or-building-gitnub</a></li>
<li>Eclipse Plugin: <a href="http://cdtdoug.blogspot.com/2009/08/using-git-gui-with-eclipse.html" target="_blank">http://cdtdoug.blogspot.com/2009/08/using-git-gui-with-eclipse.html</a></li>
</ul>

<p><a href="http://feedads.g.doubleclick.net/~a/SkCdFSLwf2vqQ0Cs95GzDLVxXp8/0/da"><img src="http://feedads.g.doubleclick.net/~a/SkCdFSLwf2vqQ0Cs95GzDLVxXp8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/SkCdFSLwf2vqQ0Cs95GzDLVxXp8/1/da"><img src="http://feedads.g.doubleclick.net/~a/SkCdFSLwf2vqQ0Cs95GzDLVxXp8/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=arAhJiUAeeM:n0nBu6I-nAc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=arAhJiUAeeM:n0nBu6I-nAc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=arAhJiUAeeM:n0nBu6I-nAc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=arAhJiUAeeM:n0nBu6I-nAc:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=arAhJiUAeeM:n0nBu6I-nAc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=arAhJiUAeeM:n0nBu6I-nAc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=arAhJiUAeeM:n0nBu6I-nAc:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=arAhJiUAeeM:n0nBu6I-nAc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=arAhJiUAeeM:n0nBu6I-nAc:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=arAhJiUAeeM:n0nBu6I-nAc:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=arAhJiUAeeM:n0nBu6I-nAc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/arAhJiUAeeM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2009/11/articles/news/my-git-journey/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2009/11/articles/news/my-git-journey/</feedburner:origLink></item>
		<item>
		<title>Domain name switch (Does Google own the internet?)</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/NjD4nhq3XsQ/</link>
		<comments>http://www.thekuroko.com/2009/08/articles/news/domain-name-switch-does-google-own-the-internet/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 20:33:34 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[featured]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[google badware wtf]]></category>
		<category><![CDATA[realyes]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=394</guid>
		<description><![CDATA[I&#8217;ve moved to http://thekuroko.com &#8211; why? Do read on. Google decided to list our domain (realeyes.com) as a BadWare site &#8211; no warning &#8211; no notice &#8211; just list us as evil and then let us deal with the fallout. What happened was some unsavory person decided they could hack into or site and plant [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F08%2Farticles%2Fnews%2Fdomain-name-switch-does-google-own-the-internet%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F08%2Farticles%2Fnews%2Fdomain-name-switch-does-google-own-the-internet%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve moved to <a href="http://thekuroko.com">http://thekuroko.com</a> &#8211; why? Do read on.</p>
<p>Google decided to list our domain (realeyes.com) as a BadWare site &#8211; no warning &#8211; no notice &#8211; just list us as evil and then let us deal with the fallout. What happened was some unsavory person decided they could hack into or site and plant some nasty JavaScript. Google picked up on it and added our site to their BadWare list. They didn&#8217;t try to contact anyone at realeyes.com via email or phone (it isn&#8217;t difficult to find contact information on our site).We have 3 of the emails listed in their <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=45432" target="_blank">Webmasters/site Owners Help</a> &#8211; nothing was received from them.</p>
<p>Now, don&#8217;t get me wrong, if this was it and we could contact google, tell them that the issue has been resolved and they would remove our domain from the BadWare list, I&#8217;d be totally cool with Google. That wasn&#8217;t the case however. We immediately remove the issue, worked with teh hosting company to batten down the hatches and make sure there weren&#8217;t any open holes and promptly sent a &#8216;Request for Review&#8217; to google. We received a prompt response to the request, but it was basically a don&#8217;t call us, we&#8217;ll call you.</p>
<blockquote>
<div id="message-body">
<p>We&#8217;ve received a request from a site owner to reconsider how we index the following site: http://realeyes.com/</p>
<p>We&#8217;ll review the site. If we find that it&#8217;s no longer in violation of our <a href="http://www.google.com/support/webmasters/bin/answer.py?answer=35769&amp;hl=en">Webmaster Guidelines</a>, we&#8217;ll reconsider our indexing of the site. Please allow several weeks for the reconsideration request. We do review all requests, but unfortunately we can&#8217;t reply individually to each request.</p>
</div>
</blockquote>
<p>Really Google? I&#8217;m imagining it could be a pretty automated system to receive a request for review, go scan the site again (targeting the pages that <strong>you</strong> Google have indexed as having Badware), and fix the listing if the site is found to be clean. But, no we have to wait (I&#8217;ve heard stories that it can take up to a month) until Google deems our site worthy for the Internet.</p>
<p>&lt;rant&gt;Hrm, Google &#8211; do no evil? I think that is a little evil. How did Google get into the position of being able to tell everyone that our site is bad without a way to get our site of the bad list in an expedited manner? Every major browser references Google and throws a ugly error page. Our site was listed once in the last 90 days has having an issue. One strike your out? WTF? So, our site is relegated to the evil malicious site is going to take your soul list without so much as a courtesy call? Google I think you need to work on your system, help people out, not hinder them for a hackers lack of respect and inconsideration.&lt;/rant&gt;</p>
<p>So, hopefully Google will re-index our site and we&#8217;ll stop having to un-check the &#8216;Block reported attack sites&#8217; preference. Until then I&#8217;ll be here at <a href="http://thekuroko.com">http://thekuroko.com</a> and <a href="http://www.thekuroko.com">http://www.thekuroko.com</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/qVhrGrqikqvt9KjNl9QZ2yFyzo4/0/da"><img src="http://feedads.g.doubleclick.net/~a/qVhrGrqikqvt9KjNl9QZ2yFyzo4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/qVhrGrqikqvt9KjNl9QZ2yFyzo4/1/da"><img src="http://feedads.g.doubleclick.net/~a/qVhrGrqikqvt9KjNl9QZ2yFyzo4/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=NjD4nhq3XsQ:9-GMkUdjWBo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=NjD4nhq3XsQ:9-GMkUdjWBo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=NjD4nhq3XsQ:9-GMkUdjWBo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=NjD4nhq3XsQ:9-GMkUdjWBo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=NjD4nhq3XsQ:9-GMkUdjWBo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=NjD4nhq3XsQ:9-GMkUdjWBo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=NjD4nhq3XsQ:9-GMkUdjWBo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=NjD4nhq3XsQ:9-GMkUdjWBo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=NjD4nhq3XsQ:9-GMkUdjWBo:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=NjD4nhq3XsQ:9-GMkUdjWBo:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=NjD4nhq3XsQ:9-GMkUdjWBo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/NjD4nhq3XsQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2009/08/articles/news/domain-name-switch-does-google-own-the-internet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2009/08/articles/news/domain-name-switch-does-google-own-the-internet/</feedburner:origLink></item>
		<item>
		<title>Extra Eclipse Tool Bars?</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/lnlBqtjYoKY/</link>
		<comments>http://www.thekuroko.com/2009/04/articles/howto/extra-eclipse-tool-bars/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 14:00:17 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[featured]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[eclipse]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=384</guid>
		<description><![CDATA[I finally spent the time to figure out how to remove extraenous buttons in my Eclipse tool bar. The one that annoyed me the most was the CFEclipse toolbar &#8211; it is huge! Don&#8217;t get me wrong CFEclipse rocks, but it shows up in every perspective that I use. So here is how to remove [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F04%2Farticles%2Fhowto%2Fextra-eclipse-tool-bars%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F04%2Farticles%2Fhowto%2Fextra-eclipse-tool-bars%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>I finally spent the time to figure out how to remove extraenous buttons in my Eclipse tool bar. The one that annoyed me the most was the CFEclipse toolbar &#8211; it is huge!</p>
<p><img class="alignnone size-full wp-image-386" title="01-toolbar" src="http://www.thekuroko.com/wp-content/uploads/2009/04/01-toolbar.jpg" alt="01-toolbar" width="404" height="37" /></p>
<p>Don&#8217;t get me wrong CFEclipse rocks, but it shows up in every perspective that I use. So here is how to remove it from the Eclipse toolbar.</p>
<ol>
<li>Right-click on Eclipse&#8217;s main tool bar you should see the following menu:<br />
<img class="alignnone size-full wp-image-385" title="02-customize_perspective" src="http://www.thekuroko.com/wp-content/uploads/2009/04/02-customize_perspective.jpg" alt="02-customize_perspective" width="297" height="113" /></li>
<li>Next select &#8220;Customize Perspective&#8221;. You&#8217;ll get a popup window.</li>
<li>Select the &#8220;Commands&#8221; tab.<br />
<img class="alignnone size-full wp-image-387" title="Commands Tab" src="http://www.thekuroko.com/wp-content/uploads/2009/04/03-commands.jpg" alt="Commands Tab" width="243" height="77" /></li>
<li>In the left column, find CFEclipse and uncheck it.<br />
<img class="alignnone size-full wp-image-388" title="Uncheck Eclipse" src="http://www.thekuroko.com/wp-content/uploads/2009/04/04-uncheck_cfeclipse.jpg" alt="Uncheck Eclipse" width="246" height="167" /></li>
<li>Click &#8220;OK&#8221; and check out your uncluttered toolbar!</li>
</ol>
<p>This will only change the settings for the current perspective, and if you miss your tool bar, just repeat teh steps except check CFEclipse and it is right back where is was.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/ySZfhVfPZn5xIMIz3VlZ2Zthbow/0/da"><img src="http://feedads.g.doubleclick.net/~a/ySZfhVfPZn5xIMIz3VlZ2Zthbow/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ySZfhVfPZn5xIMIz3VlZ2Zthbow/1/da"><img src="http://feedads.g.doubleclick.net/~a/ySZfhVfPZn5xIMIz3VlZ2Zthbow/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=lnlBqtjYoKY:iqgQ3z6WeLU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=lnlBqtjYoKY:iqgQ3z6WeLU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=lnlBqtjYoKY:iqgQ3z6WeLU:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=lnlBqtjYoKY:iqgQ3z6WeLU:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=lnlBqtjYoKY:iqgQ3z6WeLU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=lnlBqtjYoKY:iqgQ3z6WeLU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=lnlBqtjYoKY:iqgQ3z6WeLU:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=lnlBqtjYoKY:iqgQ3z6WeLU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=lnlBqtjYoKY:iqgQ3z6WeLU:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=lnlBqtjYoKY:iqgQ3z6WeLU:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=lnlBqtjYoKY:iqgQ3z6WeLU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/lnlBqtjYoKY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2009/04/articles/howto/extra-eclipse-tool-bars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2009/04/articles/howto/extra-eclipse-tool-bars/</feedburner:origLink></item>
		<item>
		<title>Adobe Camp: 1 Day, 3 Camps: 5280 Reasons to Use the Flash Platform</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/-rvcmi9oTUY/</link>
		<comments>http://www.thekuroko.com/2009/04/articles/news/adobe-camp-open-for-registration/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 20:58:50 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[camp]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[elearning]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[fms]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[rmaug]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=374</guid>
		<description><![CDATA[If you haven&#8217;t heard already, the first Rocky Mountain Adobe Camp is open for registration. The first ever, one of a kind, Rocky Mountain Adobe Camp is right here in Denver on June 22, 2009. Digital professionals at all experience levels are invited to this one-day event to participate in in-depth sessions, and unique hands-on [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F04%2Farticles%2Fnews%2Fadobe-camp-open-for-registration%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F04%2Farticles%2Fnews%2Fadobe-camp-open-for-registration%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://camp.rmaug.com"><img class="alignright size-full wp-image-377" title="Rocky Mountain Adobe Camp" src="http://www.thekuroko.com/wp-content/uploads/2009/04/rmac_banner_125x125.jpg" alt="Rocky Mountain Adobe Camp" width="125" height="125" /></a>If you haven&#8217;t heard already, the first <strong>Rocky Mountain Adobe Camp</strong> is open for <strong><a title="Registrration - Rocky Mountain Adobe Camp" href="http://camp.rmaug.com/register" target="_blank">registration</a></strong>.</p>
<blockquote><p>The first ever, one of a kind, Rocky Mountain Adobe Camp is right here in Denver on June 22, 2009.  Digital professionals at all experience levels are invited to this one-day event to participate in in-depth sessions, and unique hands-on activities taught by some of the most influential speakers in the “Flash-o-sphere”.</p></blockquote>
<p><strong>Want more information? </strong><br />
Check out <a title="Rocky Mountain Adobe Camp" href="http://camp.rmaug.com" target="_blank">http://camp.rmaug.com</a> for event date and location as well as speaker and session info.</p>
<p><strong>Use twitter?</strong><br />
Follow <a title="Twitter - adobecamp " href="http://twitter.com/adobecamp" target="_blank">@adobecamp&#8217;s</a> updates for more information and news.</p>
<p>There are some interesting <strong><a title="Sessions - Rocky Mountain Adobe Camp" href="http://camp.rmaug.com/sessions" target="_blank">sessions</a></strong> that will be divided between 3 different &#8220;tracks&#8221;:</p>
<ul>
<li><strong>Flash Camp:</strong> Get ready to learn best practices, discover hidden features, and extend your abilities</li>
<li><strong>Dynamic Media Camp:</strong> Developers and content owners alike will expand their current knowledge of the Flash Media Server family</li>
<li><strong>eLearning Camp:</strong> Trainers, staff development managers, and Human Resource professionals will all gain valuable insight for eLearning development using tools such as Adobe Connect, Adobe Captivate, and Adobe Acrobat</li>
</ul>
<p>So pick one and <a title="Registrration - Rocky Mountain Adobe Camp" href="http://camp.rmaug.com/register/" target="_blank">register</a> for the First <strong>Rocky Mountian Adobe Camp</strong>!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Cj5yfvXXYbkK7Y5VCQ2ywPOxAFU/0/da"><img src="http://feedads.g.doubleclick.net/~a/Cj5yfvXXYbkK7Y5VCQ2ywPOxAFU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Cj5yfvXXYbkK7Y5VCQ2ywPOxAFU/1/da"><img src="http://feedads.g.doubleclick.net/~a/Cj5yfvXXYbkK7Y5VCQ2ywPOxAFU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=-rvcmi9oTUY:3GjTMJABHho:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=-rvcmi9oTUY:3GjTMJABHho:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=-rvcmi9oTUY:3GjTMJABHho:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=-rvcmi9oTUY:3GjTMJABHho:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=-rvcmi9oTUY:3GjTMJABHho:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=-rvcmi9oTUY:3GjTMJABHho:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=-rvcmi9oTUY:3GjTMJABHho:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=-rvcmi9oTUY:3GjTMJABHho:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=-rvcmi9oTUY:3GjTMJABHho:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=-rvcmi9oTUY:3GjTMJABHho:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=-rvcmi9oTUY:3GjTMJABHho:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/-rvcmi9oTUY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2009/04/articles/news/adobe-camp-open-for-registration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2009/04/articles/news/adobe-camp-open-for-registration/</feedburner:origLink></item>
		<item>
		<title>Quick fun with AIR &amp; Dailymugshot.com</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/WTaSnIScywc/</link>
		<comments>http://www.thekuroko.com/2009/04/articles/code/samples/actionscript-samples-code/quick-fun-with-air-dailymugshotcom/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 15:00:44 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=361</guid>
		<description><![CDATA[So i&#8217;ve been playing with DailyMugShot.com for the past couple of months. DailyMugShot is just that &#8211; you take 1 picture every day of your mug. Well I wanted all my mugshots and there wasn&#8217;t a direct way of downloading them from the site. They have an RSS feed for your shots, but it only [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F04%2Farticles%2Fcode%2Fsamples%2Factionscript-samples-code%2Fquick-fun-with-air-dailymugshotcom%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F04%2Farticles%2Fcode%2Fsamples%2Factionscript-samples-code%2Fquick-fun-with-air-dailymugshotcom%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>So i&#8217;ve been playing with <a href="http://www.dailymugshot.com">DailyMugShot.com </a> for the past couple of months. DailyMugShot is just that &#8211; you take 1 picture every day of your mug. Well I wanted all my mugshots and there wasn&#8217;t a direct way of downloading them from the site. They have an RSS feed for your shots, but it only shows the current picture.</p>
<p>They do have a little flash based badge that you can post to your site.</p>
<div style="overflow: hidden ! important; position: relative ! important; width: 200px ! important; height: 220px ! important;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="200" height="200" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="data" value="http://www.dailymugshot.com/swf/dms.swf?pathurl=http://www.dailymugshot.com/swf/paths.xml&amp;userid=14919" /><param name="scale" value="noScale" /><param name="salign" value="TL" /><param name="src" value="http://www.dailymugshot.com/swf/dms.swf?pathurl=http://www.dailymugshot.com/swf/paths.xml&amp;userid=14919" /><embed type="application/x-shockwave-flash" width="200" height="200" src="http://www.dailymugshot.com/swf/dms.swf?pathurl=http://www.dailymugshot.com/swf/paths.xml&amp;userid=14919" salign="TL" scale="noScale" data="http://www.dailymugshot.com/swf/dms.swf?pathurl=http://www.dailymugshot.com/swf/paths.xml&amp;userid=14919"></embed></object><a style="border: medium none ! important; padding: 0pt ! important; background: url(http://www.dailymugshot.com/images/snag.png) no-repeat scroll 0pt 0pt transparent ! important; overflow: hidden ! important; display: block ! important; width: 200px ! important; height: 20px ! important; position: relative ! important; top: -3px ! important; text-indent: -1000em ! important; cursor: pointer ! important; text-decoration: none ! important;" title="Daily Mugshot" href="http://www.dailymugshot.com?r=1">Daily Mugshot</a></div>
<p>So with some hunting around in the firebug output I found where the little flash piece calls a service for the sequence of images. The dataservice is simple XML (Yay!), and I like ActionScript 3 and XML. So, I wrote an AIR app that downloads all my mugshot images. It is really basic and urls and final file locations are all hard-coded, but it was a fun 45 minutes and worked like a charm and I have all my past mug shots.</p>
<p>Here are a few of my favorites:<br />
<img class="size-thumbnail wp-image-364 alignnone" title="02-03-2009" src="http://www.thekuroko.com/wp-content/uploads/2009/04/02-03-2009-150x150.jpg" alt="02-03-2009" width="150" height="150" /><img class="alignnone size-thumbnail wp-image-365" title="02-18-2009" src="http://www.thekuroko.com/wp-content/uploads/2009/04/02-18-2009-150x150.jpg" alt="02-18-2009" width="150" height="150" /><img class="alignnone size-thumbnail wp-image-366" title="02-24-2009" src="http://www.thekuroko.com/wp-content/uploads/2009/04/02-24-2009-150x150.jpg" alt="02-24-2009" width="150" height="150" /><img class="alignnone size-thumbnail wp-image-367" title="03-14-2009" src="http://www.thekuroko.com/wp-content/uploads/2009/04/03-14-2009-150x150.jpg" alt="03-14-2009" width="150" height="150" /><img class="alignnone size-thumbnail wp-image-368" title="03-17-2009" src="http://www.thekuroko.com/wp-content/uploads/2009/04/03-17-2009-150x150.jpg" alt="03-17-2009" width="150" height="150" /><img class="alignnone size-thumbnail wp-image-369" title="04-06-2009" src="http://www.thekuroko.com/wp-content/uploads/2009/04/04-06-2009-150x150.jpg" alt="04-06-2009" width="150" height="150" /></p>
<p>Update: If you&#8217;d like to play with dailymugshot.com I&#8217;ve compiled an AIR Application that will download all the images for a given user ID (you can get the userID from the slide show page URL)</p>
<p><table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/setup.gif" alt="http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/setup.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://www.thekuroko.com/?file_id=9">\"DailyMugGetter\" AIR Application</a> <small>(980.95KB)</small><br />
      <b>added:</b> 15/03/2010 <br />
      <b>clicks:</b> 38 <br />
      <b>description:</b> Allows you to download all images for a UserID from http://www.dailymugshot.com <br />
    </td>
  </tr>
</table></p>

<p><a href="http://feedads.g.doubleclick.net/~a/Os1M2GGm2fHFdPpdU7GZXnUUZdw/0/da"><img src="http://feedads.g.doubleclick.net/~a/Os1M2GGm2fHFdPpdU7GZXnUUZdw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Os1M2GGm2fHFdPpdU7GZXnUUZdw/1/da"><img src="http://feedads.g.doubleclick.net/~a/Os1M2GGm2fHFdPpdU7GZXnUUZdw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=WTaSnIScywc:3IDFmXIp3D8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=WTaSnIScywc:3IDFmXIp3D8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=WTaSnIScywc:3IDFmXIp3D8:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=WTaSnIScywc:3IDFmXIp3D8:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=WTaSnIScywc:3IDFmXIp3D8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=WTaSnIScywc:3IDFmXIp3D8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=WTaSnIScywc:3IDFmXIp3D8:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=WTaSnIScywc:3IDFmXIp3D8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=WTaSnIScywc:3IDFmXIp3D8:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=WTaSnIScywc:3IDFmXIp3D8:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=WTaSnIScywc:3IDFmXIp3D8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/WTaSnIScywc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2009/04/articles/code/samples/actionscript-samples-code/quick-fun-with-air-dailymugshotcom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2009/04/articles/code/samples/actionscript-samples-code/quick-fun-with-air-dailymugshotcom/</feedburner:origLink></item>
		<item>
		<title>360iDev – Total FTW!</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/Gi-lQSvaeIQ/</link>
		<comments>http://www.thekuroko.com/2009/03/articles/news/360idev-total-ftw/#comments</comments>
		<pubDate>Mon, 09 Mar 2009 14:00:25 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=313</guid>
		<description><![CDATA[Let me preface this post with I&#8217;m not an iPhone developer &#8211; I&#8217;m a Flash developer. I spen last week days in San Jose at the 360iDev conference and I want to extend an HUGE congratulations to John and Tom who &#8220;Are 360 Conferences&#8221;. These 2 guys have put together another awesome conference (the other [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F03%2Farticles%2Fnews%2F360idev-total-ftw%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F03%2Farticles%2Fnews%2F360idev-total-ftw%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<div id="attachment_318" class="wp-caption alignright" style="width: 289px"><a href="http://www.flickr.com/photos/jccrosby/3327139640/"><img class="size-full wp-image-318" title="360iDev Preso" src="http://www.thekuroko.com/wp-content/uploads/2009/03/idevpreso01.jpg" alt="Brian Flings &quot;idea&quot; preso" width="279" height="198" /></a><p class="wp-caption-text">Brian Flings &quot;ideas&quot; preso</p></div>
<p>Let me preface this post with I&#8217;m not an iPhone developer &#8211; I&#8217;m a Flash developer.<br />
I spen last week days in San Jose at the <a href="http://www.360idev.com/" target="_blank">360iDev</a> conference and I want to extend an HUGE congratulations to John and Tom who &#8220;Are 360 Conferences&#8221;. These 2 guys have put together another awesome conference (the other being <a href="http://www.360flex.com/" target="_blank">360Flex</a>) for the iPhone community. Being someone who has spent zero time in the iPhone Objective-C world, the 360iDev conference was the perfect event to attend. Here is a short list of why I think so:</p>
<ol>
<li>360Conferences strive to put together sessions and speakers from a wide range of backgrounds. From experienced to inexperienced users, there was something for everyone</li>
<li>The iPhone/Objective-C/Cocoa community is extremely friendly. Talking to some of the speakers and other attendees was one of the best things about this conference for me.</li>
<li>360Conferences wants to keep the cost low. I mean come on, less than $500 for a conference &#8211; yep that rocks.</li>
<li> John and Tom are just damn cool guys.</li>
</ol>
<p>I think it was time well spent in San Jose and I hope that 360Conferences keeps 360iDev around. Oh, and that thing about me not being an iPhone developer&#8230;.I am now &#8211; or at least I&#8217;m workin&#8217; on it! Make sure you check out a 360Conference weather it is at 360Flex or 360iDev &#8211; you won&#8217;t be sorry.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/65mQ-YuqbN-SrEMgaGJfDudgyPU/0/da"><img src="http://feedads.g.doubleclick.net/~a/65mQ-YuqbN-SrEMgaGJfDudgyPU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/65mQ-YuqbN-SrEMgaGJfDudgyPU/1/da"><img src="http://feedads.g.doubleclick.net/~a/65mQ-YuqbN-SrEMgaGJfDudgyPU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=Gi-lQSvaeIQ:y6g3wwuqCDY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=Gi-lQSvaeIQ:y6g3wwuqCDY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=Gi-lQSvaeIQ:y6g3wwuqCDY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=Gi-lQSvaeIQ:y6g3wwuqCDY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=Gi-lQSvaeIQ:y6g3wwuqCDY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=Gi-lQSvaeIQ:y6g3wwuqCDY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=Gi-lQSvaeIQ:y6g3wwuqCDY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=Gi-lQSvaeIQ:y6g3wwuqCDY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=Gi-lQSvaeIQ:y6g3wwuqCDY:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=Gi-lQSvaeIQ:y6g3wwuqCDY:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=Gi-lQSvaeIQ:y6g3wwuqCDY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/Gi-lQSvaeIQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2009/03/articles/news/360idev-total-ftw/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2009/03/articles/news/360idev-total-ftw/</feedburner:origLink></item>
		<item>
		<title>Adobe AIR – Issues with Command Line Arguments</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/zbwfzwnySYg/</link>
		<comments>http://www.thekuroko.com/2009/01/articles/code/samples/actionscript-samples-code/adobe-air-issues-with-command-line-arguments/#comments</comments>
		<pubDate>Thu, 29 Jan 2009 22:42:07 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[actionscript]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=291</guid>
		<description><![CDATA[After working on a little automation tool for video encoding process we ran into an interesting issue with AIR applications and command line arguments. Here is the scenario: Encoding process ends. The encoding process passes a file path to the waiting AIR application via command line. If the AIR app is not running, it starts [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F01%2Farticles%2Fcode%2Fsamples%2Factionscript-samples-code%2Fadobe-air-issues-with-command-line-arguments%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F01%2Farticles%2Fcode%2Fsamples%2Factionscript-samples-code%2Fadobe-air-issues-with-command-line-arguments%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>After working on a little automation tool for video encoding process we ran into an interesting issue with AIR applications and command line arguments. Here is the scenario:</p>
<ol>
<li>Encoding process ends.</li>
<li>The encoding process passes a file path to the waiting AIR application via command line.</li>
<li>If the AIR app is not running, it starts up.</li>
<li>The AIR application then checks some data in a database updates some tracking info and possibly grabs the duration out of the file.</li>
<li>The AIR app waits for some more input.</li>
</ol>
<p>Here is the issue &#8211; when the application starts up via the command line call, subsequent calls fail to the AIR application. Our solution, the AIR app has to be running when the OS starts up &#8211; that way the initial command line call to start the application doesn&#8217;t hold the process.</p>
<p>The command line looks something like in Windows:</p>
<pre class="brush: vb;">
C:/Program Files/ServerApplication/ServerApplication.exe &quot;D:/my/storagedir/vidfile.f4v&quot;
</pre>
<p>The command line looks something like on a Mac:</p>
<pre class="brush: vb;">
/Applications/ServerApplication.app/Contents/MacOS/ServerApplication &quot;D:/my/storagedir/vidfile.f4v&quot;
</pre>
<p>There has to be some way to start the application via the command line without holding everything up right? What am I missing?</p>
<p>Here is what I&#8217;m missing:<br />
The new command line looks something like in Windows (added the /b option):</p>
<pre class="brush: vb;">
C:/Program Files/ServerApplication/ServerApplication.exe /b &quot;D:/my/storagedir/vidfile.f4v&quot;
</pre>
<p>The new command line looks something like on a Mac (added the &#8216;&#038;&#8217; at the end):</p>
<pre class="brush: vb;">
/Applications/ServerApplication.app/Contents/MacOS/ServerApplication &quot;D:/my/storagedir/vidfile.f4v&quot; &amp;
</pre>
<p>Now our little automation AIR tool doesn&#8217;t need to be running when the first call happens &#8211; it will actually start up &#8211; and it can stay open and successfully receive new command line arguments.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/laZlH88L7v5LbCSLRuMAKO0nmBw/0/da"><img src="http://feedads.g.doubleclick.net/~a/laZlH88L7v5LbCSLRuMAKO0nmBw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/laZlH88L7v5LbCSLRuMAKO0nmBw/1/da"><img src="http://feedads.g.doubleclick.net/~a/laZlH88L7v5LbCSLRuMAKO0nmBw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=zbwfzwnySYg:PtWWuOk5SE4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=zbwfzwnySYg:PtWWuOk5SE4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=zbwfzwnySYg:PtWWuOk5SE4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=zbwfzwnySYg:PtWWuOk5SE4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=zbwfzwnySYg:PtWWuOk5SE4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=zbwfzwnySYg:PtWWuOk5SE4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=zbwfzwnySYg:PtWWuOk5SE4:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=zbwfzwnySYg:PtWWuOk5SE4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=zbwfzwnySYg:PtWWuOk5SE4:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=zbwfzwnySYg:PtWWuOk5SE4:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=zbwfzwnySYg:PtWWuOk5SE4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/zbwfzwnySYg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2009/01/articles/code/samples/actionscript-samples-code/adobe-air-issues-with-command-line-arguments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2009/01/articles/code/samples/actionscript-samples-code/adobe-air-issues-with-command-line-arguments/</feedburner:origLink></item>
		<item>
		<title>The new Beatport.com has Launched</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/9ZXa2LKqZwg/</link>
		<comments>http://www.thekuroko.com/2009/01/articles/news/the-new-beatportcom-has-launched/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 06:28:15 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[realeyes]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=279</guid>
		<description><![CDATA[For quite some time now the Realeyes development queue has been taken up with the new Beatport.com site. Well, tonight it has launched! Congratulations to everyone who worked on the project and thanks for all the hard work. Good job! Get the details on the update. Check out the new site at Beatport.com]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F01%2Farticles%2Fnews%2Fthe-new-beatportcom-has-launched%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2009%2F01%2Farticles%2Fnews%2Fthe-new-beatportcom-has-launched%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p><img class="size-full wp-image-280 alignright" style="border: 1px solid black; margin: 3px;" title="picture-3" src="http://www.thekuroko.com/wp-content/uploads/2009/01/picture-3.jpg" alt="picture-3" width="312" height="188" />For quite some time now the Realeyes development queue has been taken up with the new <a href="http://beatport.com" target="_blank">Beatport.com</a> site. Well, tonight it has launched!</p>
<p>Congratulations to everyone who worked on the project and thanks for all the hard work. Good job!</p>
<p><a href="http://www.beatportal.com/feed/item/the-new-beatport-launches/#When:22:50:00Z" target="_blank">Get the details on the update.</a></p>
<p>Check out the new site at <a href="http://beatport.com" target="_blank">Beatport.com</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/g8bd_0JFl5-Qj5nc0iCMbZh-pcU/0/da"><img src="http://feedads.g.doubleclick.net/~a/g8bd_0JFl5-Qj5nc0iCMbZh-pcU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/g8bd_0JFl5-Qj5nc0iCMbZh-pcU/1/da"><img src="http://feedads.g.doubleclick.net/~a/g8bd_0JFl5-Qj5nc0iCMbZh-pcU/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=9ZXa2LKqZwg:Ie4-VTg-tiM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=9ZXa2LKqZwg:Ie4-VTg-tiM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=9ZXa2LKqZwg:Ie4-VTg-tiM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=9ZXa2LKqZwg:Ie4-VTg-tiM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=9ZXa2LKqZwg:Ie4-VTg-tiM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=9ZXa2LKqZwg:Ie4-VTg-tiM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=9ZXa2LKqZwg:Ie4-VTg-tiM:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=9ZXa2LKqZwg:Ie4-VTg-tiM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=9ZXa2LKqZwg:Ie4-VTg-tiM:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=9ZXa2LKqZwg:Ie4-VTg-tiM:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=9ZXa2LKqZwg:Ie4-VTg-tiM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/9ZXa2LKqZwg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2009/01/articles/news/the-new-beatportcom-has-launched/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2009/01/articles/news/the-new-beatportcom-has-launched/</feedburner:origLink></item>
		<item>
		<title>RMAUG Mini-Max Pixel Bender Presentation Files</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/JPEyALHnhCc/</link>
		<comments>http://www.thekuroko.com/2008/12/articles/presentations/rmaug-mini-max-pixel-bender-presentation-files/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 17:09:09 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[presentations]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[flex]]></category>
		<category><![CDATA[pixel bender]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=258</guid>
		<description><![CDATA[Last night I gave an extremely fast run down on Pixel Bender to the Rocky Mountain Adobe User&#8217;s Group Mini-Max meeting last night. The presentation was the bare minimum you need to get started playing with Pixel. I&#8217;ve got to give props to Lee Brimelow and his other site gotoandlearn.com for information used in the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F12%2Farticles%2Fpresentations%2Frmaug-mini-max-pixel-bender-presentation-files%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F12%2Farticles%2Fpresentations%2Frmaug-mini-max-pixel-bender-presentation-files%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>Last night I gave an extremely fast run down on Pixel Bender to the <a href="http://rmaug.com" target="_blank">Rocky Mountain Adobe User&#8217;s Group</a> Mini-Max meeting last night. The presentation was the bare minimum you need to get started playing with Pixel.</p>
<p>I&#8217;ve got to give props to <a href="http://theflashblog.com/" target="_blank">Lee Brimelow</a> and his other site <a href="http://gotoandlearn.com/" target="_blank">gotoandlearn.com</a> for information used in the presentaion as well as the start file for the PixelBender class file in the Flex project.</p>
<p>Resource Links from the preso:</p>
<ul>
<li>Download &#8211; Toolkit and PS Plugin<br />
<a href="http://is.gd/85ZB">http://is.gd/85ZB</a></li>
<li>Pixel Bender Exchange<br />
<a href="http://is.gd/ayed">http://is.gd/ayed</a></li>
<li>Pixel Bender Forums<br />
<a href="http://is.gd/aydZ">http://is.gd/aydZ</a></li>
<li>Go To And Learn (Lee Brimelow)<br />
<a href="http://www.gotoandlearn.com">http://www.gotoandlearn.com</a></li>
<li>Number Crunching<br />
<a href="http://www.boostworthy.com/blog/?p=243">http://www.boostworthy.com/blog/?p=243</a></li>
</ul>
<p>Downloads:<br />
<table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif" alt="http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/winzip.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://www.thekuroko.com/?file_id=5">RMAUG PixelBender Slides and Sample Class file</a> <small>(562.24KB)</small><br />
      <b>added:</b> 12/10/2008 <br />
      <b>clicks:</b> 623 <br />
      <b>description:</b> The slides from the presentation as well as the sample class to load a shader file. <br />
    </td>
  </tr>
</table><br />
<table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/default.gif" alt="http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/default.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://www.thekuroko.com/?file_id=6">RMAUG PixelBender Sample Flex Project</a> <small>(1.62MB)</small><br />
      <b>added:</b> 12/10/2008 <br />
      <b>clicks:</b> 640 <br />
      <b>description:</b> Sample Flex project that loads a PixelBender shader and applies it to an image. <br />
    </td>
  </tr>
</table></p>

<p><a href="http://feedads.g.doubleclick.net/~a/M8asWwJIZugg0CIfYBYD8ZxXVXc/0/da"><img src="http://feedads.g.doubleclick.net/~a/M8asWwJIZugg0CIfYBYD8ZxXVXc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/M8asWwJIZugg0CIfYBYD8ZxXVXc/1/da"><img src="http://feedads.g.doubleclick.net/~a/M8asWwJIZugg0CIfYBYD8ZxXVXc/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=JPEyALHnhCc:KgbvZG7GKvY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=JPEyALHnhCc:KgbvZG7GKvY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JPEyALHnhCc:KgbvZG7GKvY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=JPEyALHnhCc:KgbvZG7GKvY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JPEyALHnhCc:KgbvZG7GKvY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=JPEyALHnhCc:KgbvZG7GKvY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JPEyALHnhCc:KgbvZG7GKvY:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JPEyALHnhCc:KgbvZG7GKvY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JPEyALHnhCc:KgbvZG7GKvY:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=JPEyALHnhCc:KgbvZG7GKvY:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JPEyALHnhCc:KgbvZG7GKvY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/JPEyALHnhCc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2008/12/articles/presentations/rmaug-mini-max-pixel-bender-presentation-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2008/12/articles/presentations/rmaug-mini-max-pixel-bender-presentation-files/</feedburner:origLink></item>
		<item>
		<title>Yammer and SVN post-commit hooks</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/cCC3mYgxmsU/</link>
		<comments>http://www.thekuroko.com/2008/10/articles/code/samples/yammer-and-svn-post-commit-hooks/#comments</comments>
		<pubDate>Thu, 09 Oct 2008 16:32:38 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[samples]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=241</guid>
		<description><![CDATA[If you don&#8217;t know what Yammer is, it is a twitter like communication tool for your company: Yammer is a tool for making companies and organizations more productive through the exchange of short frequent answers to one simple question: “What are you working on?” Whats nice about Yammer is it is an internal tool that [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F10%2Farticles%2Fcode%2Fsamples%2Fyammer-and-svn-post-commit-hooks%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F10%2Farticles%2Fcode%2Fsamples%2Fyammer-and-svn-post-commit-hooks%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p><a href="http://www.thekuroko.com/wp-content/uploads/2008/10/picture-3.jpg" rel="lightbox[241]"><img class="alignright size-medium wp-image-250" title="Yammer Desktop" src="http://www.thekuroko.com/wp-content/uploads/2008/10/picture-3.jpg" alt="" width="176" height="184" /></a>If you don&#8217;t know what <a title="Yammer.com" href="http://yammer.com" target="_blank">Yammer</a> is, it is a twitter like communication tool for your company:</p>
<blockquote><p>Yammer is a tool for making companies and organizations more productive through the exchange of short frequent answers to one simple question: “What are you working on?”</p></blockquote>
<p>Whats nice about Yammer is it is an internal tool that you can quickly communicate with everyone, well anyone listening, in your company. Answers to questions come quickly and from the appropriate party without much effort on either end and notifications to everyone are a snap.</p>
<p>The notifications is what got me thinking about Subversion and post-commit hooks. Subversion provides <a title="Implementing Repository Hooks" href="http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.reposadmin.create.hooks" target="_blank">hooks</a> that allow you to trigger scripts based on a repository event. So, I set up a script that retrieves information about the latest commit to the repository formats an email which is sent to Yammer and published. Now, when someone commits to the repository, everyone is automatically notified without the developer having to write an email and send it to everyone that needs to know about it.</p>
<p>Another unforeseen benefit of this system is that everyone has gotten much better at their SVN comments for their commit. I would imagine this is because they get instant feedback about inadequate comments when everyone see it in Yammer.</p>
<p><strong>On to the resources</strong> &#8211; SVN hooks are pretty easy to implement and provided by default. They reside in each repository you create in a &#8216;hooks&#8217; directory {SVN_ROOT}/{REPOSITORY}/hooks. There is a provided template for each type of hook that SVN supports. The script can be any type of script (shell scripts, Python scripts etc), it just needs to have the same name as the supplied template file. For our Yammer script I dusted off the .bat script skills to retrieve the commit and send an email. To send the email I downloaded <a title="Blat - send emails" href="http://www.blat.net/" target="_blank">blat</a> to handle sending the email to Yammer. Finally we create an email for out SVN user and a yammer account using the svn user email.</p>
<p>So here is the list of what we have so far:</p>
<ul>
<li>SVN Repositoy and access to the hooks directory</li>
<li>Email address for the SVN user</li>
<li>Yammer account using the SVN user&#8217;s email address</li>
<li>Some way to send an email (<a title="Blat - send emails" href="http://www.blat.net/" target="_blank">Blat</a>)</li>
<li>SVN post-commit hook script (post-commit.bat)</li>
</ul>
<p><strong>Now on to the contents of the script</strong> &#8211; The post commit hook receives 2 arguments, the name of the repository and the revision. The script uses <a title="svnlook" href="http://svnbook.red-bean.com/en/1.5/svn-book.html#svn.reposadmin.maint.tk.svnlook" target="_blank">svnlook</a>, the repository name and revision to retrieve the details (message and author) of the commit. Then usign the commit details the script creates a text file that Blat uses as the email body and sends the email to Yammer.</p>
<p>Here is the actual script (names have been changed to protect the innocent):</p>
<pre class="brush: plain;">
@echo off

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: ARGUMENTS :::::::::::::::::::::::::::::::::::::::
SET REPOS=%1
SET REV=%2

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: GENERAL INFO ::::::::::::::::::::::::::::::::::::
SET DIR=%REPOS%/hooks
SET MESSAGE_FILE=%DIR%/message.txt

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: SVN INFO ::::::::::::::::::::::::::::::::::::::::
SET DIR=%REPOS%/hooks
SET REPO_PATH=file:///%REPOS%

::: Get the author ::::::::::::::::::::::::::::::::::
For /F &quot;Tokens=*&quot; %%I in ('svnlook author %REPOS% -r %REV%') Do Set author=%%I

::: Get the log messsage ::::::::::::::::::::::::::::::::::
For /F &quot;Tokens=*&quot; %%I in ('svnlook log %REPOS% -r %REV%') Do Set log=%%I

::: Set the message body ::::::::::::::::::::::::::::::::::
ECHO Commit - rev %REV% (#%author%): '%log%' - %REPOS% &amp;gt; %MESSAGE_FILE%

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: EMAIL INFO ::::::::::::::::::::::::::::::::::::::

set to=-to yammer@yammer.com

set subj=-s &quot;SVN Commit (Revision %REV%)&quot;

set server=-server mail.domain.com

set debug=-debug -log blat.log -timestamp

set auth=-u email@domain.com -pw yourpasswordhere

set from=-f email@domain.com

:::::::::::::::::::::::::::::::::::::::::::::::::::::
::: SEND THE EMAIL ::::::::::::::::::::::::::::::::::
C:/pathtoyourrepos/_tools/blat/blat %MESSAGE_FILE% %server% %to% %from% %subj% %auth% %debug%
</pre>
<p>Or you can download the script:</p>
<p><table style="border: 1px solid #CCC;" cellpadding="3" width="100%">
  <tr>
    <td width="35">
      <img src="http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/default.gif" alt="http://www.thekuroko.com/wp-content/plugins/downloads-manager/img/icons/default.gif">
    </td>
    <td>
      <b>download:</b> <a href="http://www.thekuroko.com/?file_id=4">post-commit.bat.zip</a> <small>(1.03KB)</small><br />
      <b>added:</b> 09/10/2008 <br />
      <b>clicks:</b> 589 <br />
      <b>description:</b> SVN post-commit hook .bat script to send an email to yammer. <br />
    </td>
  </tr>
</table></p>

<p><a href="http://feedads.g.doubleclick.net/~a/P_S3tc8hiPHZOqkWfB4n2rW2WVw/0/da"><img src="http://feedads.g.doubleclick.net/~a/P_S3tc8hiPHZOqkWfB4n2rW2WVw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/P_S3tc8hiPHZOqkWfB4n2rW2WVw/1/da"><img src="http://feedads.g.doubleclick.net/~a/P_S3tc8hiPHZOqkWfB4n2rW2WVw/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=cCC3mYgxmsU:a7gno6cgWBI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=cCC3mYgxmsU:a7gno6cgWBI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=cCC3mYgxmsU:a7gno6cgWBI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=cCC3mYgxmsU:a7gno6cgWBI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=cCC3mYgxmsU:a7gno6cgWBI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=cCC3mYgxmsU:a7gno6cgWBI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=cCC3mYgxmsU:a7gno6cgWBI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=cCC3mYgxmsU:a7gno6cgWBI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=cCC3mYgxmsU:a7gno6cgWBI:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=cCC3mYgxmsU:a7gno6cgWBI:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=cCC3mYgxmsU:a7gno6cgWBI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/cCC3mYgxmsU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2008/10/articles/code/samples/yammer-and-svn-post-commit-hooks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2008/10/articles/code/samples/yammer-and-svn-post-commit-hooks/</feedburner:origLink></item>
		<item>
		<title>ANT + Growl notifications = Happy Coder</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/S0YHeo8MeSU/</link>
		<comments>http://www.thekuroko.com/2008/09/articles/news/ant-growl-notifications-happy-coder/#comments</comments>
		<pubDate>Mon, 15 Sep 2008 15:57:48 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[ant ant-growl flex build compile]]></category>
		<category><![CDATA[flex]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=237</guid>
		<description><![CDATA[We have a bunch of projects around here that we build with ANT. One of the biggest gripes with ANT builds and Flex is the amount of time it can take &#8211; Flex compiles can be slow. So whilst I&#8217;m building a project, I usually end up getting distracted for 10 or 15 minutes by [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F09%2Farticles%2Fnews%2Fant-growl-notifications-happy-coder%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F09%2Farticles%2Fnews%2Fant-growl-notifications-happy-coder%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>We have a bunch of projects around here that we build with ANT. One of the biggest gripes with ANT builds and Flex is the amount of time it can take &#8211; Flex compiles can be slow. So whilst I&#8217;m building a project, I usually end up getting distracted for 10 or 15 minutes by something else, and my newly compiled Flex project sits there waiting for me to return. When I do return I have inevitably forgotten what I was doing.</p>
<p>Enter Growl and <a title="Growl + Ant = ant-growlnotify" href="http://code.google.com/p/ant-growlnotify/" target="_blank">ant-growlnotify</a> (thanks <a title="Jamie Rolfs" href="http://www.jrolfs.com/" target="_blank">Jamie</a>) with the ANT -listener argument. Using it is pretty simple:</p>
<ol>
<li>Download the ant-growllistener-0.4.jar from <a title="ant-growlnotify" href="http://code.google.com/p/ant-growlnotify/" target="_blank">google code</a></li>
<li>Drop the jar into your ant&#8217;s lib directory</li>
<li>Run your ANT script with the -library arguement set to<tt> <a id="Using_the_Ant_Growl_Notifier"><tt>com.google.code.ant.growlnotify.GrowlListener<br />
or add -listener </tt></a></tt><a id="Using_the_Ant_Growl_Notifier"><tt></tt></a><tt><a id="Using_the_Ant_Growl_Notifier"><tt>com.google.code.ant.growlnotify </tt></a></tt>to ANT_ARGS</li>
<li>Now when you run your ANT script you should get nice Growl notifications.</li>
</ol>
<p>You&#8217;ll need to make sure that you&#8217;ve installed growlnotify. growlnotify is in the Extras folder when you install Growl.</p>
<p>In the same notification vein, I also tracked down <a title="ImTask - IM Ant Tasks" href="http://imtask.sourceforge.net/" target="_blank">ImTask</a> last night and got build norifications going with an XMPP server. The project seems a little dated (released in 2003), but still works with OpenFire and Jabber.org.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/7PhFvEali8Paa6boAQA4-VBsD0o/0/da"><img src="http://feedads.g.doubleclick.net/~a/7PhFvEali8Paa6boAQA4-VBsD0o/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7PhFvEali8Paa6boAQA4-VBsD0o/1/da"><img src="http://feedads.g.doubleclick.net/~a/7PhFvEali8Paa6boAQA4-VBsD0o/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=S0YHeo8MeSU:WU60CO4edVI:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=S0YHeo8MeSU:WU60CO4edVI:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=S0YHeo8MeSU:WU60CO4edVI:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=S0YHeo8MeSU:WU60CO4edVI:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=S0YHeo8MeSU:WU60CO4edVI:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=S0YHeo8MeSU:WU60CO4edVI:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=S0YHeo8MeSU:WU60CO4edVI:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=S0YHeo8MeSU:WU60CO4edVI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=S0YHeo8MeSU:WU60CO4edVI:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=S0YHeo8MeSU:WU60CO4edVI:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=S0YHeo8MeSU:WU60CO4edVI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/S0YHeo8MeSU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2008/09/articles/news/ant-growl-notifications-happy-coder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2008/09/articles/news/ant-growl-notifications-happy-coder/</feedburner:origLink></item>
		<item>
		<title>Mozilla Ubiquity – Useful and fun</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/JpISr_lxy9A/</link>
		<comments>http://www.thekuroko.com/2008/08/articles/code/samples/ubiquity-samples-code/mozilla-ubiquity-useful-and-fun/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 17:00:17 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[ubiquity]]></category>
		<category><![CDATA[FireFox]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/?p=222</guid>
		<description><![CDATA[So i&#8217;ve been checking out Ubiquity and playing with it a bit. Even in its &#8220;early, rough&#8221; state, it is fun stuff to play with and definitely useful! I even had the time (about 2 min cause I just copied one of their commands) to create a custom command for is.gd the shorter URL service. [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F08%2Farticles%2Fcode%2Fsamples%2Fubiquity-samples-code%2Fmozilla-ubiquity-useful-and-fun%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F08%2Farticles%2Fcode%2Fsamples%2Fubiquity-samples-code%2Fmozilla-ubiquity-useful-and-fun%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>So i&#8217;ve been checking out <a href="http://labs.mozilla.com/2008/08/introducing-ubiquity/">Ubiquity</a> and playing with it a bit. Even in its &#8220;early, rough&#8221; state, it is fun stuff to play with and definitely useful!</p>
<p>I even had the time (about 2 min cause I just copied one of their commands) to create a custom command for is.gd the shorter URL service.</p>
<pre class="brush: jscript;">
CmdUtils.CreateCommand({
name: &quot;isgd&quot;,
takes: {&quot;url to shorten&quot;: noun_arb_text},
preview: &quot;Replaces the selected URL with an is.gd URL.&quot;,
execute: function( url )
{
var baseUrl = &quot;http://is.gd/api.php&quot;;
var params = {longurl: url.text};
jQuery.get( baseUrl, params, function( isgdUrl )
{
CmdUtils.setSelection( isgdUrl );
})
}
})
</pre>
<p>To add this command jsut open up Ubiquity (opt/ctrl+Space) and type command-editor, then hit enter. Add the code (it automatically saves as you type). Then your good to go.</p>
<p>To use the new command, have some text selected in a new email or blog post, open Ubiquity type isgd, then the url, hit enter and the text that was selected will be replaced with the shortened URL.</p>
<div id="attachment_232" class="wp-caption alignnone" style="width: 310px"><a href="http://www.thekuroko.com/wp-content/uploads/2008/08/picture-2.png" rel="lightbox[222]"><img class="size-medium wp-image-232" title="Ubiquity Screen Shot" src="http://www.thekuroko.com/wp-content/uploads/2008/08/picture-2-300x167.png" alt="Shortening a URL with is.gd and Ubiquity" width="300" height="167" /></a><p class="wp-caption-text">Shortening a URL with is.gd and Ubiquity</p></div>
<p>Of course there are plenty of other ways you can use/play with Ubiquity.</p>
<p>Ubiquity&#8217;s Intro: <a href="http://is.gd/1Wns">http://is.gd/1Wns</a></p>
<p>Custom Commands: <a href="http://is.gd/1Ydc">http://is.gd/1Ydc</a></p>
<p>That&#8217;s right, I even used Ubiquity to create the links above.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/vDg1WIJvi6mg-7Zpr4FtqmlFHEE/0/da"><img src="http://feedads.g.doubleclick.net/~a/vDg1WIJvi6mg-7Zpr4FtqmlFHEE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/vDg1WIJvi6mg-7Zpr4FtqmlFHEE/1/da"><img src="http://feedads.g.doubleclick.net/~a/vDg1WIJvi6mg-7Zpr4FtqmlFHEE/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=JpISr_lxy9A:8OVZ2cRVTnE:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=JpISr_lxy9A:8OVZ2cRVTnE:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JpISr_lxy9A:8OVZ2cRVTnE:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=JpISr_lxy9A:8OVZ2cRVTnE:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JpISr_lxy9A:8OVZ2cRVTnE:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=JpISr_lxy9A:8OVZ2cRVTnE:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JpISr_lxy9A:8OVZ2cRVTnE:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JpISr_lxy9A:8OVZ2cRVTnE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JpISr_lxy9A:8OVZ2cRVTnE:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=JpISr_lxy9A:8OVZ2cRVTnE:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=JpISr_lxy9A:8OVZ2cRVTnE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/JpISr_lxy9A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2008/08/articles/code/samples/ubiquity-samples-code/mozilla-ubiquity-useful-and-fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2008/08/articles/code/samples/ubiquity-samples-code/mozilla-ubiquity-useful-and-fun/</feedburner:origLink></item>
		<item>
		<title>Some good things in life are free!</title>
		<link>http://feedproxy.google.com/~r/codecook/~3/fXQWAkXXBEE/</link>
		<comments>http://www.thekuroko.com/2008/07/articles/news/some-good-things-in-life-are-free/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 21:50:00 +0000</pubDate>
		<dc:creator>John Crosby</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[off topic]]></category>
		<category><![CDATA[offtopic iphone wordpress]]></category>

		<guid isPermaLink="false">http://www.thekuroko.com/index.php/2008/07/22/some-good-things-in-life-are-free/</guid>
		<description><![CDATA[So I just snagged the WordPress iPhone app. And wanted to we how it worked. Yay. Now I can blog from just about anywhere &#8211; even the bathroom (not that I would of course)!]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F07%2Farticles%2Fnews%2Fsome-good-things-in-life-are-free%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.thekuroko.com%2F2008%2F07%2Farticles%2Fnews%2Fsome-good-things-in-life-are-free%2F&amp;source=jccrosby&amp;style=normal&amp;service_api=R_d6f2d9392c50bec7021f2575ee91df86" height="61" width="50" /><br />
			</a>
		</div>
<p>So I just snagged the WordPress iPhone app. And wanted to we how it worked. Yay. Now I can blog from just about anywhere &#8211; even the bathroom (not that I would of course)!</p>
<p><a href="http://www.thekuroko.com/wp-content/uploads/2008/07/p-640-480-b203fa54-8fbb-4cf2-a229-5ec202e9a99a.jpeg" rel="lightbox[221]"><img src="http://www.thekuroko.com/wp-content/uploads/2008/07/p-640-480-b203fa54-8fbb-4cf2-a229-5ec202e9a99a.jpeg" alt="photo" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/_xwLI8VjUFQPpzZ6vWr-bxd9mD0/0/da"><img src="http://feedads.g.doubleclick.net/~a/_xwLI8VjUFQPpzZ6vWr-bxd9mD0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_xwLI8VjUFQPpzZ6vWr-bxd9mD0/1/da"><img src="http://feedads.g.doubleclick.net/~a/_xwLI8VjUFQPpzZ6vWr-bxd9mD0/1/di" border="0" ismap="true"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/codecook?a=fXQWAkXXBEE:iaNsVymcOFo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/codecook?i=fXQWAkXXBEE:iaNsVymcOFo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=fXQWAkXXBEE:iaNsVymcOFo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/codecook?i=fXQWAkXXBEE:iaNsVymcOFo:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=fXQWAkXXBEE:iaNsVymcOFo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/codecook?i=fXQWAkXXBEE:iaNsVymcOFo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=fXQWAkXXBEE:iaNsVymcOFo:dnMXMwOfBR0"><img src="http://feeds.feedburner.com/~ff/codecook?d=dnMXMwOfBR0" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=fXQWAkXXBEE:iaNsVymcOFo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/codecook?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=fXQWAkXXBEE:iaNsVymcOFo:-BTjWOF_DHI"><img src="http://feeds.feedburner.com/~ff/codecook?i=fXQWAkXXBEE:iaNsVymcOFo:-BTjWOF_DHI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/codecook?a=fXQWAkXXBEE:iaNsVymcOFo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/codecook?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/codecook/~4/fXQWAkXXBEE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.thekuroko.com/2008/07/articles/news/some-good-things-in-life-are-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.thekuroko.com/2008/07/articles/news/some-good-things-in-life-are-free/</feedburner:origLink></item>
	</channel>
</rss>
