<?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>Just wondering....</title>
	<atom:link href="http://www.sworddance.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sworddance.com/blog</link>
	<description></description>
	<lastBuildDate>Fri, 26 Feb 2010 01:44:27 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google I/O 2010 early review!</title>
		<link>http://www.sworddance.com/blog/2010/01/23/google-io-2010-early-review/</link>
		<comments>http://www.sworddance.com/blog/2010/01/23/google-io-2010-early-review/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 21:47:57 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[entertainment]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=579</guid>
		<description><![CDATA[Google Checkout asked for my review of Google I/O, so here it is!
Thanks for your recent purchase from Google IO.
We&#8217;d really appreciate hearing about your experience. Please take a moment to tell us about it by filling out the form below. We will publish your review online so that others can learn from your experience.

	5 [...]]]></description>
			<content:encoded><![CDATA[<p>Google Checkout asked for my review of Google I/O, so here it is!</p>
<blockquote><p>Thanks for your recent purchase from Google IO.</p>
<p>We&#8217;d really appreciate hearing about your experience. Please take a moment to tell us about it by filling out the form below. We will publish your review online so that others can learn from your experience.</p>
<pre>
	5 stars  Excellent: I would definitely buy from this store again.
	4 stars
	3 stars
	2 stars
 (*)	1 star   Poor: I would discourage others from this store.
</pre>
<p>How was your overall experience with this store?</p></blockquote>
<p>Google I/O promised both the I and Ohhhhh&#8217;s. But so far Google I/O  delivered only the &#8216;i&#8217; (note the lower case) and delivered neither I&#8217;s nor Ohhhh&#8217;s ( of any case). Furthermore, Google I/O seems to be perpetually out of A&#8217;s ( needed for the best students), E (as in eeks!) and of course the all important U ( needed for assigning blame!). People looking to buy a vowel for their <a href="http://www.wheeloffortune.com/">Wheel of Fortune</a> appearance should go elsewhere.</p>
<p>I made the purchase and then discovered that <a href="http://code.google.com/events/io/2010/">Google I/O will ship May 19-20</a> (4 months from now!). Even with this long wait there is no promise that any quality Ohhhs will be in stock. There is no return policy if the promised Ohhh&#8217;s turn out to be disappointing oh&#8217;s. In spite of this Google I/O is promising to sell out. So <a href="http://code.google.com/events/io/2010/schedule.html">Google I/O is suggesting that people arrive early</a> &#8211; latecomers may find only damaged Ohhhs left in the bins. </p>
<p>With the promised sellout crowds and the potential scarcity of Ohhh&#8217;s Google I/O has shown little interest in increasing security or crowd control measures. San Francisco Police indicate that they have not been asked to assist. Currently, they regard Google I/O 2010 as just a normal event in the Moscone Center. It&#8217;s also my understanding that alcohol will be served. It is almost certain that there will be <a href="http://legacy.signonsandiego.com/uniontrib/20041031/news_7m31safe.html">Oakland Raider fans in attendance!</a>:</p>
<blockquote><p>Any time the Oakland Raiders make their way south, San Diego gets nervous. Police officials call more meetings and re-check security plans. Home-team executives bring in extra guards and cut off beer sales early.</p>
<p>This year&#8217;s game is drawing special attention because it is being played on Halloween – and because a spate of bloody outbursts at sporting events in recent years has rekindled concern about spectator violence.</p></blockquote>
<p><a href="http://sports.yahoo.com/soccer/news?slug=ap-england-fanviolence&#038;prov=ap&#038;type=lgns">As well as some Manchester United fans</a>:</p>
<blockquote><p>Seven football fans have been arrested after trouble during Manchester United’s Premier League match at Birmingham.</p>
<p>West Midlands Police said there were two incidents of disorder Saturday, one just before the game at St. Andrews’ and one during half time.</p></blockquote>
<p>All of this leaves me highly concerned that Google I/O 2010 will be <a href="http://www.cnn.com/2008/US/11/28/black.friday.violence/">a repeat of Walmart 2008&#8217;s Black Friday experience</a>. I am sure the other Google I/O 2010 participants are aware of this. So in spite of Google I/O 2010 being billed as a family affair, I doubt that there will be many children in attendance. Since women lack the physical strength to compete for the mad rush to get the Ohhhs, I suspect women will also be underrepresented. </p>
<p>On the other hand, Microsoft has shown considerable effort in improved security. <a href="http://www.microsoft.com/events/techednorthamerica/">Microsoft TechEd Conference</a> should be a safer experience. (Not withstanding that <a href="http://www.infosecu.rity-us.com/view/6624/further-evidence-links-aurora-attack-to-china/">poor security in Microsoft IE was responsible for the Aurora attack</a>)</p>
<p><span id="more-579"></span></p>
<p>Inspired by my favorite punk&#8217;d reviews <a href="http://www.amazon.com/Playmobil-3172-Security-Check-Point/dp/B0002CYTL2/ref=cm_cr_pr_product_top">Playmobil Airport security</a>:</p>
<p><a href="http://www.amazon.com/review/RGJ8WVRL6MWBD/ref=cm_cr_rdp_perm">Here:</a></p>
<blockquote><p>My 5 year old son pointed out that the passenger&#8217;s shoes cannot be removed. Then, we placed a deadly fingernail file underneath the passenger&#8217;s scarf, and neither the detector doorway nor the security wand picked it up. My son said &#8220;that&#8217;s the worst security ever!&#8221;.</p></blockquote>
<p><a href="http://www.amazon.com/review/R10R97A5LU3BDD/ref=cm_cr_rdp_perm">and here:</a></p>
<blockquote><p>the playmobil Dad could not remove his shoes or other clothing items, unlike the Barbie, the playmobil security agent became suspicious and after waving her wand wildy a few dozen times, called her supervisor to wisk the Dad into a special body-cavity search room, (which incidentally led to quite an embarasing and interesting discussion with my twin daughters about personal hygiene and a slight adjustment to the rules we had them memorize about touching by strangers). But worst of all, since the suitcase did not actually open, the baggage inspector made a call to the FBI and ATF bomb squads which then segregated the family&#8217;s suitcase (which btw was the only suitcase they provided for our educational family experience) and according to the advanced TSA regulations, had to blow it up, (since they could not otherwise mutilate the luggage, break off the locks and put one of those nice little advisory stickers on it), which we had to simulate out in the backyard with a few M-80s and other fireworks.</p></blockquote>
<p>And of course <a href="http://www.amazon.com/review/R2VDKZ4X1F992Q/ref=cm_cr_rdp_perm">Ping</a>:</p>
<blockquote><p>Using deft allegory, the authors have provided an insightful and intuitive explanation of one of Unix&#8217;s most venerable networking utilities. Even more stunning is that they were clearly working with a very early beta of the program, as their book first appeared in 1933, years (decades!) before the operating system and network infrastructure were finalized.</p>
<p>The book describes networking in terms even a child could understand, choosing to anthropomorphize the underlying packet structure. The ping packet is described as a duck, who, with other packets (more ducks), spends a certain period of time on the host machine (the wise-eyed boat). At the same time each day (I suspect this is scheduled under cron), the little packets (ducks) exit the host (boat) by way of a bridge (a bridge). From the bridge, the packets travel onto the internet (here embodied by the Yangtze River).</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2010/01/23/google-io-2010-early-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Funny article &#8220;Open Thread: There&#8217;s No Such Thing As Free Content&#8221;</title>
		<link>http://www.sworddance.com/blog/2010/01/23/funny-article-open-thread-theres-no-such-thing-as-free-content/</link>
		<comments>http://www.sworddance.com/blog/2010/01/23/funny-article-open-thread-theres-no-such-thing-as-free-content/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 10:12:43 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[entertainment]]></category>
		<category><![CDATA[political]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=573</guid>
		<description><![CDATA[Hah, funny article. It&#8217;s the usual rant that &#8220;someone&#8221; has to pay for the content.
Someone, somewhere ends up putting out money for everything you do online, every piece of news you read, every Web app you use. It takes professionals and hardware across a gigantic industry to make these things work. In terms of overhead [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.readwriteweb.com/archives/open_thread_theres_no_such_thing_as_free_content.php">Hah, funny article.</a> It&#8217;s the usual rant that &#8220;someone&#8221; has to pay for the content.</p>
<blockquote><p>Someone, somewhere ends up putting out money for everything you do online, every piece of news you read, every Web app you use. It takes professionals and hardware across a gigantic industry to make these things work. In terms of overhead alone, content costs a lot. So why do some users always kick and scream at the first suggestion of paid content? Do you think content is worth paying for, and if so, what are you personally willing to pay?</p>
<p>I&#8217;m curious: What kinds of online content, if any, are you willing to pay for? And how much will you pay for them?</p></blockquote>
<p>As usual for the stenographers they completely missed the point. They are no longer king of the data hill since the &#8220;journalists&#8221; do not provide information ( actionable data ) but merely (and usually inaccurate) data with no competent interpretation.</p>
<p>Some of the problems with the &#8220;content&#8221; MSM media produces:</p>
<ol>
<li>Inaccurate: It is extraordinarily rare to find a Main-stream Media outlet that can get the facts correct. I have seen articles confuse the term &#8220;Light-Rail&#8221; with &#8220;High-Speed Rail&#8221; ( equivalent to confusing &#8220;speed of sound&#8221; with &#8220;speed of light&#8221; ).</li>
<li>Anonymous (gossip) sources: Reading anything about politics is equally painful &#8220;anonymous sources&#8221; are quoted, given reader no way to judge the quality of the information &#8211; so the article becomes disguised hearsay.</li>
<li>Stenographers: Usually, a &#8220;journalist&#8221; lazily parrots a political party&#8217;s (usually Republican ) talking points or regurgitates a corporate press release. Witness the rah-rah-rahing of the Iraq War.</li>
<li>Contrived controversies: There is the endless contrived controversies around settled issues ( global warming ) that confuse the lay man.</li>
<li>False Balance: there is false &#8220;journalistic&#8221; balance where a scientist with a vast amount of data is &#8220;balanced&#8221; against the latest creationist whack-job.</li>
<li>DWHC: Lastly come the endless pieces about the latest DWHC ( Dead white hot chick ) or rumors about Micheal Jackson&#8217;s death. Yes, people are interested in hearing about celebrity gossip, put it is mental cotton candy &#8211; low food value.</li>
<li>Not unique: the article on the AP wire as little value. The same article can be gotten from a vast array of sources. Therefore its scarcity and value are non-existent to a given media outlet.</li>
<li>Process-orientated: Case in point: Horse race mentality around what polls are saying about who is &#8220;in the lead&#8221;.</li>
</ol>
<p>So why would I pay for &#8220;content&#8221; stenographic, celebrity gossip articles.</p>
<p>If journalists stopped being lazy and did more research than half-understood wikipedia articles and google-reading, it would be worth it to buy their content. But buy stenographic contact in advance, not a chance.</p>
<p>However, I would very much like to see a tip mechanism whereby I can tip a reporter after reading the article. But I ain&#8217;t paying for the crap fluff pieces. Hell you should pay ME that you wasted my time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2010/01/23/funny-article-open-thread-theres-no-such-thing-as-free-content/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Empathic Developers?</title>
		<link>http://www.sworddance.com/blog/2010/01/16/empathic-developers/</link>
		<comments>http://www.sworddance.com/blog/2010/01/16/empathic-developers/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 00:05:23 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[management]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=567</guid>
		<description><![CDATA[Amazing! Someone else also recognizes the crying need for &#8220;soft&#8221;, people skills in the hard, rocket science techie community!
I ran into Ari Krupnik at the Hacker Dojo job fair. I have constantly beaten my head against the wall trying to get other developers to understand that most people are not interested in technology for technology&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Amazing! Someone else also recognizes the crying need for &#8220;soft&#8221;, people skills in the hard, rocket science techie community!</p>
<p>I ran into <a href="http://www.lib.aero/">Ari Krupnik</a> at the <a href="http://hackerdojo.pbworks.com/Hacker-Dojo-Job-Fair">Hacker Dojo job fair</a>. I have constantly beaten my head against the wall trying to get other developers to understand that most people are not interested in technology for technology&#8217;s sake. Most people outside Silicon Valley has a life that does not revolve around technology but rather uses technology as an expression of &#8220;self&#8221; (&#8220;iPhone gets me the girl&#8221;).  Non-techie types are anti-<a href="http://en.wikipedia.org/wiki/RTFM" rel="nofollow">RTFM</a>. Developers as a rule don&#8217;t understand and think the users are eager to spend hours discovering how wonderful the program is.</p>
<p><a href="http://www.lib.aero/emotional-engineering.aml">Ari apparently does</a>:</p>
<blockquote><p>I notice that engineers who block specific emotions entrain drama that revolves around the very emotions they block. The drama seems to go away as soon as the engineer is willing to experience the feeling that he blocks. In the tribe, we help each other unblock feelings and experience them fully. The results seem to include better relationships with peers and customers, and improvements in code quality. </p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2010/01/16/empathic-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pride before the fall?</title>
		<link>http://www.sworddance.com/blog/2010/01/10/pride-before-the-fall/</link>
		<comments>http://www.sworddance.com/blog/2010/01/10/pride-before-the-fall/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 09:41:25 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[political]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/2010/01/10/pride-before-the-fall/</guid>
		<description><![CDATA[Mark Z. (facebook) says everything should be public. Mark Z. does not know about Rebecca Schaeffer. Before she was murdered by a stalker, &#8220;no one&#8221; cared about the privacy issues around California selling driver license information to anyone.
Before identity theft became a huge problem, &#8220;no one&#8221; cared that every tom-dick-and-harry business was using social security [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.readwriteweb.com/archives/facebooks_zuckerberg_says_the_age_of_privacy_is_ov.php">Mark Z. (facebook) says everything should be public.</a> Mark Z. does not know about <a href="http://en.wikipedia.org/wiki/Rebecca_Schaeffer" rel="nofollow">Rebecca Schaeffer</a>. Before she was murdered by a stalker, &#8220;no one&#8221; cared about the privacy issues around California selling driver license information to anyone.</p>
<p>Before identity theft became a huge problem, &#8220;no one&#8221; cared that every tom-dick-and-harry business was using social security numbers as account numbers.</p>
<p>Before 9/11, &#8220;no one&#8221; cared about terrorism at the deeply personal level.</p>
<p>The fundamental danger is that Mark Z. is completely unprepared for the reality that societies acceptance of what is o.k. can and does shift. Sometimes slowly, some times in one day.</p>
<p>Arrogance and indifference is blinding.</p>
<p>I won&#8217;t predicate the demise of Facebook. But if I was a facebook investor, this would be a little worrying. I sense a bit of an echo machine within Facebook.</p>
<p>If government law changes to demand privacy will facebook be able to respond?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2010/01/10/pride-before-the-fall/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>&#8230; and I nailed the javadoc</title>
		<link>http://www.sworddance.com/blog/2010/01/07/and-i-nailed-the-javadoc/</link>
		<comments>http://www.sworddance.com/blog/2010/01/07/and-i-nailed-the-javadoc/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 18:44:08 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[help notes]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=563</guid>
		<description><![CDATA[Yesterday was a red letter day. I found multiple bugs in the javac and javadoc. (1.6.0_17)
This javadoc issue occurred when there is a class that has no package line ( it is in the default package). Annoyingly enough it occurred when I was trying to create a test case for this javac bug. I was [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday was a red letter day. I found multiple bugs in the javac and javadoc. (1.6.0_17)</p>
<p>This javadoc issue occurred when there is a class that has no package line ( it is in the default package). Annoyingly enough it occurred when I was trying to create a test case for <a href="http://www.sworddance.com/blog/2010/01/07/woot-i-crashed-the-javac/">this javac</a> bug. I was running maven 2.2.1 at the time.<br />
<code>
<pre>
java.lang.NullPointerException
       at com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUse(PackageUseWriter.java:180)
       at com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageList(PackageUseWriter.java:124)
       at com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUse(PackageUseWriter.java:110)
       at com.sun.tools.doclets.formats.html.PackageUseWriter.generatePackageUseFile(PackageUseWriter.java:99)
       at com.sun.tools.doclets.formats.html.PackageUseWriter.generate(PackageUseWriter.java:78)
       at com.sun.tools.doclets.formats.html.ClassUseWriter.generate(ClassUseWriter.java:116)
       at com.sun.tools.doclets.formats.html.HtmlDoclet.generateOtherFiles(HtmlDoclet.java:92)
       at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:122)
       at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:64)
       at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:42)
       at com.sun.tools.doclets.standard.Standard.start(Standard.java:23)
       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
       at java.lang.reflect.Method.invoke(Method.java:597)
       at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
       at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
       at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
       at com.sun.tools.javadoc.Start.begin(Start.java:128)
       at com.sun.tools.javadoc.Main.execute(Main.java:41)
       at com.sun.tools.javadoc.Main.main(Main.java:31)
</pre>
<p></code></p>
<p>Solution was to put the java code into a package.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2010/01/07/and-i-nailed-the-javadoc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Woot! I crashed the javac</title>
		<link>http://www.sworddance.com/blog/2010/01/07/woot-i-crashed-the-javac/</link>
		<comments>http://www.sworddance.com/blog/2010/01/07/woot-i-crashed-the-javac/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 18:35:10 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[help notes]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=556</guid>
		<description><![CDATA[My javac crash:
An exception has occurred in the compiler (1.6.0_17). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.

java.lang.AssertionError: isSubtype 15 ( 15 = TypeTags.WILDCARD )
	at com.sun.tools.javac.code.Types$5.visitType(Types.java:347)
	at com.sun.tools.javac.code.Types$5.visitType(Types.java:328)
	at com.sun.tools.javac.code.Types$DefaultTypeVisitor.visitWildcardType(Types.java:3163)
	at com.sun.tools.javac.code.Type$WildcardType.accept(Type.java:416)
	at com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:3161)
	at com.sun.tools.javac.code.Types.isSubtype(Types.java:324)
	at com.sun.tools.javac.code.Types.isSubtype(Types.java:308)
	at [...]]]></description>
			<content:encoded><![CDATA[<p>My javac crash:</p>
<p><code>An exception has occurred in the compiler (1.6.0_17). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport)  after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report.  Thank you.</p>
<pre>
java.lang.AssertionError: isSubtype 15 ( 15 = TypeTags.WILDCARD )
	at com.sun.tools.javac.code.Types$5.visitType(Types.java:347)
	at com.sun.tools.javac.code.Types$5.visitType(Types.java:328)
	at com.sun.tools.javac.code.Types$DefaultTypeVisitor.visitWildcardType(Types.java:3163)
	at com.sun.tools.javac.code.Type$WildcardType.accept(Type.java:416)
	at com.sun.tools.javac.code.Types$DefaultTypeVisitor.visit(Types.java:3161)
	at com.sun.tools.javac.code.Types.isSubtype(Types.java:324)
	at com.sun.tools.javac.code.Types.isSubtype(Types.java:308)
	at com.sun.tools.javac.code.Types.isSubtypeUnchecked(Types.java:288)
	at com.sun.tools.javac.code.Types.isSubtypeUnchecked(Types.java:460)
	at com.sun.tools.javac.comp.Infer.checkWithinBounds(Infer.java:388)
	at com.sun.tools.javac.comp.Infer.instantiateExpr(Infer.java:241)
	at com.sun.tools.javac.comp.Check.instantiatePoly(Check.java:356)
	at com.sun.tools.javac.comp.Check.checkType(Check.java:324)
	at com.sun.tools.javac.comp.Attr.check(Attr.java:160)
	at com.sun.tools.javac.comp.Attr.visitApply(Attr.java:1276)
	at com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1210)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:377)
	at com.sun.tools.javac.comp.Attr.visitAssign(Attr.java:1550)
	at com.sun.tools.javac.tree.JCTree$JCAssign.accept(JCTree.java:1342)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribExpr(Attr.java:384)
	at com.sun.tools.javac.comp.Attr.visitExec(Attr.java:1017)
	at com.sun.tools.javac.tree.JCTree$JCExpressionStatement.accept(JCTree.java:1074)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:413)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:715)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:739)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitIf(Attr.java:1009)
	at com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1050)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:413)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:715)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:739)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitForLoop(Attr.java:740)
	at com.sun.tools.javac.tree.JCTree$JCForLoop.accept(JCTree.java:818)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:413)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:715)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:739)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitIf(Attr.java:1009)
	at com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1050)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:413)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:715)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:739)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitIf(Attr.java:1009)
	at com.sun.tools.javac.tree.JCTree$JCIf.accept(JCTree.java:1050)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.attribStats(Attr.java:413)
	at com.sun.tools.javac.comp.Attr.visitBlock(Attr.java:715)
	at com.sun.tools.javac.tree.JCTree$JCBlock.accept(JCTree.java:739)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.visitMethodDef(Attr.java:634)
	at com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(JCTree.java:639)
	at com.sun.tools.javac.comp.Attr.attribTree(Attr.java:360)
	at com.sun.tools.javac.comp.Attr.attribStat(Attr.java:397)
	at com.sun.tools.javac.comp.Attr.attribClassBody(Attr.java:2697)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2628)
	at com.sun.tools.javac.comp.Attr.attribClass(Attr.java:2564)
	at com.sun.tools.javac.main.JavaCompiler.attribute(JavaCompiler.java:1036)
	at com.sun.tools.javac.main.JavaCompiler.compile2(JavaCompiler.java:765)
	at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:730)
	at com.sun.tools.javac.main.Main.compile(Main.java:353)
	at com.sun.tools.javac.main.Main.compile(Main.java:279)
	at com.sun.tools.javac.main.Main.compile(Main.java:270)
	at com.sun.tools.javac.Main.compile(Main.java:69)
	at com.sun.tools.javac.Main.main(Main.java:54)
</pre>
<p></code></p>
<p>I was not successful at reducing this crash to a simple test case.</p>
<p>However, the line that triggered the crash was:</p>
<p><code></p>
<blockquote><p>ProxyMapperImplementor&lt;?,?> childProxy = this;</p></blockquote>
<p></code></p>
<p>Some points:</p>
<ul>
<li><a href="http://www.sworddance.com/blog/2010/01/06/generic-annoyances-in-java/">Once again</a> (<a href="http://www.sworddance.com/blog/2007/08/13/explain-this/">and again</a>) the eclipse compiler is more robust than the sun javac</li>
<li>ProxyMapperImplementor is defined as:<br />
<code><br />
<blockquote>interface ProxyMapperImplementor&lt;I, O extends I></p></blockquote>
<p></code></li>
<li>Removing the wildcards so the line looks like solved the problem:<code><br />
<blockquote><p>ProxyMapperImplementor childProxy = this;</p></blockquote>
<p></code></p>
<p>Update (email from sun):</p>
<blockquote><p>This issue is related to Bug ID: 6738538. You can review this bug at:</p>
<p>http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6738538</p>
<p>This problem has been fixed in Java SE 7.0. Consider downloading a free copy at http://download.java.net/jdk7/binaries/ and checking if the problem persists. If the problem persists do let us know and we shall investigate this furthur.</p>
<p>We greatly appreciate your efforts in identifying areas in the Java Standard Edition where we can improve upon and I would request you to continue doing so.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2010/01/07/woot-i-crashed-the-javac/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Generic annoyances in java</title>
		<link>http://www.sworddance.com/blog/2010/01/06/generic-annoyances-in-java/</link>
		<comments>http://www.sworddance.com/blog/2010/01/06/generic-annoyances-in-java/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 01:14:31 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[help notes]]></category>
		<category><![CDATA[technical]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=548</guid>
		<description><![CDATA[For some reason, the type variable &#60;O> cannot flow through from an external caller through a callee to another called method.
This compiles just fine in eclipse, but once again sun&#8217;s javac is temperamental. 
The three solutions seem to be:

pass an object of type &#60;O> to the subcallee method (m0(), p0() )
use wildcard instead of &#60;O> [...]]]></description>
			<content:encoded><![CDATA[<p>For some reason, the type variable &lt;O> cannot flow through from an external caller through a callee to another called method.</p>
<p>This compiles just fine in eclipse, but <a href="http://www.sworddance.com/blog/2007/08/13/explain-this/">once again sun&#8217;s javac is temperamental.</a> </p>
<p>The three solutions seem to be:</p>
<ol>
<li>pass an object of type &lt;O> to the subcallee method (m0(), p0() )</li>
<li>use wildcard instead of &lt;O> &#8211; which is o.k. if O is not needed in the body of the method</li>
<li>assign to a variable with no generic information (universal backup solution to java generic wierdness)</li>
</ol>
<p>I filed a bug with Sun.</p>
<p>(Technical details: javac 1.6.0_17 )</p>
<p><code></p>
<pre>public class Foo {
    public <I, O extends I, R extends FooInterface<I, O>> I m(I i) {
/*line3*/        R r = (R) p(i);
        return i;
    }
    public <I, O extends I, R extends FooInterface<I, O>> R p(I i) {
        return null;
    }

    public <I, O extends I, K extends FooInterface<I, O>> I m0(O o) {
        K r= (K) p0(o);
        return o;
    }
    public <I, O extends I, K extends FooInterface<I, O>> K p0(O o) {
        return null;
    }

    public <I, K extends FooInterface<I, ? extends I>> I m1(I i) {
        K r= (K) p1(i);
        return i;
    }
    public <I, K extends FooInterface<I, ? extends I>> K p1(I i) {
        return null;
    }

    public <I, K extends FooInterface<I, ? extends I>> I m2(I i) {
/*line 27*/        K r= (K) p2(i);
        return i;
    }
    public <I, O extends I, K extends FooInterface<I, O>> K p2(I i) {
        return null;
    }
    interface FooInterface<I, O extends I> {

    }
}
</pre>
<p></code></p>
<p><code>Foo.java:3: incompatible types; inferred type argument(s) I,java.lang.Object do not conform to bounds of type variable(s) O,R<br />
found   : <O,R>R<br />
required: java.lang.Object<br />
/*line3*/        R r = (R) p(i);<br />
                            ^<br />
Foo.java:27: incompatible types; inferred type argument(s) I,java.lang.Object do not conform to bounds of type variable(s) O,K<br />
found   : <O,K>K<br />
required: java.lang.Object<br />
        K r= (K) p2(i);<br />
                   ^</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2010/01/06/generic-annoyances-in-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Diverging Diamonds: A great pedestrian idea!</title>
		<link>http://www.sworddance.com/blog/2009/12/06/diverging-diamonds-a-great-pedestrian-idea/</link>
		<comments>http://www.sworddance.com/blog/2009/12/06/diverging-diamonds-a-great-pedestrian-idea/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 07:46:47 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[political]]></category>
		<category><![CDATA[transportation]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=544</guid>
		<description><![CDATA[NPR has an article up about Diverging Diamonds.
While the Missouri Department of transportation talks about how this is great for vehicles, it is also great for pedestrians:

all crossings can be signalled for long crossing times because pedestrians are walking with the main flow of traffic &#8212; so lots of time for moms with kids to [...]]]></description>
			<content:encoded><![CDATA[<p>NPR has an article up about <a href="http://www.npr.org/templates/story/story.php?storyId=120403340&#038;ft=1&#038;f=1001">Diverging Diamonds.</a><img src="http://www.sworddance.com/blog/wp-content/uploads/2009/12/diverging-diamonds.jpg" alt="diverging-diamonds" title="diverging-diamonds" width="637" height="352" class="alignright size-full wp-image-545" /></p>
<p>While the Missouri Department of transportation talks about how this is great for vehicles, it is also great for pedestrians:</p>
<ol>
<li>all crossings can be signalled for long crossing times because pedestrians are walking with the main flow of traffic &#8212; so lots of time for moms with kids to get across.</li>
<li>the center island can be double the normal width &#8212; the 2 sidewalks on the edge of the bridge are combined to one double width sidewalk.</li>
<li>planter boxes or fencing on the perimeter of the center island can help reassure moms (and dads) that the 3-year old is not going to escape into traffic.</li>
<li>NO worries about people turning into pedestrians &#8211; all traffic is going the same direction as pedestrians &#8212; except for the initial right turn on to the freeway.</li>
<li>the right turn on to the freeway can easily be signaled and no right-turn on red allowed. </li>
<li>the gray areas at the end of the bridge also provide nice big areas.</li>
<li>Really, really easy to get across Missouri 13. It is now trivial to get do a diagonal crossing so that 44 and 13 are both crossed.</li>
</ol>
<p><a href="http://twitter.com/AdamHertz/status/6011276983">h/t to AdamHertz</a> for pointing the NPR article out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2009/12/06/diverging-diamonds-a-great-pedestrian-idea/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reasons 21-30 why social media is not replacing email</title>
		<link>http://www.sworddance.com/blog/2009/11/09/reasons-21-30-why-social-media-is-not-replacing-email/</link>
		<comments>http://www.sworddance.com/blog/2009/11/09/reasons-21-30-why-social-media-is-not-replacing-email/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 10:42:37 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[facebook]]></category>
		<category><![CDATA[marketing]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=535</guid>
		<description><![CDATA[The boo-hoo email is dead nonsense post from the dead tree media.
The first 10 reasons why email is alive and well.
The reasons 11 through 20 why email is not going away.
And lastly reasons 21 through 30 why email is not going to be replaced by social media:

Facebook / twitter can arbitrarily shut down your account [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://online.wsj.com/article/SB10001424052970203803904574431151489408372.html?mod=rss_whats_news_technology">The boo-hoo email is dead nonsense post from the dead tree media.</a></p>
<p><a href="http://www.webpronews.com/topnews/2009/10/12/10-reasons-social-media-isnt-replacing-email">The first 10 reasons why email is alive and well.</a></p>
<p><a href="http://blog.verticalresponse.com/verticalresponse_blog/2009/10/email-being-replaced-by-social-networks-not-so-fast-wall-st-journal.html">The reasons 11 through 20 why email is not going away</a>.</p>
<p>And lastly reasons 21 through 30 why email is not going to be replaced by social media:</p>
<ol start="21">
<li>Facebook / twitter can arbitrarily shut down your account ( and do! ) ( see <a href="http://www.sworddance.com/blog/2008/02/22/web-20-sites-have-no-value-but-they-are-still-worth-something/">why social media has no value post</a> )</li>
<li>Facebook users tend not to click on links that take them out of facebook.</li>
<li>Email can be archived/transferred/downloaded. Facebook/myspace messages not so easy.</li>
<li>facebook has &#8220;email&#8221; &#8211; enuf said.</li>
<li>Social media not universally interoperable. ( Facebook user can not &#8220;email&#8221; a hi5 / myspace user ) &#8211; there will always be someone who you must communicate with that is not on the social media in question.</li>
<li>No serious ability to manage large messages volumes ( i.e. folders/automatic rules/vacation response/forwarding based on rules)</li>
<li>Privacy / access control &#8211; Would Apple use facebook to communicate internally about the next iPhone feature set &#8212; I don&#8217;t think so!</li>
<li>Legal reasons &#8212; HIPPA privacy / SOX requirements.</li>
<li>C-level people (CEOs, CFOs, CMOs, etc. ) unlikely to communicate via facebook. Hell you are lucky to reach them via email!</li>
<li>Stigma/perceived purpose : social media is for &#8220;play&#8221; &#8211; email is for &#8220;serious work&#8221;</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2009/11/09/reasons-21-30-why-social-media-is-not-replacing-email/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>explain the trick</title>
		<link>http://www.sworddance.com/blog/2009/09/08/explain-the-trick/</link>
		<comments>http://www.sworddance.com/blog/2009/09/08/explain-the-trick/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 17:40:08 +0000</pubDate>
		<dc:creator>patrick</dc:creator>
				<category><![CDATA[marketing]]></category>
		<category><![CDATA[starting a company]]></category>

		<guid isPermaLink="false">http://www.sworddance.com/blog/?p=520</guid>
		<description><![CDATA[What happens when something looks too easy? Or the context is wrong?
This Labor Day weekend ( For the non-US people The &#8220;official&#8221; end of the summer in the U.S. first Monday in September &#8211; not May 1  ) me and my family went to the California State Fair.
There we saw Frank Oliver, a magician [...]]]></description>
			<content:encoded><![CDATA[<p>What happens when something looks too easy? Or the context is wrong?</p>
<p>This Labor Day weekend ( For the non-US people The &#8220;official&#8221; end of the summer in the U.S. first Monday in September &#8211; not May 1  ) me and my family went to the California State Fair.</p>
<p>There we saw <a href="http://twistedcabaret.com/">Frank Oliver, a magician and his sidekick</a> doing a bunch of tricks, fire swallowing, etc. My kids absolutely loved the show. One of the &#8220;tricks&#8221; was sword swallowing. Frank announces that his personal best was 19 inches and now he is going to attempt to do 22 inches for the &#8220;first time&#8221;. ( Having seen the show earlier in the day I knew that he had done it before &#8212; of course! ). Frank sits on the chair and his assistant makes a show of hammering the sword down.</p>
<p>Frank made it look so easy. Too easy.</p>
<p>Like everyone else in the audience, I was certain that there was a &#8220;trick&#8221; &#8211; the sword was rigged and it collapsed, or something. I discovered that there is no &#8220;trick&#8221; with sword swallowing. <a href="http://health.howstuffworks.com/sword-swallowing.htm">Frank was actually swallowing the sword</a> and <a href="http://health.howstuffworks.com/sword-swallowing4.htm">sword shallowing is quite dangerous</a>:</p>
<blockquote><p>Learning to ignore an involuntary process takes a tremendous amount of practice. In the case of sword swallowing, it generally involves deliberately activating the gag reflex over and over. The process can cause vomiting and considerable discomfort. It also dulls or removes a process intended to protect the person from harm. This is one of the many reasons why sword swallowing is dangerous. </p>
<p>The study involved the voluntary survey of 110 English-speaking sword swallowers. Forty-six of the 48 performers who responded consented to having their data used in the study. Thirty-three of the respondents included information about their medical histories. From most to least common, the side-effects they experienced from sword swallowing included:</p>
<p>    * <a href="http://health.howstuffworks.com/healthguide/sore-throat-dictionary.htm">Throat pain, or sword throat</a><br />
    * Persistent lower chest pain, likely from injury to the esophagus or the diaphragm<br />
    * Internal bleeding<br />
    * <a href="http://health.howstuffworks.com/healthguide/esophageal-perforation-dictionary.htm">Esophageal perforations</a>, three of which required surgery<br />
    * <a href="http://health.howstuffworks.com/healthguide/pleurisy-dictionary.htm">Pleurisy</a>, an inflammation of the lungs<br />
    * <a href="http://health.howstuffworks.com/healthguide/pericarditis-dictionary.htm">Pericarditis</a>, an inflammation of the sac that covers and protects the heart
</p></blockquote>
<p><a href="http://health.howstuffworks.com/sword-swallowing2.htm">Furthermore,</a><img src="http://www.sworddance.com/blog/wp-content/uploads/2009/09/sword-swallowing-2.jpg" alt="sword-swallowing-2" title="sword-swallowing-2" width="200" height="267" class="alignright size-full wp-image-522" /></p>
<blockquote><p>The Sword Swallowers Association International (SSAI) defines a sword swallower as a person who can swallow a 15-inch (38-centimeter) sword, which wouldn&#8217;t necessarily enter the stomach. The SSAI&#8217;s maximum recommended length for a swallowed sword is 24 inches (61 centimeters), which would put the tip of the sword well into the performer&#8217;s stomach [Source: <a href="http://swordswallow.com">swordswallow.com</a>]</p></blockquote>
<p>So 22 inches was near the extreme end of what was possible. </p>
<p>Something this dangerous and this involved deserves a better build up than being in the middle of an act and casually done. Frank should have explain how dangerous sword swallowing is, built up the suspense and drama. Instead sword swallowing was devalued simply because the lead-in was casual and it was treated like a joke. </p>
<p>Some times hard things should be made to look hard.</p>
<p><em>What about your company&#8217;s product? Is your company doing something hard and devaluing it because the difficulty of the problem is not being bragged about? Should the customers be aware of how hard the problem was &#8212; so they appreciate and value your solution more?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sworddance.com/blog/2009/09/08/explain-the-trick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
