<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>The Abstract Truth</title>
	<atom:link href="http://blog.pasker.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pasker.net</link>
	<description></description>
	<lastBuildDate>Sat, 28 Mar 2009 15:57:12 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/2f55c110e031f7c2179a356e99e23b5c?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>The Abstract Truth</title>
		<link>http://blog.pasker.net</link>
	</image>
			<item>
		<title>Cameron Purdy blogs about WebLogic under Oracle&#8217;s Aegis</title>
		<link>http://blog.pasker.net/2009/03/28/cameron-purdy-blogs-about-weblogic-under-oracles-aegis/</link>
		<comments>http://blog.pasker.net/2009/03/28/cameron-purdy-blogs-about-weblogic-under-oracles-aegis/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 15:57:12 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://blog.pasker.net/?p=113</guid>
		<description><![CDATA[I don&#8217;t often blockquote other people&#8217;s articles, but I couldn&#8217;t resist this time. 
Coherence March 2009 Update

A week ago Oracle massively exceeded expectations, completely crushing the hopes of the doomsday crowd. Part of those results stems from the growth in Fusion Middleware, which includes BEA WebLogic. This past quarter I saw a big jump in [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=113&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I don&#8217;t often blockquote other people&#8217;s articles, but I couldn&#8217;t resist this time. </p>
<p><a href="http://www.jroller.com/cpurdy/entry/coherence_march_2009_update">Coherence March 2009 Update</a></p>
<blockquote><p>
A week ago Oracle massively exceeded expectations, completely crushing the hopes of the doomsday crowd. Part of those results stems from the growth in Fusion Middleware, which includes BEA WebLogic. This past quarter I saw a big jump in the number of accounts switching from WebSphere back to WebLogic on the high end, and (quite surprisingly, considering the economic climate) from JBoss to WebLogic. I could mark it up solely to a great sales organization, but there are some really interesting things at work that have made a huge difference in the ability to win business with WebLogic:</p>
<p>WebLogic is getting a higher level of technology investment as part of Oracle than it has seen in a long time, and those investments are starting to pay real rewards for our customers.<br />
We showed a plan for WebLogic and the other BEA products. We have been steadily delivering on the plan. Customers appreciate the &#8220;ability to execute&#8221; combined with actual execution.<br />
Several of the technologies in the Fusion Middleware stack just can&#8217;t be found elsewhere. Start with jRockit, the real-time JVM that dominates all of the performance records (see here, here, here and here for example.) Add reliable cross-platform, multi-portal session clustering with single sign-on support via Coherence*Web, and the ability to globally load-balance a single application across multiple data centers. Top it off with end-to-end operational monitoring. Wow!</p></blockquote>
Posted in tech  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/113/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/113/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/113/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=113&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2009/03/28/cameron-purdy-blogs-about-weblogic-under-oracles-aegis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
		<item>
		<title>New blog domain, same great content!</title>
		<link>http://blog.pasker.net/2008/07/15/new-blog-domain-same-great-content/</link>
		<comments>http://blog.pasker.net/2008/07/15/new-blog-domain-same-great-content/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 15:54:59 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://theabstracttruth.wordpress.com/?p=110</guid>
		<description><![CDATA[Now that sonic.net has added self-service subdomains, you can now read this blog at: http://blog.pasker.net . i would have added theabstracttruth.pasker.net, as well, but WordPress wants $10 for each separate domain, and it didn&#8217;t seem worth it.
Note that this is in addition to http://theabstracttruth.wordpress.com . both will work, but in case I decide to change [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=110&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Now that sonic.net has added self-service subdomains, you can now read this blog at: <a href="http://blog.pasker.net">http://blog.pasker.net</a> . i would have added theabstracttruth.pasker.net, as well, but WordPress wants $10 for each separate domain, and it didn&#8217;t seem worth it.</p>
<p>Note that this is in addition to <a href="http://theabstracttruth.wordpress.com">http://theabstracttruth.wordpress.com</a> . both will work, but in case I decide to change blogging systems, its probably better to use <a href="http://blog.pasker.net">http://blog.pasker.net</a> for web and RSS .</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/theabstracttruth.wordpress.com/110/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/theabstracttruth.wordpress.com/110/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=110&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2008/07/15/new-blog-domain-same-great-content/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
		<item>
		<title>You Might Need Messaging If&#8230;</title>
		<link>http://blog.pasker.net/2008/06/16/you-might-need-messaging-if/</link>
		<comments>http://blog.pasker.net/2008/06/16/you-might-need-messaging-if/#comments</comments>
		<pubDate>Tue, 17 Jun 2008 02:31:42 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://theabstracttruth.wordpress.com/?p=104</guid>
		<description><![CDATA[I recently gave a presentation to the technical management and architects at a Very Large Web Property on messaging systems, AKA Message-Oriented Middleware, AKA Enterprise Services Bus, etc.  
This was not meant to be an introduction, because they already have messaging systems in use. Rather, I wrote this presentation (in about 15 minutes) as [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=104&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I recently gave a presentation to the technical management and architects at a Very Large Web Property on messaging systems, AKA Message-Oriented Middleware, AKA Enterprise Services Bus, etc.  </p>
<p>This was not meant to be an introduction, because they already have messaging systems in use. Rather, I wrote this presentation (in about 15 minutes) as a springboard to remind everyone what messaging system are capable of, so we could talk further about how to capitalize on the products they were already using.</p>
<p><object type='application/x-shockwave-flash' wmode='transparent' data='http://static.slideshare.net/swf/ssplayer2.swf?id=471031&#038;doc=messaging-1213669422361146-9' width='425' height='348'><param name='movie' value='http://static.slideshare.net/swf/ssplayer2.swf?id=471031&#038;doc=messaging-1213669422361146-9' /><param name='allowFullScreen' value='true' /><param name='allowScriptAccess' value='always' /></object></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/theabstracttruth.wordpress.com/104/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/theabstracttruth.wordpress.com/104/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=104&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2008/06/16/you-might-need-messaging-if/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
		<item>
		<title>T3Server, Tengah, BEA WLS, and now: Oracle WebLogic</title>
		<link>http://blog.pasker.net/2008/06/12/t3server-tengah-bea-wls-and-now-oracle-weblogic/</link>
		<comments>http://blog.pasker.net/2008/06/12/t3server-tengah-bea-wls-and-now-oracle-weblogic/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 15:33:57 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://theabstracttruth.wordpress.com/?p=106</guid>
		<description><![CDATA[According to this article, it looks like the B E and A have finally been purged from WebLogic. 
BEA did everything in its power to conceal the fact that none of its other revenue-generating products ever amounted to much of anything.  
With this widely expected move crowning WebLogic Application Server as Oracle&#8217;s go-forward appserver [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=106&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>According to <a href="http://searchitchannel.techtarget.com/news/article/0,289142,sid96_gci1317340,00.html">this article</A>, it looks like the B E and A have finally been purged from WebLogic. </p>
<p>BEA did everything in its power to conceal the fact that none of its other revenue-generating products ever amounted to much of anything.  </p>
<p>With this widely expected move crowning WebLogic Application Server as Oracle&#8217;s go-forward appserver product, while &#8220;continuing to support&#8221; (shorthand for &#8220;silently kill&#8221;; see &#8220;PeopleSoft&#8221; and &#8220;Seibel&#8221;) every other revenue-generating product, Oracle tells us what we already knew from its last 8 years of near-stagnant revenue numbers : BEA couldn&#8217;t develop a product from scratch to save its life (literally). </p>
<p>That is not to say anything negative whatsoever about any of the individuals people who worked on the rest of the products: BEA had many talented engineers, but the culture was so political and full of fear, that everyone was always more worried about their next paycheck and pleasing the powers that be, rather than striving to build the best thing they could. And many BEA executives I knew who were talented and well connected in the organization were eventually jettisoned because of eventual clashes inside the power structure, only to be replaced by plodders.  That&#8217;s no way to run a company.</p>
<p>The other non-surprise in the article is that Oracle is keeping JRockit.  What an awesome piece of technology. The open secret about JRockit is that BEA barely paid anything it, either in acquisition costs (<a href="http://www.theserverside.com/news/thread.tss?thread_id=12145">&#8220;BEA Acquires Appeal Virtual Machines&#8221;</a>) or in ongoing development. Think about it: For a company that wouldn&#8217;t budge an inch on its $10K/CPU app server licenses, JRockit doesn&#8217;t generate a single cent in direct revenue. How did that happen? Intel paid for it. Lock. Stock. And Barrel. </p>
<p>Intel (an investor in WebLogic, Inc.) was concerned that Sun would poorly support Java on x86 architectures in favor of Sun&#8217;s own SPARC, so they funded BEA&#8217;s acquisition and ongoing development of a superlative Java platform for Intel hardware.  Besides the fact that it was free to BEA, the other pieces of information crucial to understanding the JRockit&#8217;s success inside the company are: unlike most of the other products,  it didn&#8217;t have any internal competition; it was located in Stockholm, Sweden, far away from the trenches in San Jose; and it has fantastically talented engineers and management. Certainly JRockit was crucial to the ongoing success of BEA&#8217;s Java &#8220;own the whole stack&#8221; strategy, but would BEA, who famously would only acquire companies that could be accretive within a year of acquisition, have continued to sink tens of millions of dollars per year into a non-revenue generating product?</p>
<p>At one point in time (before I turned 40 and started balding!), I had shoulder length hair. At the time of the acquisition, I told my colleagues that I would shave my head when &#8220;BEA Systems&#8221; changed its name to &#8220;WebLogic.&#8221; I guess that was pretty arrogant, but the point was that WebLogic would become the most important brand in BEA&#8217;s toolbox, and that nobody would remember its up-until-then flagship product &#8220;Tuxedo&#8221; or its CORBA-based successor &#8220;M3&#8243; (now called &#8220;Weblogic Enterprise&#8221;).  </p>
<p>I don&#8217;t think there&#8217;s much chance that Oracle, one of the strongest brands in the technology world, will change its name to WebLogic, but there&#8217;s little likelihood that the product will continue on as &#8220;BEA WebLogic.&#8221;</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/theabstracttruth.wordpress.com/106/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/theabstracttruth.wordpress.com/106/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/106/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=106&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2008/06/12/t3server-tengah-bea-wls-and-now-oracle-weblogic/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
		<item>
		<title>Twitter versus The Stock Market</title>
		<link>http://blog.pasker.net/2008/05/06/twitter-versus-the-stock-market/</link>
		<comments>http://blog.pasker.net/2008/05/06/twitter-versus-the-stock-market/#comments</comments>
		<pubDate>Tue, 06 May 2008 15:04:22 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://theabstracttruth.wordpress.com/?p=102</guid>
		<description><![CDATA[A friend sent me a link to a page with the Twitter Stats.
Wow, 3.5 million tweets per week, not counting locked and direct tweets. That&#8217;s about 350 tweets PER MINUTE (rules of thumb: ~10K minutes in a week; ~PI*10^7 seconds in a year). Even if the number of private tweets and direct messages drive the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=102&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A friend sent me a link to a <a href="http://www.tweetscan.com/stats/">page with the Twitter Stats</a>.</p>
<p>Wow, 3.5 million tweets per week, not counting locked and direct tweets. That&#8217;s about 350 tweets PER MINUTE (rules of thumb: ~10K minutes in a week; ~PI*10^7 seconds in a year). Even if the number of private tweets and direct messages drive the volume 5x to 1750 tweets per minute, its still not much. A 1750-person company delivers an average of 1 email message/minute/person. Even Exchange can handle that.</p>
<p>The data feed produced by the <a href="http://opradata.com/">Options Price Reporting Authority</a> contains every transaction on every stock and option exchange around the world. The current projections for OPRA are  <a href="http://opradata.com/specs/2008_Projections.pdf">here</a>, but let me republish the table for you:</p>
<p><IMG SRC="http://theabstracttruth.files.wordpress.com/2008/05/opra.png" WIDTH="700px"></p>
<p>Yes, that&#8217;s 701,000 messages PER SECOND, or about 423 BILLION messages per week.</p>
<p>Where&#8217;s the bottleneck again?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/theabstracttruth.wordpress.com/102/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/theabstracttruth.wordpress.com/102/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/102/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/102/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/102/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=102&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2008/05/06/twitter-versus-the-stock-market/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
		<item>
		<title>Solving The Twitter Problem(s)</title>
		<link>http://blog.pasker.net/2008/05/06/solving-the-twitter-problems/</link>
		<comments>http://blog.pasker.net/2008/05/06/solving-the-twitter-problems/#comments</comments>
		<pubDate>Tue, 06 May 2008 12:29:25 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://theabstracttruth.wordpress.com/?p=101</guid>
		<description><![CDATA[The net is atwitter with solutions to the &#8220;Twitter Problem,&#8221; which is that Twitter keeps going down, and it is annoying the bloggers themselves, who use it as a broadcast platform.
But there are really a bunch of different problems, many of which will be solved independently:
Decentralization, a la  DNS, of the network of servers/services [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=101&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>The <a href="http://blog.broadbandmechanics.com/2008/05/decentralized-twitters-time-has-come">net</a> <a href="http://www.scripting.com/stories/2008/05/04/whyDecentralizingTwitterIs.html">is</a> <a href="http://www.techcrunch.com/2008/05/05/twitter-can-be-liberated-heres-how/">atwitter</a> with solutions to the &#8220;Twitter Problem,&#8221; which is that Twitter keeps going down, and it is annoying the bloggers themselves, who use it as a broadcast platform.</p>
<p>But there are really a bunch of different problems, many of which will be solved independently:</p>
<p><LI>Decentralization, a la  DNS, of the network of servers/services providing Twitter-like functionality, for redundancy.</p>
<p><LI>Scalability using a server-side implementation that can handle the volume of messages on the busiest nodes efficiently. I&#8217;ve proposed <a href="http://www.tervela.com/">Tervela</a>&#8217;s product as the hub </p>
<li><a href="http://theabstracttruth.wordpress.com/2008/04/14/a-universal-messaging-hub/">Inverting the protocol</a> from &#8220;pull&#8221; to &#8220;push,&#8221; to reduce the amount of unproductive polling that takes place.
<p><LI>A universal addressing scheme, based on existing standards, like <a href="http://www.faqs.org/rfcs/rfc822.html">RFC 822</a>&#8217;s mailbox addressing. (This is what Jabber uses). A URL-based system would work, too.  </p>
<p><LI>Proper language mappings (such as <a href="http://blog.lostlake.org/index.php?/archives/59-How-lift-uses-Scala-actors.html">Actors</a>) that are designed to handle large numbers of messages with minimal overhead.</p>
<p><LI>A common API/wire format, hopefully something much simpler than XMPP, to make it simple to write applications that can participate in this network.</p>
<p><LI>Gateways to other messaging systems, such as email and <a href="http://en.wikipedia.org/wiki/SMS_gateways">SMS</a></p>
<p><LI><a href="http://www.cs.wustl.edu/~schmidt/PDF/PLoP-95.pdf">Bridges</a> (PDF) to synchronous protocols, like HTTP</p>
<p>The good thing is, lots of people are finally starting to think about this problem. The bad thing is, lots of people are finally starting to think about this problem (which means it will take a LONG time to solve).</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/theabstracttruth.wordpress.com/101/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/theabstracttruth.wordpress.com/101/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=101&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2008/05/06/solving-the-twitter-problems/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
		<item>
		<title>JIE: Solving the Robustness Problem</title>
		<link>http://blog.pasker.net/2008/04/18/jie-solving-the-robustness-problem/</link>
		<comments>http://blog.pasker.net/2008/04/18/jie-solving-the-robustness-problem/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 16:00:34 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://theabstracttruth.wordpress.com/?p=100</guid>
		<description><![CDATA[In his latest polemic, Herr Hildebrand interprets my robustness problems as a dichotomy between the Thread and the Process.  (Just joking, Hal!) Like earlier authors, I will also refrain from providing precise definitions, except to bastardize Justice Potter Stewart&#8217;s old saw, &#8220;I know a [process&#124;thread] when I see one.&#8221;  
Well, Hal is exactly [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=100&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In his <a href="http://tensegrity.hellblazer.com/2008/04/jpie_to_infinity_and_beyond_1.html">latest polemic</a>, Herr Hildebrand interprets <a href="http://theabstracttruth.wordpress.com/2008/04/17/java-platform-infrastructure-edition-part-2/">my robustness problems</a> as a dichotomy between the Thread and the Process.  (Just joking, Hal!) Like <a href="http://erikengbrecht.blogspot.com/2008/04/multiprocess-versus-multithreaded.html">earlier</a> <a href="http://shlang.com/writing/threads-tasks.html">authors</a>, I will also refrain from providing precise definitions, except to bastardize <a href="http://en.wikipedia.org/wiki/Potter_Stewart">Justice Potter Stewart&#8217;s old saw</a>, &#8220;I know a [process|thread] when I see one.&#8221;  </p>
<p>Well, Hal is exactly right that the process model has huge robustness benefits over threads due to the memory and scheduler isolation enforced between processes by the OS and MMU. He is also correct that much robustness is lost when running many applications in a multi-threaded environment (like the JVM), creating operational behavioral dependency among applications that didn&#8217;t exist at design time.</p>
<p>But rather than bowing to the false architectural dichotomy between the Process Model and the Thread Model, I propose an architecture that uses each of them to their best advantage, using processes to separate applications, and threads to separate transactions within applications, and also proposing a number of improvements to the JVM that would make this hybrid model as cheap to run as the monolithic JVM model we currently had.</p>
<p>Before continuing, let&#8217;s imagine for a minute a JVM that has some special properties:<br />
<OL><br />
<LI> it has no transactional state, which most people would read as &#8220;share nothing&#8221;<br />
<LI> the transactional state is cached locally, and the ACI (but not D) cache is shared across all processes via shared memory<br />
<LI> a fully operational JVM can be launched from scratch, ready to process transactions,  in, say, under a second<br />
</OL></p>
<p>With such a JVM, it is not hard to imagine the proposed solution: the runtime architecture consist of one jar file (i.e., one application) per JVM, and that each JVM handles multiple simultaneous transactions in  separate threads. An errant application could then be recycled by recycling the entire JVM around it.  For greater robustness within a single application, multiple JVMs could run the same jar.  </p>
<p>What you now have is a mini-cluster that provides the robustness of the Process Model with the multiprocessing and &#8220;forking&#8221; speed of the Thread Model.</p>
<p>In order to achieve this, the JVM would:<br />
<OL><br />
<LI>have to be &#8220;pickle-able,&#8221; by which I mean that you can run a VM, get it to a steady state ready to process transactions, and then pickle it to disk, just like a VMWare image.<br />
<LI>support sharable read-only data, for all code and constant data<br />
<LI>the ability to pass TCP endpoints around among processes, so that a dispatcher process can funnel transactions to the right JVM without a copy.<br />
</OL></p>
<p>I know some of these things have been worked on in the past, but I wonder if some of the specialized JVM vendors  who have a stake in enterprise software (<a href="http://dev2dev.bea.com/jrockit/">Oracle/WebLogic/JRockit</a>, <a href="http://azulsystems.com">Azul Systems</a>, <a href="http://sun.com">Sun</a>, <a href="http://www.ibm.com/software/websphere">IBM</a>) shouldn&#8217;t start looking at this problem again.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/theabstracttruth.wordpress.com/100/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/theabstracttruth.wordpress.com/100/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=100&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2008/04/18/jie-solving-the-robustness-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
		<item>
		<title>JIE: Solving the Distributed Lock Management Problem</title>
		<link>http://blog.pasker.net/2008/04/18/jiedistributed-lock-management/</link>
		<comments>http://blog.pasker.net/2008/04/18/jiedistributed-lock-management/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 13:45:33 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://theabstracttruth.wordpress.com/?p=99</guid>
		<description><![CDATA[Yesterday I wrote about the pitfalls of trying to do Distributed Lock Management. Well, it turns out my friends at Terracotta have been hard at work on an awesome management tool to let users detect the problem in a console.  Nice job!  I wonder, however, how easy it will be for a developer [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=99&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yesterday <a href="http://theabstracttruth.wordpress.com/2008/04/17/java-platform-infrastructure-edition-part-2/">I wrote about the pitfalls of trying to do Distributed Lock Management</a>. Well, it turns out <a href="http://blog.terracottatech.com/2008/04/lock_profiling_across_jvms_in_1.html">my friends at Terracotta have been hard at work</a> on an awesome management tool to let users detect the problem in a console.  Nice job!  I wonder, however, how easy it will be for a developer to spot the problem in the case where there are more than two locks involved in the deadlock.</p>
<p>What I would like to see is an automatic solution to the problem, one that detects such a deadly embrace and chooses a victim to kill. Detecting the deadlock would have to be heuristic, in the sense of watching the locks to see how long they usually take, and considering only those locks which exceed the normal holding time. </p>
<p>In a distributed locking case, such as with Terracotta, the deadlock detector could <code>System.exit()</code>, let the other VM continue along, and the management system would automagically restart the victim VM.  It wouldn&#8217;t prevent the problem from happening again in 10 seconds, but it might at least ring lots of bells so someone can come look at the problem, rather than having the whole cluster deadlocked.  In the single VM case, we&#8217;d have to wait for a proper solution to Thread.stop(), which I also talked about yesterday.</p>
<p>The other question I have about deadlock detection is whether some of it can be done via <a href="http://en.wikipedia.org/wiki/Static_code_analysis">static analysis</a>, but this is not my area of expertise. An alternative would be to use AOP to instrument the locks. I&#8217;m sure someone has already done this.  </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/theabstracttruth.wordpress.com/99/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/theabstracttruth.wordpress.com/99/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/99/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/99/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/99/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=99&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2008/04/18/jiedistributed-lock-management/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
		<item>
		<title>Java Platform, Infrastructure Edition, part 2</title>
		<link>http://blog.pasker.net/2008/04/17/java-platform-infrastructure-edition-part-2/</link>
		<comments>http://blog.pasker.net/2008/04/17/java-platform-infrastructure-edition-part-2/#comments</comments>
		<pubDate>Thu, 17 Apr 2008 17:00:35 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://theabstracttruth.wordpress.com/?p=98</guid>
		<description><![CDATA[Well, after getting a much deserved woodshed-ing from Hal Hildebrand for misunderstanding his post on what he&#8217;s been struggling with, I have been thinking and chatting with people about what a  a &#8220;system programming&#8221; or &#8220;infrastructure&#8221; edition for Java might contain. 
One of the characteristics that makes application infrastructure so unique is that it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=98&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Well, after getting <a href="http://www.tensegrity.hellblazer.com/2008/04/the_french_have_no_word_for_en_1.html">a much deserved woodshed-ing</a> from Hal Hildebrand for misunderstanding <a href="http://www.tensegrity.hellblazer.com/2008/04/going_against_the_flow_crossin_1.html">his post on what he&#8217;s been struggling with</a>, I have been thinking and chatting with people about what a <a href="http://theabstracttruth.wordpress.com/2008/04/14/a-system-programming-language-variant-of-java/"> a &#8220;system programming&#8221; or &#8220;infrastructure&#8221; edition for Java</A> might contain. </p>
<p>One of the characteristics that makes application infrastructure so unique is that it is a container for other people&#8217;s random code.  Java generally does a pretty good job of dealing with loadable code by providing such features as class loaders, <a href="http://java.sun.com/javase/6/docs/technotes/guides/security/spec/security-specTOC.fm.html">a code security model</a>, <a href="http://java.sun.com/j2ee/1.4/docs/tutorial/doc/Security2.html">a component security model</a>, and a <a href="http://java.sun.com/docs/books/tutorial/essential/concurrency/pools.html">threading architecture</a>.</p>
<p>There are, however, still a number of robustness issues with Java as it exists today:</p>
<ul>
<li>hot code relaoding – this is an age-old robustness problem, especially for operational issues like rolling upgrades. and I think the <a href="http://zeroturnaround.com">Zero Turnaround</a> guys may have a splendid general purpose solution in their <a href="http://www.zeroturnaround.com/javarebel/">Java Rebel</a> product.</li>
<p><P></p>
<li>runaway thread healing – These are threads that go into an endless loop or permanent I/O block. We used to have the ability to set an ExecuteThread timeout in WLS, whereby a watchdog timer would kill any thread that didn&#8217;t complete within a configurable time period. But then <a href="http://java.sun.com/j2se/1.4.2/docs/guide/misc/threadPrimitiveDeprecation.html">Sun deprecated Thread.stop()</a>, and suggested instead cooperative thread death using a state variable.  This abdication of responsibility for robustness from the VM to user code is similar to the cooperative transaction manager timeout, about which my colleague Pete Holditch <a href="http://weblogic.sys-con.com/read/44438.htm"> says </a> as<br />
<blockquote><p> There is no easy answer &#8211; there isn&#8217;t really a facility in J2SE or J2EE as they stand today to allow a thread to be safely and asynchronously terminated. </p></blockquote>
<p>I&#8217;d like to see a permanent solution to this problem, even if it means implementing <a href="http://en.wikipedia.org/wiki/Software_transactional_memory">transactional memory</a> in the JVM.<br />
<P></p>
<li>memory quotas – Another great way to test an application server&#8217;s robustness is to leak memory. Providing a quota system that limits (hopefully, heuristically) the ability for a component to allocate memory would prevent bad code from killing the whole server with an OOME.</li>
<p><P></p>
<li>deadlock management – Before you go hitting the &#8220;comment&#8221; button, note that I went through <a href="http://en.wikipedia.org/wiki/Distributed_lock_manager">Distributed Lock Manager</a> hell in VMS 25 years ago, so I know the pitfalls here. Nevertheless, <a href="http://azulsystems.com">Azul</a> has <a href="http://blogs.azulsystems.com/cliff/2008/04/we-dont-know-ho.html">done some</a> <a href="http://www.azulsystems.com/products/whitepaper/wp_otc.pdf">great stuff</a> (pdf) in this area, and I think its ripe for attention.  </LI>
</ul>
<p>So rather than just complaining, here are some real-life problems that Java Platform, Infrastructure Edition could solve. </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/theabstracttruth.wordpress.com/98/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/theabstracttruth.wordpress.com/98/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=98&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2008/04/17/java-platform-infrastructure-edition-part-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
		<item>
		<title>A System Programming Language Variant of Java</title>
		<link>http://blog.pasker.net/2008/04/14/a-system-programming-language-variant-of-java/</link>
		<comments>http://blog.pasker.net/2008/04/14/a-system-programming-language-variant-of-java/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 02:26:57 +0000</pubDate>
		<dc:creator>rbpasker</dc:creator>
				<category><![CDATA[tech]]></category>

		<guid isPermaLink="false">http://theabstracttruth.wordpress.com/?p=97</guid>
		<description><![CDATA[A colleague recently detailed the trials and tribulations of a piece of infrastructure he is building in Java, and it seems that after beating his head against the wall, he won, but not without a few scars.
The thing that I have always loved about Java is its productiveness and expressiveness. I could write scads of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=97&subd=theabstracttruth&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>A colleague recently <a href="http://www.tensegrity.hellblazer.com/2008/04/going_against_the_flow_crossin_1.html">detailed the trials and tribulations</a> of a piece of infrastructure he is building in Java, and it seems that after beating his head against the wall, he won, but not without a few scars.</p>
<p>The thing that I have always loved about Java is its productiveness and expressiveness. I could write scads of code that worked well and correctly very quickly.</p>
<p>But Hal has indirectly pointed out a failure of Java that I think has been true since since its earliest days when I started using it in mid-1995:</p>
<p><em>Java is a lousy language for building infrastructure</em>. </p>
<p>All of the techniques that Java exposes to operate on software itself are complex, slow, or bloaty, including reflection, proxies, class loading, weak references, bytecode manipulation, and compiler APIs. Since many of the pieces of WebLogic software I wrote had to deal with other user&#8217;s users&#8217; code (Servlets, plug-ins, etc.), I spent a fair bit of time arm wrestling with Java, either trying to find the right technique, implementing a workaround, doing code generation, or chasing performance problems. When I transitioned to the chief architect role, the WebLogic team members experienced many of the same problems while writing EJB and RMI in Java (Sun&#8217;s RMI was in C).  I also think much of the excitement over AOP was a result of people being fed up with using Java for system programming; AOP cut across these problems by bypassing or augmenting the language itself. Hal&#8217;s post tells me that the problem is still not solved.</p>
<p>This is not to say that I don&#8217;t think Java is a good language for server-side programming – after all, WebLogic pioneered Java on the server – but rather that the focus on &#8220;enterprise edition&#8221; has been on  server-side <em>application</em> code, rather than infrastructure code.</p>
<p>IBM had a variant of PL/I called <a href="http://en.wikipedia.org/wiki/IBM_PL/S">PL/S</a> that they used internally for writing writing system software. We have editions of Java for the client, for enterprise apps, for mobile, and for real-time. Perhaps we need an edition of Java for infrastructure software. </p>
<p><em>Java Platform, Infrastructure Edition</em> anyone?</p>
<p><strong>Update:</Strong> <a href="http://www.tensegrity.hellblazer.com/2008/04/the_french_have_no_word_for_en_1.html">Here&#8217;s</a> Hal&#8217;s response.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/theabstracttruth.wordpress.com/97/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/theabstracttruth.wordpress.com/97/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/theabstracttruth.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/theabstracttruth.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/theabstracttruth.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/theabstracttruth.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/theabstracttruth.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/theabstracttruth.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/theabstracttruth.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/theabstracttruth.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/theabstracttruth.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/theabstracttruth.wordpress.com/97/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.pasker.net&blog=1527073&post=97&subd=theabstracttruth&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.pasker.net/2008/04/14/a-system-programming-language-variant-of-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/81bdf71e01e9c210fef494b1e23b31f6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">rbpasker</media:title>
		</media:content>
	</item>
	</channel>
</rss>