<?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>Obsolete Your Idols &#187; Uncategorized</title>
	<atom:link href="http://blog.manjusri.org/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.manjusri.org</link>
	<description>Book Reviews and Blather</description>
	<lastBuildDate>Wed, 06 Jul 2011 18:46:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>NJC: Day 5</title>
		<link>http://blog.manjusri.org/2011/07/05/njc-day-5/</link>
		<comments>http://blog.manjusri.org/2011/07/05/njc-day-5/#comments</comments>
		<pubDate>Tue, 05 Jul 2011 17:43:33 +0000</pubDate>
		<dc:creator>binder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[changelog]]></category>
		<category><![CDATA[der]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[keytool]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[pkcs8]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/?p=400</guid>
		<description><![CDATA[At this point, I&#8217;ve been doing the new job for a week and routines are forming. I started the morning using a company card to pay for SSL certificates and then spent the rest of the day making them work with JBoss and Apache. The Apache part was the easy part, as the certificates were [...]]]></description>
			<content:encoded><![CDATA[<p>At this point, I&#8217;ve been doing the new job for a week and routines are forming.</p>
<p>I started the morning using a company card to pay for SSL certificates and then spent the rest of the day making them work with JBoss and Apache. The Apache part was the easy part, as the certificates were already in the correct form. Using Subject Alternate Names with the wildcard certificate meant that I could secure a variety of systems using it, with varying depths of subdomains.</p>
<p>But JBoss was a problem and here&#8217;s why. All the examples I could find on the web gloss over using a real certificate. They assume that it&#8217;s good enough to show you the syntax for a self-signed certificate you generate using keytool. In my case, it wasn&#8217;t. The process for using a CA-signed certificate turned out to be very different.</p>
<p>So here&#8217;s the key thing to know if you try this craziness. Keytool is a vicious betrayer of hope and will quietly do the wrong thing if you don&#8217;t fully grok what it does/wants. You need to turn to something else, in this case, <a href="http://www.openssl.org/">openssl</a>. This command will take your private key and put it in a form keytool can use:</p>
<p><strong>openssl pkcs8 -topk8 -nocrypt -in /your/private/ssl.key -inform PEM -out /someplace/safe/key.der -outform DER</strong></p>
<p>Then this command will turn your SSL certificate into something keytool can use:</p>
<p><strong>openssl x509 -in /your/private/ssl.crt -inform PEM -out /someplace/safe/cert.der -outform DER</strong></p>
<p>Then you run those files through a program someone else wrote. Not entirely excited about it but I read the source and it didn&#8217;t seem too dire.</p>
<p>&nbsp;</p>
<p>import java.security.*;<br />
import java.io.IOException;<br />
import java.io.InputStream;<br />
import java.io.FileInputStream;<br />
import java.io.DataInputStream;<br />
import java.io.ByteArrayInputStream;<br />
import java.io.FileOutputStream;<br />
import java.security.spec.*;<br />
import java.security.cert.Certificate;<br />
import java.security.cert.CertificateFactory;<br />
import java.util.Collection;<br />
import java.util.Iterator;</p>
<p>/**<br />
* ImportKey.java<br />
*<br />
*</p>
<p>This class imports a key and a certificate into a keystore<br />
* (<code>$home/keystore.ImportKey</code>). If the keystore is<br />
* already present, it is simply deleted. Both the key and the<br />
* certificate file must be in <code>DER</code>-format. The key must be<br />
* encoded with <code>PKCS#8</code>-format. The certificate must be<br />
* encoded in <code>X.509</code>-format.</p>
<p>*<br />
*</p>
<p>Key format:</p>
<p>*</p>
<p><pre><code>openssl pkcs8 -topk8 -nocrypt -in YOUR.KEY -out YOUR.KEY.der<br />
* -outform der</code></pre></p>
<p>*</p>
<p>Format of the certificate:</p>
<p>*</p>
<p><pre><code>openssl x509 -in YOUR.CERT -out YOUR.CERT.der -outform<br />
* der</code></pre></p>
<p>*</p>
<p>Import key and certificate:</p>
<p>*</p>
<p><code>java comu.ImportKey YOUR.KEY.der YOUR.CERT.der</code><br />
*<br />
*</p>
<p><em>Caution:</em> the old <code>keystore.ImportKey</code>-file is<br />
* deleted and replaced with a keystore only containing <code>YOUR.KEY</code><br />
* and <code>YOUR.CERT</code>. The keystore and the key has no password;<br />
* they can be set by the <code>keytool -keypasswd</code>-command for setting<br />
* the key password, and the <code>keytool -storepasswd</code>-command to set<br />
* the keystore password.<br />
*</p>
<p>The key and the certificate is stored under the alias<br />
* <code>importkey</code>; to change this, use <code>keytool -keyclone</code>.<br />
*<br />
* Created: Fri Apr 13 18:15:07 2001<br />
* Updated: Fri Apr 19 11:03:00 2002<br />
*<br />
* @author Joachim Karrer, Jens Carlberg<br />
* @version 1.1<br />
**/<br />
public class ImportKey {</p>
<p>/**<br />
*</p>
<p>Creates an InputStream from a file, and fills it with the complete<br />
* file. Thus, available() on the returned InputStream will return the<br />
* full number of bytes the file contains</p>
<p>* @param fname The filename<br />
* @return The filled InputStream<br />
* @exception IOException, if the Streams couldn&#8217;t be created.<br />
**/<br />
private static InputStream fullStream ( String fname ) throws IOException {<br />
FileInputStream fis = new FileInputStream(fname);<br />
DataInputStream dis = new DataInputStream(fis);<br />
byte[] bytes = new byte[dis.available()];<br />
dis.readFully(bytes);<br />
ByteArrayInputStream bais = new ByteArrayInputStream(bytes);<br />
return bais;<br />
}</p>
<p>/**<br />
*</p>
<p>Takes two file names for a key and the certificate for the key,<br />
* and imports those into a keystore. Optionally it takes an alias<br />
* for the key.<br />
*</p>
<p>The first argument is the filename for the key. The key should be<br />
* in PKCS8-format.<br />
*</p>
<p>The second argument is the filename for the certificate for the key.<br />
*</p>
<p>If a third argument is given it is used as the alias. If missing,<br />
* the key is imported with the alias importkey<br />
*</p>
<p>The name of the keystore file can be controlled by setting<br />
* the keystore property (java -Dkeystore=mykeystore). If no name<br />
* is given, the file is named <code>keystore.ImportKey</code><br />
* and placed in your home directory.<br />
* @param args [0] Name of the key file, [1] Name of the certificate file<br />
* [2] Alias for the key.<br />
**/<br />
public static void main ( String args[]) {</p>
<p>// change this if you want another password by default<br />
String keypass = &#8220;importkey&#8221;;</p>
<p>// change this if you want another alias by default<br />
String defaultalias = &#8220;importkey&#8221;;</p>
<p>// change this if you want another keystorefile by default<br />
String keystorename = System.getProperty(&#8220;keystore&#8221;);</p>
<p>if (keystorename == null)<br />
keystorename = System.getProperty(&#8220;user.home&#8221;)+<br />
System.getProperty(&#8220;file.separator&#8221;)+<br />
&#8220;keystore.ImportKey&#8221;; // especially this <img src='http://blog.manjusri.org/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>// parsing command line input<br />
String keyfile = &#8220;&#8221;;<br />
String certfile = &#8220;&#8221;;<br />
if (args.length &lt; 2 || args.length&gt;3) {<br />
System.out.println(&#8220;Usage: java comu.ImportKey keyfile certfile [alias]&#8220;);<br />
System.exit(0);<br />
} else {<br />
keyfile = args[0];<br />
certfile = args[1];<br />
if (args.length&gt;2)<br />
defaultalias = args[2];<br />
}</p>
<p>try {<br />
// initializing and clearing keystore<br />
KeyStore ks = KeyStore.getInstance(&#8220;JKS&#8221;, &#8220;SUN&#8221;);<br />
ks.load( null , keypass.toCharArray());<br />
System.out.println(&#8220;Using keystore-file : &#8220;+keystorename);<br />
ks.store(new FileOutputStream ( keystorename ),<br />
keypass.toCharArray());<br />
ks.load(new FileInputStream ( keystorename ),<br />
keypass.toCharArray());</p>
<p>// loading Key<br />
InputStream fl = fullStream (keyfile);<br />
byte[] key = new byte[fl.available()];<br />
KeyFactory kf = KeyFactory.getInstance(&#8220;RSA&#8221;);<br />
fl.read ( key, 0, fl.available() );<br />
fl.close();<br />
PKCS8EncodedKeySpec keysp = new PKCS8EncodedKeySpec ( key );<br />
PrivateKey ff = kf.generatePrivate (keysp);</p>
<p>// loading CertificateChain<br />
CertificateFactory cf = CertificateFactory.getInstance(&#8220;X.509&#8243;);<br />
InputStream certstream = fullStream (certfile);</p>
<p>Collection c = cf.generateCertificates(certstream) ;<br />
Certificate[] certs = new Certificate[c.toArray().length];</p>
<p>if (c.size() == 1) {<br />
certstream = fullStream (certfile);<br />
System.out.println(&#8220;One certificate, no chain.&#8221;);<br />
Certificate cert = cf.generateCertificate(certstream) ;<br />
certs[0] = cert;<br />
} else {<br />
System.out.println(&#8220;Certificate chain length: &#8220;+c.size());<br />
certs = (Certificate[])c.toArray();<br />
}</p>
<p>// storing keystore<br />
ks.setKeyEntry(defaultalias, ff,<br />
keypass.toCharArray(),<br />
certs );<br />
System.out.println (&#8220;Key and certificate stored.&#8221;);<br />
System.out.println (&#8220;Alias:&#8221;+defaultalias+&#8221; Password:&#8221;+keypass);<br />
ks.store(new FileOutputStream ( keystorename ),<br />
keypass.toCharArray());<br />
} catch (Exception ex) {<br />
ex.printStackTrace();<br />
}<br />
}</p>
<p>}// KeyStore</p>
<p>As found at <a href="http://www.agentbob.info/agentbob/79-AB.html">Agent Bob</a>.</p>
<p>Then the last remaining tricky bit is getting it out of the keystore this program creates and in to the one you intend to use. That could be as easy as just pointing jboss at this keystore but I made it harder and did this to copy from one keystore into another.</p>
<p><strong>keytool -importkeystore -srckeystore /the/keystore/made/by/importkey.java/keystore.ImportKey -srcstorepass importkey -destkeystore /the/one/you/use/jboss.keystore -deststorepass somethingclever -alias importkey -destalias production -srckeypass importkey -destkeypass somethingclever</strong></p>
<p>Then I edited /usr/local/java/jboss-VERSION/server/default/deploy/jboss-web.deployer/server.xml to modify the 8443 SSL connector they ship to do this:<br />
<pre><pre>&nbsp;&nbsp;&nbsp;&nbsp;&amp;lt;Connector port=&quot;443&quot; protocol=&quot;HTTP/1.1&quot; SSLEnabled=&quot;true&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; maxThreads=&quot;150&quot; scheme=&quot;https&quot; secure=&quot;true&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;address=&quot;${jboss.bind.address}&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keystoreFile=&quot;/usr/local/java/jboss-VERSION/server/default/conf/ark.keystore&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keyAlias=&quot;production&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;keystorePass=&quot;somethingclever&quot;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clientAuth=&quot;false&quot; sslProtocol=&quot;TLS&quot; /&amp;gt;</pre></pre><br />
During this day I also got my hands on the 12G file which is a Windows virtualbox image in use by my nearest IT group. This doesn&#8217;t reveal some deep latent desire to be using Windows after all this time, this was me attempting to solve an issue for the people around me without taking on administration of Windows systems. It very nearly worked.</p>
<p>ETA: the key has its own password separate from the keystore. You can change it when you import that key into the new keystore, so I updated the command to reflect that.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2011/07/05/njc-day-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Last week.</title>
		<link>http://blog.manjusri.org/2011/06/12/last-week/</link>
		<comments>http://blog.manjusri.org/2011/06/12/last-week/#comments</comments>
		<pubDate>Mon, 13 Jun 2011 02:40:11 +0000</pubDate>
		<dc:creator>binder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/?p=363</guid>
		<description><![CDATA[This is my last week at my current job. Maybe I&#8217;ll try to use the blog to record a changelog of what I&#8217;m up to in the future.]]></description>
			<content:encoded><![CDATA[<p>This is my last week at my current job. Maybe I&#8217;ll try to use the blog to record a changelog of what I&#8217;m up to in the future.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2011/06/12/last-week/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What Have You Done Lately?</title>
		<link>http://blog.manjusri.org/2010/08/26/what-have-you-done-lately/</link>
		<comments>http://blog.manjusri.org/2010/08/26/what-have-you-done-lately/#comments</comments>
		<pubDate>Fri, 27 Aug 2010 05:13:57 +0000</pubDate>
		<dc:creator>binder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/2010/08/26/what-have-you-done-lately/</guid>
		<description><![CDATA[Not blogged, not read novels, not taken pictures, not slept, not baked. But I did convert two teams from subversion to mercurial. Oh, and we&#8217;re buying a house.]]></description>
			<content:encoded><![CDATA[<p>Not blogged, not read novels, not taken pictures, not slept, not baked.</p>
<p>But I did convert two teams from subversion to mercurial.</p>
<p>Oh, and we&#8217;re buying a house.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2010/08/26/what-have-you-done-lately/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Inbox Zero</title>
		<link>http://blog.manjusri.org/2009/10/26/inbox-zero/</link>
		<comments>http://blog.manjusri.org/2009/10/26/inbox-zero/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 00:27:29 +0000</pubDate>
		<dc:creator>flickr</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/2009/10/26/inbox-zero/</guid>
		<description><![CDATA[inboxzero Originally uploaded by Binder Of Daemons BEHOLD MY GLORY.]]></description>
			<content:encoded><![CDATA[<div style="float: right;margin-left: 10px;margin-bottom: 10px">
 <a href="http://www.flickr.com/photos/stp/4048555632/" title="photo sharing"><img src="http://farm3.static.flickr.com/2454/4048555632_ed46496b23_m.jpg" alt="" style="border: solid 2px #000000" /></a><br />
 <br />
 <span style="font-size: 0.9em;margin-top: 0px"><br />
  <a href="http://www.flickr.com/photos/stp/4048555632/">inboxzero</a><br />
  <br />
  Originally uploaded by <a href="http://www.flickr.com/people/stp/">Binder Of Daemons</a><br />
 </span>
</div>
<p>BEHOLD MY GLORY.<br /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2009/10/26/inbox-zero/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Slightly Updated Resume</title>
		<link>http://blog.manjusri.org/2009/10/11/slightly-updated-resume/</link>
		<comments>http://blog.manjusri.org/2009/10/11/slightly-updated-resume/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 20:26:02 +0000</pubDate>
		<dc:creator>binder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/?p=215</guid>
		<description><![CDATA[I made some tiny updates to bring my resume up to date since it&#8217;d been awhile and put it online again. It&#8217;s linked from the top of the manjusri.org domain. Then I played around a little bit with the Powell&#8217;s Partner Bookshelf thing and have a shelf of some of my favorite books. Also added [...]]]></description>
			<content:encoded><![CDATA[<p>I made some tiny updates to bring my resume up to date since it&#8217;d been awhile and put it online again.  It&#8217;s linked from the <a href="http://www.manjusri.org/">top of the manjusri.org domain</a>.</p>
<p>Then I played around a little bit with the Powell&#8217;s Partner Bookshelf thing and have <a href="http://www.powells.com/cgi-bin/partner?partner_id=32095&amp;html=ppbs/32095_1694.html">a shelf of some of my favorite books</a>.</p>
<p>Also added to the <a href="http://blog.manjusri.org/socialize-me/">Socialize Me</a> page if you want it again later.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2009/10/11/slightly-updated-resume/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Leatherclad Clown They Call the Sandman</title>
		<link>http://blog.manjusri.org/2009/10/11/a-leatherclad-clown-they-call-the-sandman/</link>
		<comments>http://blog.manjusri.org/2009/10/11/a-leatherclad-clown-they-call-the-sandman/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 19:52:05 +0000</pubDate>
		<dc:creator>binder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fantasy]]></category>
		<category><![CDATA[novel]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/?p=213</guid>
		<description><![CDATA[Did you like Brimstone? Did you like Unknown Armies? The novel Godwalker? The comic book Lucifer? Immortal the RPG?  Delta Green? If you didn&#8217;t say yes to at least one of those, you&#8217;re excused.  Go skip ahead to something else in your flist or your feed reader. Still here? Then you&#8217;ll like Sandman Slim.  It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Did you like <a href="http://us.imdb.com/title/tt0165564/">Brimstone</a>?  Did you like <a href="http://ua.johntynes.com/">Unknown Armies</a>?  The novel <a href="http://www.gregstolze.com/fiction.html">Godwalker</a>? The comic book <a rel="powells" href="http://www.powells.com/partner/32095/biblio/9781563897337">Lucifer</a>? <a href="http://www.invisiblewar.com/immortal/index2.html">Immortal</a> the RPG?  <a href="http://www.delta-green.com/">Delta Green</a>?</p>
<p>If you didn&#8217;t say yes to at least one of those, you&#8217;re excused.  Go skip ahead to something else in your flist or your feed reader.</p>
<p>Still here? Then you&#8217;ll like <a rel="powells" href="http://www.powells.com/partner/32095/biblio/9780061714306 ">Sandman Slim</a>.  It&#8217;s a novel which could have been told as a story in any of those settings but wasn&#8217;t, because it was told by <a href="http://www.richardkadrey.com/">Richard Kadrey</a>.  It&#8217;s a revenge story, it&#8217;s a modern era magic story, it&#8217;s a buddy story, it&#8217;s a story about a lucky loser who more or less emerges triumphant from his character arc.  It&#8217;s really good.  But I don&#8217;t know how much appeal it&#8217;ll have to someone who isn&#8217;t already into that gritty street magic paranormal anti-romance groove when this book hits their eyes.</p>
<p>For those of you would like this, go read it.  It&#8217;s a fast moving story with very few aggravations.  If you&#8217;re not one of the people who would like this, you suck.  What are you doing still reading this, anyway?  I told you to beat it!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2009/10/11/a-leatherclad-clown-they-call-the-sandman/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Rain in Space</title>
		<link>http://blog.manjusri.org/2009/09/30/the-rain-in-space/</link>
		<comments>http://blog.manjusri.org/2009/09/30/the-rain-in-space/#comments</comments>
		<pubDate>Thu, 01 Oct 2009 04:53:29 +0000</pubDate>
		<dc:creator>binder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[novel]]></category>
		<category><![CDATA[Review]]></category>
		<category><![CDATA[space opera]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/?p=210</guid>
		<description><![CDATA[It's more space opera, with some striking relativistic scale combats, some tough people solving thorny problems, some unlucky people failing, compromises made with the best of intentions and blowing up in everyone's faces.]]></description>
			<content:encoded><![CDATA[<p>Remember when I read <a href="&lt;a href='http://www.powells.com/partner/32095/biblio/9780441009428 ' title='' rel='powells'&gt;Revelation Space&lt;/a&gt;">Revelation Space</a> and wrote a <a href="http://blog.manjusri.org/2009/04/04/show-me-the-space/">brief review</a>?  Between then and now, probably while <a href="http://www.flickr.com/photos/stp/3910839487/in/photostream/">in Denver at a reading</a> with <a href="http://www.vylarkaftan.net/">Vylar</a>, I picked up <a href="&lt;a href='http://www.powells.com/partner/32095/biblio/9780441011735  ' title='' rel='powells'&gt;Redemption Ark&lt;/a&gt;">Redemption Ark</a>, the sequel.  Seems to be the middle book in a trilogy.  It does a solid job of being the middle child, not wasting too many pages recapitulating the plot of the first book, sheds a new light on what&#8217;s gone before and foreshadows, hopefully, a resolution to The Big Problem forthcoming in the third book.  Well, forthcoming to me.  It&#8217;s been in print for some time now, I suppose.</p>
<p>It&#8217;s more space opera, with some striking relativistic scale combats, some tough people solving thorny problems, some unlucky people failing, compromises made with the best of intentions and blowing up in everyone&#8217;s faces.</p>
<p>Who might like this</p>
<ul>
<li> Fans of space opera</li>
<li> People who read the first book and wonder what happens next</li>
<li> Fans of tough women and wily old men</li>
</ul>
<p>Who might not like this</p>
<ul>
<li> Fans of dragons, unicorns, wizards, magicians, chicken pablum for the soul</li>
<li> Readers who find middle books in trilogies disappointing in general</li>
<li> People looking for a fast breezy read</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2009/09/30/the-rain-in-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brief Survey</title>
		<link>http://blog.manjusri.org/2009/09/12/brief-survey/</link>
		<comments>http://blog.manjusri.org/2009/09/12/brief-survey/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 02:59:40 +0000</pubDate>
		<dc:creator>binder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[systemic]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/?p=206</guid>
		<description><![CDATA[I&#8217;m testing something minor and not very sexy but if you read this post, please make a brief comment telling me where you read it.  I&#8217;m anticipating answers like &#8216;on Livejournal&#8217;, &#8216;in Google Reader&#8217;, &#8216;in Google Reader shared by &#60;someone&#62;&#8217;, &#8216;on your planet&#8217;, etc.  Surprise me if it&#8217;s something I didn&#8217;t anticipate or reassure me [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m testing something minor and not very sexy but if you read this post, please make a brief comment telling me where you read it.  I&#8217;m anticipating answers like &#8216;on Livejournal&#8217;, &#8216;in Google Reader&#8217;, &#8216;in Google Reader shared by &lt;someone&gt;&#8217;, &#8216;on your planet&#8217;, etc.  Surprise me if it&#8217;s something I didn&#8217;t anticipate or reassure me of my powers of interpretation, if you would.</p>
<p>ETA: if you are seeing this in livejournal and have no idea how to comment click on the link &#8216;Obsolete Your Idols&#8217; after Mirrored from.  That will bring you to the blog itself where you can comment.  Sorry for the hassle.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2009/09/12/brief-survey/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Grieving</title>
		<link>http://blog.manjusri.org/2009/06/16/grieving/</link>
		<comments>http://blog.manjusri.org/2009/06/16/grieving/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 13:17:40 +0000</pubDate>
		<dc:creator>binder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/?p=185</guid>
		<description><![CDATA[Yeah, so, my friend died. On purpose. I&#8217;ve tried to think of something intelligent or even intelligible to say about it but I&#8217;m past the clarity of anger into the morass of despair about it.  He was a good guy and he did his best and I don&#8217;t have any idea why he did himself [...]]]></description>
			<content:encoded><![CDATA[<p>Yeah, so, my friend died.</p>
<p>On purpose.</p>
<p>I&#8217;ve tried to think of something intelligent or even intelligible to say about it but I&#8217;m past the clarity of anger into the morass of despair about it.  He was a good guy and he did his best and I don&#8217;t have any idea why he did himself in.</p>
<p>I miss him.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2009/06/16/grieving/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SEO what.</title>
		<link>http://blog.manjusri.org/2009/04/18/seo-what/</link>
		<comments>http://blog.manjusri.org/2009/04/18/seo-what/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 22:56:44 +0000</pubDate>
		<dc:creator>binder</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[System]]></category>

		<guid isPermaLink="false">http://blog.manjusri.org/2009/04/18/seo-what/</guid>
		<description><![CDATA[I was feeling restless so I looked at what Google Webmaster Tools had to say about this blog. Mostly it thought my title tags weren&#8217;t interesting enough, which was true. So I took the tip from Perishable Press on making title tags without Yet Another Plugin. Humans shouldn&#8217;t notice anything exciting but perhaps the Googlebot [...]]]></description>
			<content:encoded><![CDATA[<p>I was feeling restless so I looked at what <a href="https://www.google.com/webmasters/tools/dashboard?hl=en">Google Webmaster Tool</a>s had to say about this blog.  Mostly it thought my title tags weren&#8217;t interesting enough, which was true.  So I took the tip from <a href="http://perishablepress.com/press/2008/07/21/how-to-generate-perfect-wordpress-title-tags-without-a-plugin/">Perishable Press</a> on making title tags without Yet Another Plugin.</p>
<p>Humans shouldn&#8217;t notice anything exciting but perhaps the Googlebot will be thrilled.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.manjusri.org/2009/04/18/seo-what/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

