<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>HHHHq ~ "Hack"</title>
	<atom:link href="http://www.hhhhq.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hhhhq.org/blog</link>
	<description>A blog about programming and...</description>
	<lastBuildDate>Mon, 08 Mar 2010 20:10:11 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Java and .Net SOAP interoperability</title>
		<link>http://www.hhhhq.org/blog/2009/06/10/java-and-net-soap-interoperability/</link>
		<comments>http://www.hhhhq.org/blog/2009/06/10/java-and-net-soap-interoperability/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 23:12:51 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[SOAP]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=78</guid>
		<description><![CDATA[I came across a question on Stack Overflow today regarding SOAP interoperability between Java and .Net.  I posted this answer.  I don&#8217;t know if that solves the author&#8217;s problem, but it worked for me a few months ago.  So, if you are having problems consuming a Java SOAP service (running under Axis 1.x in particular) [...]]]></description>
			<content:encoded><![CDATA[<p>I came across a question on Stack Overflow today regarding SOAP interoperability between Java and .Net.  I posted <a href="http://stackoverflow.com/questions/958389/problem-java-web-service-consumed-by-net/978567#978567" onclick="pageTracker._trackPageview('/outgoing/stackoverflow.com/questions/958389/problem-java-web-service-consumed-by-net/978567_978567?referer=');">this answer</a>.  I don&#8217;t know if that solves the author&#8217;s problem, but it worked for me a few months ago.  So, if you are having problems consuming a Java SOAP service (running under Axis 1.x in particular) with .Net, check that post out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2009/06/10/java-and-net-soap-interoperability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Happiness</title>
		<link>http://www.hhhhq.org/blog/2009/06/04/happiness/</link>
		<comments>http://www.hhhhq.org/blog/2009/06/04/happiness/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 14:02:01 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[quotes]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=57</guid>
		<description><![CDATA[Most times, the best advice is the simplest&#8230;
Happiness is not a matter of intensity but of balance, order, rhythm and harmony.
&#8211; Thomas Merton
And it&#8217;s always very easy to see&#8230;

]]></description>
			<content:encoded><![CDATA[<p>Most times, the best advice is the simplest&#8230;</p>
<blockquote><p>Happiness is not a matter of intensity but of balance, order, rhythm and harmony.</p>
<p>&#8211; Thomas Merton</p></blockquote>
<p>And it&#8217;s always very easy to see&#8230;</p>
<p><a title="P050409SA-0939 by The Official White House Photostream, on Flickr" href="http://www.flickr.com/photos/whitehouse/3532372114/" onclick="pageTracker._trackPageview('/outgoing/www.flickr.com/photos/whitehouse/3532372114/?referer=');"><img src="http://farm3.static.flickr.com/2433/3532372114_0e27854837.jpg" alt="P050409SA-0939" width="500" height="333" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2009/06/04/happiness/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>otool: OS X equivalent of &#8216;ldd&#8217;</title>
		<link>http://www.hhhhq.org/blog/2009/06/01/os-x-equivalent-of-ldd/</link>
		<comments>http://www.hhhhq.org/blog/2009/06/01/os-x-equivalent-of-ldd/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 17:30:18 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=22</guid>
		<description><![CDATA[I rarely do C++ development anymore, but today I had to dig around in some of our C++ code; I&#8217;m modifying the build to produce some new artifacts.  I work primarily on a Mac and secondarily on Linux.  Those familiar with Linux development tools probably know about ldd &#8212; it&#8217;s a simple tool that displays [...]]]></description>
			<content:encoded><![CDATA[<p>I rarely do C++ development anymore, but today I had to dig around in some of our C++ code; I&#8217;m modifying the build to produce some new artifacts.  I work primarily on a Mac and secondarily on Linux.  Those familiar with Linux development tools probably know about <a title="ldd man page" href="http://www.kernel.org/doc/man-pages/online/pages/man1/ldd.1.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/www.kernel.org/doc/man-pages/online/pages/man1/ldd.1.html?referer=');">ldd</a> &#8212; it&#8217;s a simple tool that displays the shared libraries a given executable (or other library) depends on.  I was wondering if OS X had an equivalent&#8230; and it does:  <a title="otool man page" href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/otool.1.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/developer.apple.com/documentation/Darwin/Reference/ManPages/man1/otool.1.html?referer=');">otool</a>.  otool does a bit more than ldd, but if you just want to print dependencies like ldd does then try:  <code>otool -L file</code> .  For instance,</p>
<pre><code>me@hubble:~$ otool -L /bin/bash
/bin/bash:
	/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0)
	/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 111.0.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 1.0.0)
</code></pre>
<p>And on Linux, using ldd, you get:</p>
<pre><code>me@galileo:~$ ldd /bin/bash
	linux-gate.so.1 =&gt;  (0xb8095000)
	libncurses.so.5 =&gt; /lib/libncurses.so.5 (0xb8052000)
	libdl.so.2 =&gt; /lib/tls/i686/cmov/libdl.so.2 (0xb804e000)
	libc.so.6 =&gt; /lib/tls/i686/cmov/libc.so.6 (0xb7eea000)
	/lib/ld-linux.so.2 (0xb8096000)
</code></pre>
<p>For a list of other under-used OS X command line tools, check out <a title="OS X Hacking Tools" href="http://osxbook.com/book/bonus/ancient/whatismacosx/tools.html" target="_blank" onclick="pageTracker._trackPageview('/outgoing/osxbook.com/book/bonus/ancient/whatismacosx/tools.html?referer=');">Mac OS X Hacking Tools</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2009/06/01/os-x-equivalent-of-ldd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adding version control info to your Bash prompt</title>
		<link>http://www.hhhhq.org/blog/2009/05/17/adding-version-control-info-to-your-bash-prompt/</link>
		<comments>http://www.hhhhq.org/blog/2009/05/17/adding-version-control-info-to-your-bash-prompt/#comments</comments>
		<pubDate>Sun, 17 May 2009 23:39:07 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[mercurial]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=8</guid>
		<description><![CDATA[
Last year there was a link to a blog post about displaying git info in your prompt floating around our office. We use Subversion at work so I whipped up a quick version for SVN. Nothing fancy, just a simple notification of when I’m sitting in a directory being tracked by SVN. Here’s the Bash [...]]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>Last year there was a link to a blog post about <a href="http://www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/" onclick="pageTracker._trackPageview('/outgoing/www.simplisticcomplexity.com/2008/03/13/show-your-git-branch-name-in-your-prompt/?referer=');">displaying git info in your prompt</a> floating around our office. We use Subversion at work so I whipped up a quick version for SVN. Nothing fancy, just a simple notification of when I’m sitting in a directory being tracked by SVN. Here’s the Bash code:</p>
<pre><code class="prettyprint">export PROMPT_COMMAND='_VC_LABEL= ;[ -d ".svn" ] &amp;&amp; _VC_LABEL="[svn]"'
export PS1='\u@\h:${_VC_LABEL}\w$ '
</code></pre>
<p>which will produce something like</p>
<pre><code>me@halley:~$ cd some-svn-dir
me@halley:[svn]~/some-svn-dir$
</code></pre>
<p>Love it or hate, Subversion makes this task pretty easy because each directory under its control contains a <code>.svn</code> sub-directory.  So, all I have to do it check for the existence of <code>.svn</code> in the current directory.  And voila.</p>
<p>Now, this weekend I took on the task of converting my personal Subversion repository over to <a href="http://www.selenic.com/mercurial" onclick="pageTracker._trackPageview('/outgoing/www.selenic.com/mercurial?referer=');">Mercurial</a>. I wanted to have similar functionality for directories under the control of Mercurial and keep the behavior for SVN as code from work is still in Subversion. Git and Mercurial both use a single control directory — <code>.git</code> and <code>.hg</code> respectively — in your project’s root directory. That means my simple method for Subversion wouldn’t work in this context; it would think you were in a version-controlled directory only if you were in your project’s root!</p>
<p>I took a look at the <a href="http://github.com/lvv/git-prompt/tree/master" onclick="pageTracker._trackPageview('/outgoing/github.com/lvv/git-prompt/tree/master?referer=');">git-prompt</a> project — which, from what I can tell, sprang out of the above-mentioned blog post — hoping to find a basis for Mercurial support. git-prompt is very full featured and even supports SVN beyond my simple implementation. However, one thing I didn’t like (besides not supporting Mercurial): It executes git/svn for every directory you enter. Ick.</p>
<p>So, my solution was to search up from the current directory looking for a <code>.hg</code> directory.  If I find one  only then do I execute <code>hg</code> to determine the branch info.  Here’s the expanded version that supports both Subversion and Mercurial.</p>
<pre><code class="prettyprint">## Find a file or directory above current dir.  Stops at /.
function hq_find_parents() {
    local target="$1"

    local newpwd=`pwd`
    while [ 0 ] ; do
        local lookfor="${newpwd}/${target}"
        if [ "${newpwd}" == "/" ] ; then
            return 1
        elif [ -d "${lookfor}" ] ; then
            return 0
        elif [ -e "${lookfor}" ] ; then
            return 0
        fi

        # Now "move" UP one directory.
        newpwd=`cd ${newpwd}/..; pwd`
    done
}

## Set _VC_LABEL based on version control system.
function hq_vc_label() {
    if [ -d ".svn" ] ; then
        _VC_LABEL="[svn]"
    else
        local _hg=`which hg`
        if [ ! -z "${_hg}" ] ; then
            hq_find_parents ".hg"
            if [ $? -eq 0 ] ; then
                _VC_LABEL="[hg:`${_hg} branch 2&gt;/dev/null`]"
            fi
        fi
    fi
}

_VC_LABEL=
export PROMPT_COMMAND='_VC_LABEL= ;hq_vc_label'
export PS1='\u@\h:${_VC_LABEL}\w$ '
</code></pre>
<p>Just add the above code to either <code>.profile</code> or <code>.bash_profile</code> and you’ll get something like this:</p>
<pre><code>me@halley:~$ cd some-hg-dir
me@halley:[hg:default]~/some-hg-dir$
</code></pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2009/05/17/adding-version-control-info-to-your-bash-prompt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A past life, back up in</title>
		<link>http://www.hhhhq.org/blog/2009/05/05/a-past-life-back-up-in/</link>
		<comments>http://www.hhhhq.org/blog/2009/05/05/a-past-life-back-up-in/#comments</comments>
		<pubDate>Tue, 05 May 2009 18:37:16 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Computer science]]></category>
		<category><![CDATA[papers]]></category>
		<category><![CDATA[research]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=5</guid>
		<description><![CDATA[I got a nice surprise recently.  Turns out a research paper I worked on while in grad school was finally published!
“Security in wireless sensor networks“, published in Wireless Communications and Mobile Computing.
Funny thing is, my research focus in grad school was artificial intelligence.  
]]></description>
			<content:encoded><![CDATA[<p>I got a nice surprise recently.  Turns out a research paper I worked on while in <a href="http://www.cs.uky.edu/" onclick="pageTracker._trackPageview('/outgoing/www.cs.uky.edu/?referer=');">grad school</a> was finally published!</p>
<blockquote><p>“<a href="http://dx.doi.org/10.1002/wcm.422" onclick="pageTracker._trackPageview('/outgoing/dx.doi.org/10.1002/wcm.422?referer=');">Security in wireless sensor networks</a>“, published in <a href="http://www3.interscience.wiley.com/cgi-bin/jhome/76507157" onclick="pageTracker._trackPageview('/outgoing/www3.interscience.wiley.com/cgi-bin/jhome/76507157?referer=');">Wireless Communications and Mobile Computing</a>.</p></blockquote>
<p>Funny thing is, my research focus in grad school was artificial intelligence. <img src='http://www.hhhhq.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2009/05/05/a-past-life-back-up-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FTP using Groovy and Ant</title>
		<link>http://www.hhhhq.org/blog/2009/05/01/ftp-using-groovy-and-ant/</link>
		<comments>http://www.hhhhq.org/blog/2009/05/01/ftp-using-groovy-and-ant/#comments</comments>
		<pubDate>Fri, 01 May 2009 17:36:01 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[groovy]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=3</guid>
		<description><![CDATA[
Lately, I’ve been writing a lot of scripts in Groovy. Frankly, I love it. It’s easy to augment the functionality of your Java classes — implement interfaces, extend classes etc. Another nice feature is that Groovy allows you to leverage the power of Ant in your scripts using the AntBuilder object.  I find this [...]]]></description>
			<content:encoded><![CDATA[<div class="entry">
<p>Lately, I’ve been writing a lot of scripts in <a href="http://groovy.codehaus.org/" onclick="pageTracker._trackPageview('/outgoing/groovy.codehaus.org/?referer=');">Groovy</a>. Frankly, I love it. It’s easy to augment the functionality of your Java classes — implement interfaces, extend classes etc. Another nice feature is that Groovy allows you to leverage the power of <a href="http://ant.apache.org/" onclick="pageTracker._trackPageview('/outgoing/ant.apache.org/?referer=');">Ant</a> in your scripts using the <code>AntBuilder</code> object.  I find this incredibly useful when doing <em>off-liney, scripty</em> things I’d normally do using bash combined with other Unix tools.</p>
<p>One common scripting task is to transfer a bunch of files to an FTP server.  Here’s how I would accomplish FTP’ing <code>*.gz</code> files in the current directory using bash and curl:</p>
<pre><code class="prettyprint">for f in *.gz ; do
  curl -s -S -P - -T $f ftp.foo.com
done
</code></pre>
<p>Hard to beat for compactness.  But, if you’re already working in Groovy, you can use Ant’s <a href="http://ant.apache.org/manual/OptionalTasks/ftp.html" onclick="pageTracker._trackPageview('/outgoing/ant.apache.org/manual/OptionalTasks/ftp.html?referer=');">FTP task</a> to accomplish the same thing.  Here’s the Groovy code:</p>
<pre><code class="prettyprint">ant = new AntBuilder()
ant.ftp( server:"ftp.foo.com",
    userid:"user",
    password:"passwd",
    passive:"yes",
    verbose:"yes",
    remotedir:"/pub/incoming",
    binary:"yes" ) {
        fileset( dir:"." ) {
        include( name:"**/*.gz" )
    }
}
</code></pre>
<p>The <code>verbose</code> setting is helpful because otherwise the command’s operation is silent.  With verbose enabled, output will be sent to <code>stdout</code>.  All options supported by Ant’s FTP task can be used in the Groovy context.  Furthermore, nested XML elements in Ant become <a href="http://en.wikipedia.org/wiki/Closure_%28computer_science%29" onclick="pageTracker._trackPageview('/outgoing/en.wikipedia.org/wiki/Closure_28computer_science_29?referer=');">closures</a> in Groovy.  (The <code>fileset</code> and <code>include</code> statements above.)</p>
<p>FTP is an optional Ant task so if you want to use it in your scripts, you’ll need the following dependencies on your classpath:</p>
<ul>
<li>ant.jar</li>
<li>ant-nodeps.jar</li>
<li>ant-apache-oro.jar</li>
<li>ant-commons-net.jar</li>
<li>jakarta-oro.jar (at least version 2.0.8)</li>
<li>commons-net.jar (at least version 1.4)</li>
</ul>
<p>I’ve tested this with Ant 1.6.5 only.</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2009/05/01/ftp-using-groovy-and-ant/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xcode and environment.plist</title>
		<link>http://www.hhhhq.org/blog/2009/04/01/xcode-and-environmentplist/</link>
		<comments>http://www.hhhhq.org/blog/2009/04/01/xcode-and-environmentplist/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 01:16:56 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=37</guid>
		<description><![CDATA[For some reason I always launch certain applications via Spotlight as opposed to just dragging them to the dock and clicking on them there.  One such application is Xcode.  I&#8217;m not in Xcode every day (I&#8217;m normally writing stuff in Java and use Eclipse) so I guess it kinda makes sense.
Anyway&#8230;  Apparently, if you start [...]]]></description>
			<content:encoded><![CDATA[<p>For some reason I always launch certain applications via Spotlight as opposed to just dragging them to the dock and clicking on them there.  One such application is Xcode.  I&#8217;m not in Xcode every day (I&#8217;m normally writing stuff in Java and use Eclipse) so I guess it kinda makes sense.</p>
<p>Anyway&#8230;  Apparently, if you start Xcode via Spotlight your <code>~/.MacOSX/environment.plist</code> file isn&#8217;t read.  No doubt, something to do with how processes are launched via Spotlight.  (Or rather, <em>who</em> launches them.)  I didn&#8217;t dig any deeper because I&#8217;ve got some work to do. <img src='http://www.hhhhq.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>So there you have it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2009/04/01/xcode-and-environmentplist/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s like that</title>
		<link>http://www.hhhhq.org/blog/2008/05/02/its-like-that/</link>
		<comments>http://www.hhhhq.org/blog/2008/05/02/its-like-that/#comments</comments>
		<pubDate>Sat, 03 May 2008 03:59:37 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Thoughts]]></category>
		<category><![CDATA[poetry]]></category>
		<category><![CDATA[quotes]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=55</guid>
		<description><![CDATA[Here&#8217;s something I wanna remember.
&#8230;it&#8217;s like
learning to walk or swim or ride the bicycle, you just go
after it:  it is a matter of learning how to move with
balance among forces greater than your own, gravity, water&#8217;s
buoyance, psychic tides:  you lean in or with or against the
ongoing so as not to be drowned but [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s something I wanna remember.</p>
<blockquote><p>&#8230;it&#8217;s like<br />
learning to walk or swim or ride the bicycle, you just go<br />
after it:  it is a matter of learning how to move with<br />
balance among forces greater than your own, gravity, water&#8217;s<br />
buoyance, psychic tides:  you lean in or with or against the<br />
ongoing so as not to be drowned but to be swept effortlessly<br />
up upon the universal possibilities</p>
<p>&#8211; Archie Ammons, <a href="http://www.amazon.com/dp/0393313107" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/dp/0393313107?referer=');"><em>Sphere: The Form of a Motion</em></a></p></blockquote>
<p>Yeah, it&#8217;s like that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2008/05/02/its-like-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>P4P at Pando</title>
		<link>http://www.hhhhq.org/blog/2008/04/09/p4p-at-pando/</link>
		<comments>http://www.hhhhq.org/blog/2008/04/09/p4p-at-pando/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 03:57:06 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[p4p]]></category>
		<category><![CDATA[pando]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=52</guid>
		<description><![CDATA[I posted a write up today on Pandoblog.com about P4P.  Check it out:  P4P Behind the Scenes.
]]></description>
			<content:encoded><![CDATA[<p>I posted a write up today on <a href="http://www.pandoblog.com/" onclick="pageTracker._trackPageview('/outgoing/www.pandoblog.com/?referer=');">Pandoblog.com</a> about P4P.  Check it out:  <a href="http://www.pandoblog.com/?p=261" onclick="pageTracker._trackPageview('/outgoing/www.pandoblog.com/?p=261&amp;referer=');">P4P Behind the Scenes</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2008/04/09/p4p-at-pando/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>P4P and Pando in the press</title>
		<link>http://www.hhhhq.org/blog/2008/03/07/p4p-and-pando-in-the-press/</link>
		<comments>http://www.hhhhq.org/blog/2008/03/07/p4p-and-pando-in-the-press/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 03:52:12 +0000</pubDate>
		<dc:creator>James Royalty</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[p2p]]></category>
		<category><![CDATA[p4p]]></category>
		<category><![CDATA[pando]]></category>

		<guid isPermaLink="false">http://www.hhhhq.org/blog/?p=50</guid>
		<description><![CDATA[Work has definitely been busy of late.  And being busy is good.
Most recently, I&#8217;ve been working on the tracker portion of our P4P implementation. P4P is a joint project with the P4P Working Group (which Pando co-founded) and Yale University. You can read about P4P via the previous link, but simply put, it allows [...]]]></description>
			<content:encoded><![CDATA[<p>Work has definitely been busy of late.  And being busy is good.</p>
<p>Most recently, I&#8217;ve been working on the tracker portion of our <a href="http://www.pandonetworks.com/p4p" onclick="pageTracker._trackPageview('/outgoing/www.pandonetworks.com/p4p?referer=');">P4P</a> implementation. P4P is a joint project with the P4P Working Group (which Pando co-founded) and Yale University. You can read about P4P via the previous link, but simply put, it allows for more ISP-friendly (and more efficient!) peer-to-peer traffic.</p>
<p>Hopefully I&#8217;ll have a bit more time to write about this soon. In the meantime, I&#8217;m very proud to say that last week, quite a few articles appeared in the press about P4P; among them are a spot in <a href="http://www.nytimes.com/aponline/us/AP-P2P-Verizon.html" onclick="pageTracker._trackPageview('/outgoing/www.nytimes.com/aponline/us/AP-P2P-Verizon.html?referer=');">The New York Times</a>, <a href="http://www.news.com/8301-10784_3-9893915-7.html" onclick="pageTracker._trackPageview('/outgoing/www.news.com/8301-10784_3-9893915-7.html?referer=');">CNET</a> and (for the geek in me) a post on <a href="http://developers.slashdot.org/article.pl?sid=08/03/14/1343215" onclick="pageTracker._trackPageview('/outgoing/developers.slashdot.org/article.pl?sid=08/03/14/1343215&amp;referer=');">Slashdot</a>.</p>
<p><strong>[Update]</strong> Looks like Laird <a href="http://www.pandoblog.com/?p=259" onclick="pageTracker._trackPageview('/outgoing/www.pandoblog.com/?p=259&amp;referer=');">posted</a> about this too on our company blog. <img src='http://www.hhhhq.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.hhhhq.org/blog/2008/03/07/p4p-and-pando-in-the-press/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
