<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5871908854369474217</id><updated>2012-02-19T09:47:09.081-08:00</updated><category term='apache'/><category term='linux'/><category term='netmeeting'/><category term='GWT'/><category term='ant'/><category term='development software'/><category term='IT'/><category term='GAE'/><category term='music'/><category term='fedora'/><category term='Perl'/><category term='lvm'/><category term='analytics'/><category term='template toolkit'/><category term='apachecon'/><category term='antunit'/><category term='Ajax'/><category term='bi'/><category term='linux SELinux'/><category term='virtualization linux opensource  xen'/><category term='xp agile'/><category term='CGI::Ajax'/><category term='agile'/><category term='cms'/><category term='ubuntu multi multimedia video w32codecs'/><category term='web 2.0'/><category term='tips'/><category term='XP agile programming'/><category term='extreme progrogramming'/><category term='Scrum'/><category term='virtualization vserver'/><category term='office 2.0'/><category term='path coverage testing'/><category term='eclipse'/><category term='testing'/><category term='extremeprogramming xp software development'/><category term='ubuntu linux feisty automatix2'/><category term='xen'/><category term='vista'/><category term='virtualization Linux'/><category term='google'/><title type='text'>Dig Knowledge Everyday</title><subtitle type='html'>I'm a software engineer, a project manager, a problem solver.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://digday.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default?start-index=101&amp;max-results=100'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>221</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-8365918005141628888</id><published>2011-02-14T02:05:00.000-08:00</published><updated>2011-02-14T02:05:11.812-08:00</updated><title type='text'>HP makes flash music with Violin</title><content type='html'>&lt;div&gt;Because Violin is so good~~&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://go.theregister.com/feed/www.theregister.co.uk/2011/01/27/hp_and_violin_memory/"&gt;HP makes flash music with Violin&lt;/a&gt;: "&lt;h4&gt;You wanna play, Larry?&lt;/h4&gt; &lt;p&gt;HP is working with flash supplier Violin Memory to make accelerated database systems competing with Oracle's &lt;a href="http://www.theregister.co.uk/2010/09/21/exadata_x2_8_appliance/"&gt;Exadata&lt;/a&gt; go-fast boxes.…&lt;/p&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-8365918005141628888?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://go.theregister.com/feed/www.theregister.co.uk/2011/01/27/hp_and_violin_memory/' title='HP makes flash music with Violin'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/8365918005141628888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=8365918005141628888' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8365918005141628888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8365918005141628888'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2011/02/hp-makes-flash-music-with-violin.html' title='HP makes flash music with Violin'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1167554187230036104</id><published>2011-02-14T02:01:00.001-08:00</published><updated>2011-02-14T02:03:21.722-08:00</updated><title type='text'>FW: Intel finds flaw in Sandy Bridge chipset</title><content type='html'>&lt;div&gt;The microbe brings trouble~~ &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://go.theregister.com/feed/www.theregister.co.uk/2011/01/31/intel_coougar_point_chipset_flaw/"&gt;Intel finds flaw in Sandy Bridge chipset&lt;/a&gt;: "&lt;h4&gt;Cougar Point bites SATA ports&lt;/h4&gt; &lt;p&gt;Chip giant Intel was ecstatic about the rollout of the Sandy Bridge Core family of chips for desktops and laptops and is prepping for single-socket servers and workstations next month based on the Xeon variants of these chips. But the discovery of a bug in the Intel 6 Cougar Point chipset announced this morning just threw a spanner in the rollout of these CPUs. It also very possibly may have given Advanced Micro Devices the lucky break it has been praying for.…&lt;/p&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1167554187230036104?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1167554187230036104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1167554187230036104' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1167554187230036104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1167554187230036104'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2011/02/intel-finds-flaw-in-sandy-bridge.html' title='FW: Intel finds flaw in Sandy Bridge chipset'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2440548882215533202</id><published>2011-02-14T02:01:00.000-08:00</published><updated>2011-02-14T02:01:25.407-08:00</updated><title type='text'>Finally:  FW:Enterprise fanbois yawn at death of Apple Xserve</title><content type='html'>&lt;a href="http://go.theregister.com/feed/www.channelregister.co.uk/2011/01/31/reactions_to_the_demise_of_the_xserve/"&gt;Enterprise fanbois yawn at death of Apple Xserve&lt;/a&gt;: "&lt;h4&gt;Few loved it while alive&lt;/h4&gt; &lt;p&gt;On Monday, Apple ended its nine-and-one-half-year Xserve experiment, and reactions are mixed. One outspoken analyst says the decision 'sucks,' but a broad-ranging survey reveals that most users of that Jobsian rack-mounted server don't hold a grudge against Cupertino.…&lt;/p&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2440548882215533202?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://go.theregister.com/feed/www.channelregister.co.uk/2011/01/31/reactions_to_the_demise_of_the_xserve/' title='Finally:  FW:Enterprise fanbois yawn at death of Apple Xserve'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2440548882215533202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2440548882215533202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2440548882215533202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2440548882215533202'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2011/02/finally-fwenterprise-fanbois-yawn-at.html' title='Finally:  FW:Enterprise fanbois yawn at death of Apple Xserve'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6198995875043546275</id><published>2011-02-14T01:50:00.000-08:00</published><updated>2011-02-14T01:50:55.062-08:00</updated><title type='text'>FW:IDEAS Storage Top 10 -- HP, I'm worrying about you</title><content type='html'>&lt;a href="http://feedproxy.google.com/~r/IdeasInsights/~3/GesdDXxA4do/ideas-storage-top-10.html"&gt;IDEAS Storage Top 10&lt;/a&gt;: "Have you ever wondered what the hot products are at any given time, in terms of public interest? Late last year, as part of the revamp of our public website, we added two new free information sources, the Server Gateway and Storage Gateway, to complement our existing Green Gateway and...&lt;img src="http://feeds.feedburner.com/~r/IdeasInsights/~4/GesdDXxA4do" height="1" width="1" /&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6198995875043546275?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6198995875043546275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6198995875043546275' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6198995875043546275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6198995875043546275'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2011/02/fwideas-storage-top-10.html' title='FW:IDEAS Storage Top 10 -- HP, I&apos;m worrying about you'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1170687779395637312</id><published>2011-02-14T00:19:00.000-08:00</published><updated>2011-02-14T00:19:16.716-08:00</updated><title type='text'>From Android to iPhone: Google Shopper</title><content type='html'>&lt;a href="http://googlesystem.blogspot.com/2011/02/from-android-to-iphone-google-shopper.html"&gt;From Android to iPhone: Google Shopper&lt;/a&gt;: "&lt;img style="display:block;margin:0px auto 10px;text-align:center" src="http://1.bp.blogspot.com/_ZaGO7GjCqAI/TUmBXYYM34I/AAAAAAAAgTU/MV7O_o4iHWE/s640/google-apple-app-store.jpg" border="0" alt="" /&gt;&lt;br /&gt;More and more Google applications that used to be available only for Android are now ported to the iPhone. After Google Voice, Google Latitude, Google Places, Google Goggles (a feature of the Google Mobile App), iPhone users can now download &lt;a href="http://googlemobile.blogspot.com/2011/02/announcing-google-shopper-for-iphone.html"&gt;Google Shopper&lt;/a&gt;, a product search tool that recognizes barcodes, supports voice search and lets you compare prices at online stores and local stores. It's actually a mobile version of Google Product Search that knows your location and has more input methods.&lt;br /&gt;&lt;br /&gt;Google Shopper saves your history and lets you star products, but it doesn't integrate with Google accounts, so your data is only available on a single device. Another issue is that voice search times out too fast, so it's quite difficult too use.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://googlemobile.blogspot.com/2011/02/announcing-google-shopper-for-iphone.html"&gt;According to Google&lt;/a&gt;, 'Shopper is available for iPhone 3GS and iPhone 4 with iOS 4.0+ in English only for the United States and the UK.'&lt;br /&gt;&lt;br /&gt;&lt;img style="display:block;margin:0px auto 10px;text-align:center" src="http://2.bp.blogspot.com/_ZaGO7GjCqAI/TUl6xLMaWUI/AAAAAAAAgTE/5S4B1zL-cyE/s640/google-shopper-for-iphone.png" border="0" alt="" /&gt;&lt;br /&gt;There are still many Android-only apps (Sky Map, Google Translate, Gmail, Google Talk, Google Reader, Google Maps Navigation, Google Finance, Gesture Search) and it's likely that some of them will be available in Apple's App Store in the coming months.&lt;div&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/18157064-8460110840156241796?l=googlesystem.blogspot.com" alt="" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=Grh88IBJs70:etcauMIXP9Q:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?i=Grh88IBJs70:etcauMIXP9Q:4cEx4HpKnUU" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=Grh88IBJs70:etcauMIXP9Q:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?d=yIl2AUoC8zA" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=Grh88IBJs70:etcauMIXP9Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?i=Grh88IBJs70:etcauMIXP9Q:F7zBnMyn0Lo" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=Grh88IBJs70:etcauMIXP9Q:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?i=Grh88IBJs70:etcauMIXP9Q:-BTjWOF_DHI" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=Grh88IBJs70:etcauMIXP9Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?d=qj6IDK7rITs" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOperatingSystem/~4/Grh88IBJs70" height="1" width="1" /&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1170687779395637312?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://googlesystem.blogspot.com/2011/02/from-android-to-iphone-google-shopper.html' title='From Android to iPhone: Google Shopper'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1170687779395637312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1170687779395637312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1170687779395637312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1170687779395637312'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2011/02/from-android-to-iphone-google-shopper.html' title='From Android to iPhone: Google Shopper'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_ZaGO7GjCqAI/TUmBXYYM34I/AAAAAAAAgTU/MV7O_o4iHWE/s72-c/google-apple-app-store.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2535290082199894428</id><published>2011-02-14T00:18:00.000-08:00</published><updated>2011-02-14T00:18:54.175-08:00</updated><title type='text'>Android Market for the Web</title><content type='html'>&lt;a href="http://googlesystem.blogspot.com/2011/02/android-market-for-web.html"&gt;Android Market for the Web&lt;/a&gt;: "Google has finally released the Web-based version of the Android Market, which is now available at &lt;a href="http://market.android.com/"&gt;market.android.com&lt;/a&gt;. You can link to applications, find apps from your computer and install them over the air.&lt;br /&gt;&lt;br /&gt;Android Market for the Web includes all the applications, not just the ones that are available for a certain device or a certain version of Android, so it's much more comprehensive than the application that's installed on your Android device. You'll be able to find paid apps even if you live in a country where you can only install free apps and you'll be able to find apps that require Froyo even if your phone still uses Android Donut. In fact, you don't even have to be an Android user to explore the Market.&lt;br /&gt;&lt;br /&gt;I've tried to install an application from the web site, but Google shows an 'invalid request' error after the authentication process.&lt;br /&gt;&lt;br /&gt;&lt;img style="display:block;margin:0px auto 10px;text-align:center" src="http://3.bp.blogspot.com/_ZaGO7GjCqAI/TUmtONRrjnI/AAAAAAAAgTc/rCc-ZzRDkE4/s640/android-web-store.png" border="0" alt="" /&gt;&lt;br /&gt;&lt;img style="display:block;margin:0px auto 10px;text-align:center" src="http://1.bp.blogspot.com/_ZaGO7GjCqAI/TUmxqXC04xI/AAAAAAAAgTk/pTQCF42yquQ/s640/android-web-store-2.png" border="0" alt="" /&gt;&lt;br /&gt;To make the Market even better, Google announced two additional features that will be available soon: in-app purchases and fixed pricing for various currencies. That means you'll see less apps that cost $1.73 or €2.26, assuming that developers will adjust their prices.&lt;div&gt;&lt;img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/18157064-6900011336317024844?l=googlesystem.blogspot.com" alt="" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=4w0Q3BLIhd4:3MrQmd3gu9I:4cEx4HpKnUU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?i=4w0Q3BLIhd4:3MrQmd3gu9I:4cEx4HpKnUU" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=4w0Q3BLIhd4:3MrQmd3gu9I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?d=yIl2AUoC8zA" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=4w0Q3BLIhd4:3MrQmd3gu9I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?i=4w0Q3BLIhd4:3MrQmd3gu9I:F7zBnMyn0Lo" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=4w0Q3BLIhd4:3MrQmd3gu9I:-BTjWOF_DHI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?i=4w0Q3BLIhd4:3MrQmd3gu9I:-BTjWOF_DHI" border="0" /&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?a=4w0Q3BLIhd4:3MrQmd3gu9I:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/GoogleOperatingSystem?d=qj6IDK7rITs" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/GoogleOperatingSystem/~4/4w0Q3BLIhd4" height="1" width="1" /&gt;"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2535290082199894428?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://googlesystem.blogspot.com/2011/02/android-market-for-web.html' title='Android Market for the Web'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2535290082199894428/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2535290082199894428' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2535290082199894428'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2535290082199894428'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2011/02/android-market-for-web.html' title='Android Market for the Web'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_ZaGO7GjCqAI/TUmtONRrjnI/AAAAAAAAgTc/rCc-ZzRDkE4/s72-c/android-web-store.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-3887563651035697686</id><published>2010-07-23T00:15:00.001-07:00</published><updated>2010-07-23T00:15:05.097-07:00</updated><title type='text'>AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia</title><content type='html'>Check out this SlideShare Presentation: &lt;div style="width:425px" id="__ss_3739094"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/AmazonWebServices/aws-architectingjvariafinal" title="AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia"&gt;AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia&lt;/a&gt;&lt;/strong&gt;&lt;object id="__sse3739094" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aws-architecting-jvaria-final-100415152656-phpapp02&amp;stripped_title=aws-architectingjvariafinal" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed name="__sse3739094" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=aws-architecting-jvaria-final-100415152656-phpapp02&amp;stripped_title=aws-architectingjvariafinal" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more presentations from &lt;a href="http://www.slideshare.net/AmazonWebServices"&gt;Amazon Web Services&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-3887563651035697686?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/3887563651035697686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=3887563651035697686' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3887563651035697686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3887563651035697686'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2010/07/aws-architecting-cloud-apps-best.html' title='AWS Architecting Cloud Apps - Best Practices and Design Patterns By Jinesh Varia'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7217936708221503471</id><published>2009-10-20T19:35:00.001-07:00</published><updated>2009-10-20T19:35:53.527-07:00</updated><title type='text'>Tips for solving "Too many open files" issue</title><content type='html'>When I tried to start Eclipse today, my Eclipse just popup an error which points to an log doesn't exists. I kept getting this error when I tried to restart it again.&lt;br /&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;So I executed it from command line console, and I got this error said:&lt;/div&gt;&lt;div&gt;java.util.zip.ZipException: error in openning zip file&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;So I removed some of jar files in features &amp;amp; plugins directory, and then the error change to:&lt;/div&gt;&lt;div&gt;and there's a line in frone of error said:&lt;/div&gt;&lt;div&gt;ZoneInfo: /usr/lib/jvm/java-6-sun-1.6.0.07/jre/lib/zi/ZoneInfoMappings (Too many open files)&lt;/div&gt;&lt;br&gt;&lt;div&gt;I use the lsof to check the open file count of eclipse and found it's only 2107, so I use:&lt;/div&gt;&lt;div&gt;ulimit -n 4096&amp;nbsp;&lt;/div&gt;&lt;div&gt;to change the limitation to 4096, but it still doesn't work.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;So I google a little and found someone said that actually eclipse will open files more than 10000, which are all in temporary directory. So I change the ulimit to 65535, and the probem solve.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;To make the change permanently:&lt;/div&gt;&lt;div&gt;vi /etc/security/limits.conf&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;or&amp;nbsp;&lt;/div&gt;&lt;div&gt;echo 65535&amp;gt; /proc/sys/fs/file-max&lt;/div&gt;&lt;div&gt;echo 65535 &amp;gt; /proc/sys/fs/inode-max&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;use other number in your case.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7217936708221503471?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7217936708221503471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7217936708221503471' title='31 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7217936708221503471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7217936708221503471'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/10/tips-for-solving-many-open-files-issue.html' title='Tips for solving &amp;quot;Too many open files&amp;quot; issue'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>31</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-3660225023668326312</id><published>2009-10-10T03:46:00.001-07:00</published><updated>2009-10-10T03:46:14.465-07:00</updated><title type='text'>when i saw Micello</title><content type='html'>I know that digital earth will finally come true.&lt;br /&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;we just need more people create these kind of fun application.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;check micello from video on their website:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.micello.com/"&gt;http://www.micello.com/&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I promise this is not an ad.&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-3660225023668326312?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/3660225023668326312/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=3660225023668326312' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3660225023668326312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3660225023668326312'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/10/when-i-saw-micello.html' title='when i saw Micello'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6356005040145656743</id><published>2009-09-26T08:42:00.001-07:00</published><updated>2009-09-26T08:42:22.468-07:00</updated><title type='text'>那个年代</title><content type='html'>你一定随着春天温暖的风，又踏着严寒冬天的雪，你经过春风的吹送和踏雪的足迹，已经深入到祖国的高山、平原，也飘进了黄河、长江，经过黄河、长江的运移，你进入了无边无际的海洋&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6356005040145656743?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6356005040145656743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6356005040145656743' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6356005040145656743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6356005040145656743'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/09/blog-post.html' title='那个年代'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-59189273345827344</id><published>2009-07-01T19:34:00.001-07:00</published><updated>2009-07-09T00:46:55.892-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Perl'/><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><category scheme='http://www.blogger.com/atom/ns#' term='template toolkit'/><category scheme='http://www.blogger.com/atom/ns#' term='CGI::Ajax'/><title type='text'>Template Toolkit + CGI::Ajax Sample</title><content type='html'>I would like to say at the beginning that this would be the first and most detail sample for people who wants to use TT and CGI::Ajax together. Because I googled for a long time and cannot find any workable example. So I know the pain and hope this can help someone who has the same pain as me.&lt;br /&gt;&lt;br /&gt;This example will not solve every problem of TT and CGI::Ajax integration, only one aspect of it, the basic one, and it's not the best one I think.&lt;br /&gt;&lt;br /&gt;Okay, let's directly go to a workable code, the default CGI:&lt;br /&gt;&lt;blockquote&gt;#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;use strict;&lt;br /&gt;use warnings;&lt;br /&gt;&lt;br /&gt;use lib qw/ . /;&lt;br /&gt;use vars qw/ $vars /&lt;br /&gt;&lt;br /&gt;use Mypackage::User;&lt;br /&gt;&lt;br /&gt;use Mypackage::CGI;&lt;br /&gt;use CGI::Ajax;&lt;br /&gt;&lt;br /&gt;my $cgi      = Mypackage::CGI-&amp;gt;cgi; # here we wrap the template into my own CGI so that they can use together easily&lt;br /&gt;my $template = Mypackage::CGI-&amp;gt;template;&lt;br /&gt;&lt;br /&gt;print $cgi-&amp;gt;header;&lt;br /&gt;&lt;br /&gt;$vars-&amp;gt;{title} = "test ajax";&lt;br /&gt;$template-&amp;gt;process( "header.html.tmpl", $vars ) or throw( $template-&amp;gt;error ); # just process a html template file&lt;br /&gt;my $ajax = CGI::Ajax-&amp;gt;new( 'get_reservation' =&amp;gt; 'ajax.cgi');&lt;br /&gt;$ajax-&amp;gt;JSDEBUG(1);&lt;br /&gt;$ajax-&amp;gt;DEBUG(1);&lt;br /&gt;&lt;br /&gt;print $ajax-&amp;gt;build_html( $cgi ); # inject CGI::Ajax&lt;br /&gt;&lt;br /&gt;$template-&amp;gt;process( "b.html.tmpl", $vars ) or throw( $template-&amp;gt;error ); # do anything else&lt;br /&gt;$template-&amp;gt;process( "footer.html.tmpl", $vars ) or throw( $template-&amp;gt;error );&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;exit 0;&lt;br /&gt;__END__&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Here we request the external cgi to deal with the request:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#!/usr/bin/perl&lt;br /&gt;&lt;br /&gt;use strict;&lt;br /&gt;use warnings;&lt;br /&gt;&lt;br /&gt;use lib qw/ . /;&lt;br /&gt;use vars qw/ $vars /;&lt;br /&gt;&lt;br /&gt;use Mypackage::User;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;use Mypackage::CGI;&lt;br /&gt;use CGI::Ajax;&lt;br /&gt;&lt;br /&gt;my $cgi      = Mypackage::CGI-&amp;gt;cgi;&lt;br /&gt;my $template = Mypackage::CGI-&amp;gt;template;&lt;br /&gt;&lt;br /&gt;print $cgi-&amp;gt;header;&lt;br /&gt;my @args = $cgi-&amp;gt;param( 'args' );&lt;br /&gt;my $team = $args[0]; # you can get more than one parameter from here&lt;br /&gt;print &amp;amp;get_users_func($team);&lt;br /&gt;&lt;br /&gt;sub get_users_func&lt;br /&gt;{&lt;br /&gt;my ( $team ) = @_;&lt;br /&gt;my $users    = new Mypackage::User();&lt;br /&gt;my $teamusers = $users-&amp;gt;get( $team);&lt;br /&gt;$vars-&amp;gt;{users} = $teamusers;# vars is the VARIABLES of TT, you can see we use the same way that passing variables in an ajax context&lt;br /&gt;$template-&amp;gt;process( "c.html.tmpl",  $vars ) or throw( $template-&amp;gt;error ); // c.html.tmpl shows a list a user in this team&lt;br /&gt;return $vars-&amp;gt;{content};  # we simply return the content of processed template, you can have other way to return the content, but this will be the simplest way I think&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;exit 0;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Here's the codes you need to add into your default html file (b.html.tmpl):&lt;br /&gt;&lt;blockquote&gt; &amp;lt;input type="text" id="team" value="[% team %]"&amp;gt;&lt;br /&gt;&amp;lt;div id="users"&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;  &amp;lt;p&amp;gt;&amp;lt;input type="button" name="submit" value="show all users" onclick="get_users(['team'],['users'])"/&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt; &lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-59189273345827344?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/59189273345827344/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=59189273345827344' title='58 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/59189273345827344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/59189273345827344'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/07/template-toolkit-cgiajax-sample.html' title='Template Toolkit + CGI::Ajax Sample'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>58</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-4798053057130182542</id><published>2009-05-14T00:47:00.001-07:00</published><updated>2009-07-09T00:47:37.755-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netmeeting'/><category scheme='http://www.blogger.com/atom/ns#' term='vista'/><title type='text'>Tips for installing Netmeeting on Vista</title><content type='html'>&lt;a href="http://joshuamaher.com/2007/02/21/netmeeting-on-vista/"&gt;http://joshuamaher.com/2007/02/21/netmeeting-on-vista/&lt;/a&gt;&lt;div&gt;Thanks Josh. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="font-size: 1.05em"&gt;Why the heck would anyone want to use Netmeeting on Vista? The Windows Meeting Space is built in and is far superior and has a feature set that is much more useful…but if your corporate masters are WAY behind the times (despite the millions of Microsoft investments)…..here’s how to get it working…&lt;/p&gt;&lt;p style="font-size: 1.05em"&gt;Thanks to &lt;a target="_blank" href="http://techrepublic.com.com/5208-6230-0.html?forumID=102&amp;amp;threadID=202674&amp;amp;messageID=2139796" style="color: rgb(0, 102, 204); text-decoration: none"&gt;BlackDiamond’s post at TechRepublic&lt;/a&gt;, here is how to do it:&lt;/p&gt;&lt;ol style=" margin-right: 0px; margin-left: 0px"&gt;&lt;li style="list-style-type: decimal; margin-right: 0px; margin-left: 10px"&gt;&lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=26c9da7c-f778-4422-a6f4-efb8abba021e&amp;amp;DisplayLang=en" style="color: rgb(0, 102, 204); text-decoration: none"&gt;Download NM30.EXE from Microsoft.com&lt;/a&gt;&lt;/li&gt;&lt;li style="list-style-type: decimal; margin-right: 0px; margin-left: 10px"&gt;Save the executable to your computer somewhere&lt;/li&gt;&lt;li style="list-style-type: decimal; margin-right: 0px; margin-left: 10px"&gt;Right click on the file and select “Properties”.&lt;/li&gt;&lt;li style="list-style-type: decimal; margin-right: 0px; margin-left: 10px"&gt;Click the “Compatibility” tab.&lt;/li&gt;&lt;li style="list-style-type: decimal; margin-right: 0px; margin-left: 10px"&gt;Put a check in “Run This Program In Compatibility Mode For:”.&lt;/li&gt;&lt;li style="list-style-type: decimal; margin-right: 0px; margin-left: 10px"&gt;Select Windows NT 4.0 (Service Pack 5).&lt;/li&gt;&lt;li style="list-style-type: decimal; margin-right: 0px; margin-left: 10px"&gt;Click “OK”.&lt;/li&gt;&lt;li style="list-style-type: decimal; margin-right: 0px; margin-left: 10px"&gt;Double click the shortcut and install normally.Yeah….NetMeeting now works in Vista.&lt;/li&gt;&lt;/ol&gt;&lt;p style="font-size: 1.05em"&gt;When you run NetMeeting you will be able to enter all the information as normal and will have to unblock netmeeting in the firewall.&lt;/p&gt;&lt;p style="font-size: 1.05em"&gt;The only thing that does not appear to be working is the Remote Desktop Sharing option, if anyone knows how to make it work, let us know!&lt;/p&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-4798053057130182542?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/4798053057130182542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=4798053057130182542' title='27 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4798053057130182542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4798053057130182542'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/05/tips-for-installing-netmeeting-on-vista.html' title='Tips for installing Netmeeting on Vista'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>27</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2850356792128015697</id><published>2009-05-10T21:46:00.001-07:00</published><updated>2009-07-09T00:48:00.677-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><title type='text'>fedora installation options - can be used in most redhat based li</title><content type='html'>&lt;span style="font-family:verdana;"&gt;&lt;b&gt;&lt;span style="font-size:85%;"&gt;Fedora Installation Options&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;"&gt;&lt;pre class="alt2" dir="ltr" style=" margin-right: 0px; margin-left: 0px; border-color: initial; text-align: left; background-image: initial; background-repeat: initial; background-color: rgb(237, 239, 241); color: rgb(0, 0, 0)"&gt;&lt;b&gt;Boot time command args:&lt;br /&gt;-----------------------&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;span class="highlight" style="color: rgb(255, 0, 0)"&gt;&lt;b&gt;expert&lt;/b&gt;&lt;/span&gt;&lt;b&gt;          Turns on special features:&lt;br /&gt;                   - allows partitioning of removable media&lt;br /&gt;                   - prompts for driver disk&lt;br /&gt;&lt;br /&gt;noshell         Do not put a shell on tty2 during install.&lt;br /&gt;&lt;br /&gt;lowres          Force GUI installer to run at 640x480.&lt;br /&gt;&lt;br /&gt;resolution=&amp;lt;mode&gt; Run installer in mode specified, '1024x768' for example.&lt;br /&gt;&lt;br /&gt;nousb           Do not load USB support (helps if install hangs&lt;br /&gt;               early sometimes).&lt;br /&gt;&lt;br /&gt;nofb            Do not load the VGA16 framebuffer required for doing&lt;br /&gt;               text-mode installation in some languages&lt;br /&gt;&lt;br /&gt;nofirewire      Do not load support for firewire devices&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;span style="color:orange;"&gt;&lt;b&gt;askmethod&lt;/b&gt;&lt;/span&gt;&lt;b&gt;       Do not automatically use the CD-ROM as the install&lt;br /&gt;               source if we detect a Red Hat Linux CD in your CD-ROM drive.&lt;br /&gt;&lt;br /&gt;nousbstorage    Do not load usbstorage module in loader.  May help with&lt;br /&gt;               device ordering on SCSI systems.&lt;br /&gt;&lt;br /&gt;noparport       Do not attempt to load support for parallel ports&lt;br /&gt;&lt;br /&gt;noprobe         Do not attempt to detect hw, prompts user instead.&lt;br /&gt;&lt;br /&gt;nopcmcia        Ignore PCMCIA controller in system.&lt;br /&gt;&lt;br /&gt;skipddc         Skips DDC probe of monitor, may help if its handing system.&lt;br /&gt;&lt;br /&gt;graphical       Force graphical install. Required to have ftp/http use GUI.&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;span class="highlight" style="color: rgb(255, 0, 0)"&gt;&lt;b&gt;text&lt;/b&gt;&lt;/span&gt;&lt;b&gt;            Force text mode install.&lt;br /&gt;&lt;br /&gt;vnc             Enable vnc-based installation. You will need to connect&lt;br /&gt;               to the machine using a vnc client application.&lt;br /&gt;&lt;br /&gt;vncpassword=&amp;lt;password&gt;  Enable a password for the vnc connection. This will&lt;br /&gt;               prevent someone from inadvertantly connecting to the&lt;br /&gt;               vnc-based installation.&lt;br /&gt;&lt;br /&gt;               Requires 'vnc' option to be specified as well.&lt;br /&gt;&lt;br /&gt;vncconnect=&amp;lt;host&gt;[:&amp;lt;port&gt;]   Once installation is up and running, connect to&lt;br /&gt;               the vnc client named &amp;lt;host&gt;, and optionally use port &amp;lt;port&gt;.&lt;br /&gt;&lt;br /&gt;               Requires 'vnc' option to be specified as well.&lt;br /&gt;&lt;br /&gt;updates         Prompt for floppy containing updates (bug fixes).&lt;br /&gt;&lt;br /&gt;isa             Prompt user for ISA devices configuration.&lt;br /&gt;&lt;br /&gt;dd              Use a driver disk.&lt;br /&gt;&lt;br /&gt;driverdisk      Same as 'dd'.&lt;br /&gt;&lt;br /&gt;mediacheck      Activates loader code to give user option of testing integrity&lt;br /&gt;               of install source (if an ISO-based method).&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;span class="highlight" style="color: rgb(255, 0, 0)"&gt;&lt;b&gt;rescue&lt;/b&gt;&lt;/span&gt;&lt;b&gt;          Run rescue environment.&lt;br /&gt;&lt;br /&gt;nomount         Don't automatically mount any installed Linux partitions&lt;br /&gt;               in rescue mode.&lt;br /&gt;&lt;br /&gt;nopass          Don't pass keyboard/mouse info to stage 2 installer, good for&lt;br /&gt;               testing keyboard and mouse config screens in stage2 installer&lt;br /&gt;               during network installs.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;serial          Turns on serial console support.&lt;br /&gt;&lt;br /&gt;ksdevice        Takes an argument like 'eth0', tells install what network&lt;br /&gt;               device to use for kickstart from network.&lt;br /&gt;&lt;br /&gt;ks              Kickstart over NFS.&lt;br /&gt;&lt;br /&gt;ks=cdrom:       Kickstart from CDROM&lt;br /&gt;&lt;br /&gt;ks=nfs:&amp;lt;path&gt;   Kickstart from NFS.&lt;br /&gt;&lt;br /&gt;ks=&amp;lt;url&gt;        Kickstart via HTTP.&lt;br /&gt;&lt;br /&gt;ks=hd:&amp;lt;dev&gt;     Kickstart via harddrive (dev = 'hda1', for example)&lt;br /&gt;&lt;br /&gt;ks=file:&amp;lt;path&gt;  Kickstart from a file (path = 'fd0/ks.cfg')&lt;br /&gt;&lt;br /&gt;ks=ftp://&amp;lt;path&gt; Kickstart from FTP.&lt;br /&gt;&lt;br /&gt;ks=http://&amp;lt;path&gt; Kickstart from HTTP.&lt;br /&gt;&lt;br /&gt;kssendmac       Adds HTTP headers to ks=http:// request that can be helpful&lt;br /&gt;               for provisioning systems.  Includes MAC address of all nics in&lt;br /&gt;               a CGI environment variable of the form&lt;br /&gt;               HTTP_X_RHN_PROVISIONING_0, HTTP_X_RHN_PROVISIONING_1, etc, for&lt;br /&gt;               all nics.&lt;br /&gt;&lt;br /&gt;dhcpclass=&amp;lt;class&gt; Sends a custom DHCP vendor class identifier. ISC's dhcpcd can&lt;br /&gt;               inspect this value using "option vendor-class-identifier".&lt;br /&gt;&lt;br /&gt;upgradeany      Don't require an /etc/redhat-release that matches the&lt;br /&gt;               expected syntax to upgrade.&lt;br /&gt;&lt;br /&gt;lang=&amp;lt;lang&gt;     Language to use for the installation.  This should be a&lt;br /&gt;               language which is valid to be used with the 'lang' kickstart&lt;br /&gt;               command.&lt;br /&gt;&lt;br /&gt;keymap=&amp;lt;keymap&gt; Keyboard layout to use.  Valid values are those which can be&lt;br /&gt;               used for the 'keyboard' kickstart command.&lt;br /&gt;&lt;br /&gt;ip=&amp;lt;ip&gt;         IP to use for a network installation, use 'dhcp' for DHCP.&lt;br /&gt;&lt;br /&gt;netmask=&amp;lt;nm&gt;    Netmask to use for a network installation.&lt;br /&gt;&lt;br /&gt;gateway=&amp;lt;gw&gt;    Gateway to use for a network installation.&lt;br /&gt;&lt;br /&gt;dns=&amp;lt;dns&gt;       Comma separated list of nameservers to use for a network&lt;br /&gt;               installation.&lt;br /&gt;&lt;br /&gt;method=nfs:&amp;lt;path&gt; Use &amp;lt;path&gt; for an NFS installation.&lt;br /&gt;&lt;br /&gt;method=http://&amp;lt;path&gt; Use &amp;lt;path&gt; for an HTTP installation&lt;br /&gt;&lt;br /&gt;method=ftp://&amp;lt;path&gt; Use &amp;lt;path&gt; for an FTP installation&lt;br /&gt;&lt;br /&gt;method=hd://&amp;lt;dev&gt;/&amp;lt;path&gt; Use &amp;lt;path&gt; on &amp;lt;dev&gt; for a hard drive installation&lt;br /&gt;&lt;br /&gt;method=cdrom    Do a CDROM based installation.&lt;br /&gt;&lt;br /&gt;vnc             Do graphical installation via VNC.  Instead of&lt;br /&gt;               starting a normal X server, vncserver will be started&lt;br /&gt;               and you can then connect remotely to do the&lt;br /&gt;               installation.&lt;br /&gt;&lt;br /&gt;vncpassword=&amp;lt;password&gt;  Set a password for the vnc session.&lt;br /&gt;&lt;br /&gt;vncconnect=&amp;lt;host&gt;[:&amp;lt;port&gt;]   Once installation is up and running, connect to&lt;br /&gt;               the vnc client named &amp;lt;host&gt;, and optionally, on port &amp;lt;port&gt;.&lt;br /&gt;                Requires 'vnc' option to be specified as well.&lt;/b&gt;&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Something else:&lt;/div&gt;&lt;div&gt;&lt;span style="font-family:verdana;"&gt;&lt;pre class="alt2" dir="ltr" style=" margin-right: 0px; margin-left: 0px; border-color: initial; text-align: left; background-image: initial; background-repeat: initial; background-color: rgb(237, 239, 241); color: rgb(0, 0, 0)"&gt;test&lt;br /&gt;debug           Start up pdb immediately&lt;br /&gt;nofallback      If GUI fails exit&lt;br /&gt;rootpath=       Where to install packages (default /mnt/sysimage)&lt;br /&gt;pcic=           Specify pcmcia controller&lt;br /&gt;overhead=       Override LVM overhead calculation&lt;br /&gt;testpath=&lt;br /&gt;mountfs&lt;br /&gt;traceonly       Don't run, just list modules we use&lt;br /&gt;kickstart=      Set serial install and kickstart file&lt;br /&gt;kbdtype=        Set the type of keyboard&lt;br /&gt;module=         Load additional kernel modules&lt;br /&gt;class=          Choose install class to use&lt;br /&gt;autostep        Make kickstart non-interactive&lt;br /&gt;noselinux       Disable Security Enhanced Linux&lt;br /&gt;selinux         Enable Security Enhanced Linux&lt;br /&gt;vnc=&lt;br /&gt;cmdline         Use command line installer&lt;br /&gt;headless        Automate install for machines with no display&lt;br /&gt;virtpconsole=&lt;br /&gt;xfs             Allows the creation of a xfs filesystem&lt;br /&gt;reiserfs        Allows the creation of a reiserfs filesystem&lt;br /&gt;jfs             Allows the creation of a jfs filesystem&lt;br /&gt;syslogd&lt;/pre&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2850356792128015697?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2850356792128015697/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2850356792128015697' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2850356792128015697'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2850356792128015697'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/05/fedora-installation-options-can-be-used.html' title='fedora installation options - can be used in most redhat based li'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-3578988369781004832</id><published>2009-05-08T04:33:00.001-07:00</published><updated>2009-07-09T00:48:22.906-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GAE'/><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><title type='text'>GWTAE first try</title><content type='html'>I just try the Google AppEngine with GWT. The eclipse plugin is pretty cool and simple to use. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But it's not perfect in:&lt;/div&gt;&lt;ol&gt;&lt;li&gt;i want to use servlet context listener, but it doesn't support --&gt; use filter to do it instead &lt;/li&gt;&lt;li&gt;i want to share my data with other applications but seems it's hard to do that, except I use external database service like Amazon S3&lt;/li&gt;&lt;li&gt;i want to add some big file but it has a memory restriction for big files &amp;lt; 1M ....&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;or i need more tries&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-3578988369781004832?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/3578988369781004832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=3578988369781004832' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3578988369781004832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3578988369781004832'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/05/gwtae-first-try.html' title='GWTAE first try'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-448352633629543744</id><published>2009-05-08T04:06:00.001-07:00</published><updated>2009-07-09T00:48:36.603-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><title type='text'>IT 演义</title><content type='html'>IT战场烽烟四起&lt;div&gt;谁是真正的钢铁巨人：HP，IBM，DELL加上新来的Oracle&lt;br /&gt;&lt;br /&gt;&lt;div&gt;云之战：GoogleyahooAmazon加上新来的微软OracleIBM&lt;/div&gt;&lt;div&gt;ERP：SAPOracleM$加上IBM&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;大户来了，散户散开&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;我们翘首以盼&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;IT如此精彩，引无数英雄竞折腰&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-448352633629543744?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/448352633629543744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=448352633629543744' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/448352633629543744'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/448352633629543744'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/05/it.html' title='IT 演义'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-9074199056469562610</id><published>2009-05-08T04:01:00.001-07:00</published><updated>2009-07-09T00:48:53.539-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fedora'/><title type='text'>Fedora 11 Issues</title><content type='html'>I met a lot of installation issues while trying fedora 11 preview release on ProLiant server, it spent me a half day to find out why the default installation failed:&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;can not find enough free space error&lt;/li&gt;&lt;li&gt;can not cancel bug report dialog issue&lt;/li&gt;&lt;li&gt;cannot find a certain package issue&lt;/li&gt;&lt;li&gt; failed to create partition&lt;br /&gt;&lt;/li&gt;&lt;li&gt;hang while installing&lt;/li&gt;&lt;li&gt;hang while finding storages&lt;/li&gt;&lt;li&gt;cannot reboot system after finished the installation post operations&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;something we can use to skip these issues:&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;make sure your disk is clean or with enough free space&lt;/li&gt;&lt;li&gt;make sure no lvm or other fancy stuffs&lt;/li&gt;&lt;li&gt;use expert and text installation option while install&lt;/li&gt;&lt;li&gt;don't install all packages&lt;/li&gt;&lt;li&gt;select ssh installation for further debugging&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;just some tips&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-9074199056469562610?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/9074199056469562610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=9074199056469562610' title='266 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/9074199056469562610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/9074199056469562610'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/05/fedora-11-issues.html' title='Fedora 11 Issues'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>266</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-5272777605788413181</id><published>2009-04-08T20:51:00.001-07:00</published><updated>2009-07-09T00:49:18.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ant'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='antunit'/><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='apachecon'/><title type='text'>My ApacheCon slides posted to Slideshare.net</title><content type='html'>&lt;div style="width:425px;text-align:left" id="__ss_1200699"&gt;&lt;a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/jimmyzhao/ant-unit-your-functional-test?type=powerpoint" title="Ant Unit Your Functional Test"&gt;Ant Unit Your Functional Test&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=antunityourfunctionaltest-090326032504-phpapp02&amp;amp;stripped_title=ant-unit-your-functional-test"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=antunityourfunctionaltest-090326032504-phpapp02&amp;amp;stripped_title=ant-unit-your-functional-test" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;"&gt;View more &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration:underline;" href="http://www.slideshare.net/jimmyzhao"&gt;Jimmy Zhao&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-5272777605788413181?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/5272777605788413181/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=5272777605788413181' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5272777605788413181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5272777605788413181'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/04/my-apachecon-slides-posted-to.html' title='My ApacheCon slides posted to Slideshare.net'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1711601938404063715</id><published>2009-03-19T06:32:00.001-07:00</published><updated>2009-07-09T00:49:35.021-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='apachecon'/><title type='text'>Go ApacheCon, Go Amsterdam</title><content type='html'>This is the second time I attend the ApacheCon EU. I just can't tell you how impress I'm last time I back from ApacheConEU 2008.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This year I got a great opportunity to present my small idea to you: &lt;span style="font-family:'Courier New';"&gt;&lt;b&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(255, 242, 204);"&gt;AntUnit Your Functional Test.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Please go and join the big event.&lt;div&gt;&lt;div style="text-align: left; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px" id="in8z"&gt;&lt;div style="text-align: left; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px" id="u8em"&gt;&lt;div style="text-align: left; padding-top: 1em; padding-bottom: 1em; padding-right: 0px; padding-left: 0px" id="dwz0"&gt;&lt;img src="http://docs.google.com/File?id=dhbf2c5j_31943kmpjdr_b" style="width: 468px; height: 61px" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Thanks&lt;/div&gt;&lt;div&gt;- Jimmy&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1711601938404063715?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1711601938404063715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1711601938404063715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1711601938404063715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1711601938404063715'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/03/go-apachecon-go-amsterdam.html' title='Go ApacheCon, Go Amsterdam'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-4023565418988617669</id><published>2009-03-05T00:48:00.001-08:00</published><updated>2009-07-09T00:50:09.670-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT'/><title type='text'>Top Pains of Engineer</title><content type='html'>&lt;div&gt;&lt;br /&gt; From management:&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;What sales said is the truth.&lt;br /&gt;&lt;div&gt;&lt;br /&gt; Don't over engineering.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt; Manager thinks Architecture and Design as the same thing&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;From other developer:&lt;/div&gt;&lt;div&gt;My codes are so unreadable that they always rewrite everything&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt; &lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;From QA:&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;I'm shame creating a bug, it's my fault&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;From my self:&lt;/div&gt;&lt;div style="margin-top: 0px; margin-bottom: 0px"&gt;I know how to do things elegant, but I lack of time&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-4023565418988617669?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/4023565418988617669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=4023565418988617669' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4023565418988617669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4023565418988617669'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/03/top-pains-of-engineer.html' title='Top Pains of Engineer'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6216039413364403738</id><published>2009-02-21T08:53:00.001-08:00</published><updated>2009-07-09T00:50:39.457-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><title type='text'>Questions About Burndown Chart</title><content type='html'>One of my colleagues had some questions about the usages of burndown chart while using Scrum.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Questions:&lt;br /&gt;&lt;/h3&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt; A. What burn-down means?&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt; B. Why we need it?&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;C. It's something for boss, why I need to care about it?&lt;br /&gt;&lt;div&gt;&lt;br /&gt; D. Even if we found something strange, they are all explainable. It means nothing to developer. Why people treat it as a important tool in Scrum?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At the same time, my friend also had question about Scrum:&lt;/div&gt;&lt;div&gt;E. Scrum is not really good at status tracking and task dependency management.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;I fully understand these questions, and I think he got the key idea of burn-down chart -- it's used for management, and it's really easy to be understand by the management. Management can get the trend of development from this simple chart.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And as a scrum master, I think the burndown chart means more.&lt;/div&gt;&lt;h3&gt;Basic usage&lt;br /&gt;&lt;/h3&gt;&lt;div&gt;A burn-down chart can tell us (some of them are extended from the changes of chart) &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Sprint progress&lt;/li&gt;&lt;li&gt;trend of development&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Well, these are easy to be understand.&lt;/div&gt;&lt;h3&gt;Advanced usage&lt;br /&gt;&lt;/h3&gt;&lt;div&gt;Further more, it is really a great tool which summarized the whole sprint. It's a graphic log of sprint. From the rising or falling of the line, you will be able to tell what happened in your sprint.&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;if your burndown chart is smoothly linearly going down &lt;/li&gt;&lt;ul&gt;&lt;li&gt;and if join point is the near your estimation, that means your project is in good state&lt;/li&gt;&lt;li&gt;if join point largely ahead your estimation, then maybe your developers have really good performance, or maybe your scope cut&lt;/li&gt;&lt;li&gt;if the join point is after your estimation, that means you have problem now, check your estimation with developer for further reason&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;if your burndown chart shows an suddenly up, that means your scope changed, new task added&lt;/li&gt;&lt;li&gt;if a suddenly down, that means&lt;/li&gt;&lt;li&gt;if the line is flat, well, maybe your developer forgot to update their status, or it means task delayed&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;All of these mean one word: STATUS. Any unexpected up or down will tell us the issue or exception happened, you must update your plan. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now we have a great tool for sprint retrospective, we can sit together and let each of the members tell us what happened during the sprint. And we can easily summarize the lessons or issues or risks or wrong estimations or technical issues, wow, everything. And Scrum master can use to adjust the plan, better manage the release and sprint. And the developer can adjust their estimation, think about how they solve the issues they met.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;And an important usage of burndown chart, actually I already mentioned above, using for comparison and adjusting the plan. The most difficult part of an agile team is the velocity. Normally, we can get the estimation from each developer, but the velocity of agile team will not come from estimation. The velocity comes from the real work done before. And the burndown chart is the right place we can got this information, well, you can get it from the task list too, but burndown chart is more straightforward, as I said, it also includes the exceptions of sprint execution. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now we still lack of tool to better using the Scrum, I'm thinking about a tool which we can dynamically add issue/exception/risks/holiday or vacation to to system and they can be shown on the burndown chart. Then everything I said here will be easier for scrum teams. I'm waiting for this kind of tool. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;At the end, I'm using a tool call IceScrum, you can try it if you want. Check http://icescrum.org for more details. It's a spring+jsf+hibernate implementation, a good application for studying.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6216039413364403738?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6216039413364403738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6216039413364403738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6216039413364403738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6216039413364403738'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/02/questions-about-burndown-chart.html' title='Questions About Burndown Chart'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-3064910004855658810</id><published>2009-02-18T01:34:00.001-08:00</published><updated>2009-02-18T01:34:48.031-08:00</updated><title type='text'>Zen Aquarium</title><content type='html'>&lt;div&gt;Fish Tank&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://widgets.clearspring.com/o/484b55292f9fbe88/499bd637753451f0/499bca5d3ac07cd3/ddebf771/widget.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-3064910004855658810?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/3064910004855658810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=3064910004855658810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3064910004855658810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3064910004855658810'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/02/zen-aquarium.html' title='Zen Aquarium'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7122156622425817618</id><published>2009-02-16T18:27:00.001-08:00</published><updated>2009-07-09T00:51:10.659-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='apache'/><category scheme='http://www.blogger.com/atom/ns#' term='apachecon'/><title type='text'>Sessions I'm interested in:</title><content type='html'>Sessions I'm interested in (and of course my session is included, cheers): &lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The full session list is at:&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions"&gt;http://www.eu.apachecon.com/c/aceu2009/sessions&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: rgb(34, 34, 34); font-family:'Helvetica Neue';"&gt;&lt;table style="margin-top: 0px; margin-right: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; border-collapse: separate; vertical-align: middle; margin-bottom: 1.4em; width: 100%; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237)" class="zeroBorder"&gt;&lt;tbody style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 10:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/136" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Introducing Mahout: Apache Machine Learning&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/8" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Grant Ingersoll&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 11:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/131" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Apache Felix on Androids&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/167" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Marcel Offermans&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 11:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/143" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Adopting Open Source in the Enterprise&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/148" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Adrian Trenaman&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 13:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/244" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Chew &amp;amp; Chat | Apache 101: Sponsoring the ASF at the Corporate and Individual Level&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/11" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Jim Jagielski&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 13:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/243" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Chew &amp;amp; Chat | Behind the Scenes of The Apache Software Foundation&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/52" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Lars Eilebrecht&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 14:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/132" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;OSGi as Framework for Building a Product Line: Experience and Best Practices&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/223" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Sanjiva Weerawarana&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 14:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/138" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Advanced Indexing Techniques with Apache Lucene&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/220" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Michael Busch&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 14:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/144" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Open Source for Interoperability&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/213" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Paul Fremantle&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 14:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/224" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Title: Pig - Making Hadoop Easy&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/164" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Olga Natkovich&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 15:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/225" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Running Hadoop in the Cloud&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/51" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Tom White&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 15:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/252" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;HBasics: An introduction to Hadoop's Big Data database&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/209" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Michael Stack&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 15:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/133" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Building Geronimo Plugins with Eclipse&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/221" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Kevan Miller&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 15:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/145" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Sustainable software: the community way&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/201" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Gianugo Rabellino&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 16:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/146" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Apache license as a business model: Challenges and opportunities&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/223" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Sanjiva Weerawarana&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 16:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/140" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Content storage with Apache Jackrabbit&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/37" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Jukka Zitting&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 16:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/134" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Administering Apache Geronimo 2.x&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/196" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;David Jencks&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 16:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/226" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Configuring Hadoop for Grid Services&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/123" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Allen Wittenauer&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 17:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/227" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Dynamic Hadoop Clusters&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/194" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Steve Loughran&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 17:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/253" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Deploying to the Edge with CouchDB&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/171" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;J. Chris Anderson&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Wed Mar 25 17:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/135" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Administering Apache Geronimo through Custom Server Assemblies&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/196" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;David Jencks&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Thu Mar 26 09:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/154" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Achieving Scalability and High Availability for clustered Web Services using Apache Synapse&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/211" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Ruwan Linton&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Thu Mar 26 10:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/155" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Event Driven Architectures with Apache Synapse&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/213" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Paul Fremantle&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Thu Mar 26 16:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/158" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Service Mix 4 topologies&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/147" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Andreas Gies&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Thu Mar 26 17:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/153" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;What the Bayeux? Understanding, Using and Developing with the Bayeux Protocol&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/157" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Filip Hanik&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Thu Mar 26 17:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/167" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Using MINA 2.0 in Real Life&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/179" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Emmanuel lecharny&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-family: inherit; text-align: left; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;Fri Mar 27 09:00&lt;/span&gt;&lt;/b&gt;&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-family: inherit; text-align: left; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: inherit; font-family: inherit; vertical-align: baseline"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/168" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: inherit; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;AntUnit Your Functional Test&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;by &lt;/span&gt;&lt;/b&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/206" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-style: inherit; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;Jimmy Zhao&lt;/span&gt;&lt;/b&gt;&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Fri Mar 27 10:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/187" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;High Availability != High cost - Building low-cost Master/Slave-Cluster on Linux based Operation Systems to provide mission critical services&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/111" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Norman Maurer&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Fri Mar 27 10:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/181" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Scripting your Java Application with BSF 3.0&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/57" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Felix Meschberger&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Fri Mar 27 14:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/170" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Apache Continuum - Build, Test, and Release&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/225" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Wendy Smoak&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Fri Mar 27 15:00&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/171" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Enterprise build and test in the cloud&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/22" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Carlos Sanchez&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Fri Mar 27 16:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/184" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Shindig for Blogs and Wikis&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/175" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Dave Johnson&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Fri Mar 27 16:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/190" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Rapid JCR applications development with Sling&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/26" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Bertrand Delacretaz&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline"&gt;&lt;td width="90px" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;Fri Mar 27 17:30&lt;/td&gt;&lt;td style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; border-style: initial; border-color: initial; font-style: inherit; font-size: 100%; font-family: inherit; text-align: left; font-weight: normal; vertical-align: middle; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(249, 247, 237); border-right-color: rgb(249, 247, 237); border-bottom-color: rgb(249, 247, 237); border-left-color: rgb(249, 247, 237); padding-top: 0.6em; padding-right: 0.6em; padding-bottom: 0.6em; padding-left: 0.6em"&gt;&lt;div class="session-name" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-family: inherit; vertical-align: baseline; font-size: 1.2em"&gt;&lt;a href="http://www.eu.apachecon.com/c/aceu2009/sessions/139" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 0)"&gt;&lt;u&gt;Architectures for the cloud&lt;/u&gt;&lt;/a&gt;&lt;/div&gt;by &lt;a href="http://www.eu.apachecon.com/c/aceu2009/speakers/194" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-weight: inherit; font-style: inherit; font-size: 100%; font-family: inherit; vertical-align: baseline; color: rgb(0, 0, 153)"&gt;&lt;u&gt;Steve Loughran&lt;/u&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7122156622425817618?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7122156622425817618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7122156622425817618' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7122156622425817618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7122156622425817618'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/02/sessions-i-interested-in.html' title='Sessions I&amp;#39;m interested in:'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6817107639707758424</id><published>2009-02-13T20:04:00.001-08:00</published><updated>2009-07-09T00:51:28.276-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='agile'/><title type='text'>What An Ideal Agile Team Looks Like?</title><content type='html'>&lt;h1&gt;&lt;span style=" white-space: pre;font-family:Arial;"&gt;What An Ideal Agile Team Looks Like?&lt;/span&gt;&lt;br /&gt;&lt;/h1&gt;&lt;p&gt;After a few years experiences of Agile development, I rethink profoundly what I got from my experiences and what will an ideal agile development team look like?&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;h2&gt;My experiences&lt;br /&gt;&lt;/h2&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;b&gt;Begin to learn and use FDD in six years ag&lt;/b&gt;&lt;b&gt;o&lt;/b&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;- people around me are not really understand it but they want something like that, something non-RUP but more restrict than XP.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;- sometimes we will fail into the discussions like what's a feature will look like, how long an iteration should take, etc. &lt;/p&gt;&lt;p&gt;- we finally failed to follow FDD after several break and undefined iteration duration and lacking of domain expert&lt;/p&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;b&gt;Using iteration development in mobile game development&lt;/b&gt;&lt;div&gt;- project are small and you will need to work with game designer, UI designer and end user, and they are all young&lt;/div&gt;&lt;div&gt;- users require a frequently release and UI changes for their requirements&lt;/div&gt;&lt;div&gt;- no requirement from your boss&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Using a mixed XP/Scrum development model in an enterprise environment&lt;/b&gt;&lt;/div&gt;&lt;div&gt;- most of my people are really experienced, but most of them already had experiences of RUP or other model&lt;/div&gt;&lt;div&gt;- some of them are really senior but some of them are just graduate from school&lt;/div&gt;&lt;div&gt;- after two years of development, people already knew Agile well, but they think Agile is just a process&lt;/div&gt;&lt;div&gt;- we have a user lead who represents for our customer, but finally found they have different understanding on the requirements&lt;/div&gt;&lt;h2&gt;Issues of an Agile team&lt;br /&gt;&lt;/h2&gt;&lt;div&gt;So, let's look at a little bit detail inside my experiences on what kind of issues I found:&lt;/div&gt;&lt;ol&gt;&lt;li&gt;People are too junior to know development and how to cooperation with people during development&lt;br /&gt;&lt;/li&gt;&lt;li&gt;People are two senior that they already fixed in RUP liked development model, and some of them don't want to change, or even don't want to learn&lt;br /&gt;&lt;/li&gt;&lt;li&gt;People are in the middle level, they want to learn and try, but they are more focus on development model than customer centric&lt;br /&gt;&lt;/li&gt;&lt;li&gt;People are easily to fight with each other for the concepts or processes of Agile, because nobody can tell the FINAL answer and manager/Scrum Master has to make decision, and this hurt people in the discussion&lt;br /&gt;&lt;/li&gt;&lt;li&gt;When technical issues like architecture or whether we need a new tool/technology happened, everyone want to make the decision, but we can just use one, so we have to discuss a lot, but actually sometimes they mean the same thing to user&lt;br /&gt;&lt;/li&gt;&lt;li&gt;People have different understanding on each best practice of XP or Scrum or Lean, so they will follow their own style and sometimes this cause communication problem, even if we have a pretty good nightly build system and it will do integration test for all the codes. The changes just faster than the understanding of codes&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The manager don't know who should talk to when an important issue found, because everybody changed the same codes&lt;br /&gt;&lt;/li&gt;&lt;li&gt;The Agile model is okay, but people don't feel excited, it just a normal model, so they just follow it, lacking of energy to empower it&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h2&gt;My Ideal Agile Team Model&lt;br /&gt;&lt;/h2&gt;As you can see, we have so much troubles while using all different kind of Agile model/practices. And I think the key is people in the team.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Well, I don't worry about the size of the team, don't worry about whether they are distributed, and don't worry about their ages, and don't worry about whether they have a good experiences, and don't worry about whether they are good at refactoring.&lt;/div&gt;&lt;div&gt;What kind of people we need in an Agile team?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;I think at first we need a group of people who are really easy to accept others.&lt;/b&gt;&lt;/div&gt;&lt;div&gt;When talking about acceptance, I mean the acceptances of &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;different style of people&lt;/li&gt;&lt;li&gt;different skill set&lt;/li&gt;&lt;li&gt;different speed of doing things&lt;/li&gt;&lt;li&gt;different document style or code style&lt;/li&gt;&lt;li&gt;different/similar ideas, just accept them, don't try to argue and be a hero&lt;/li&gt;&lt;li&gt;change, we are an agile team, right. So, don't complaint about borabora... to the manager again and again&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This will solve the issue:1,2,3&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;I need the people to really understand what's role they should play&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;they play the first level cooperation cordinator&lt;/li&gt;&lt;li&gt;they are developer, but they should put customer in the top priority while doing their work, not their own work, it's the work from customer, the value of work directly come from customer&lt;/li&gt;&lt;li&gt;they are manager to they own work, each/each pair of developer is the owner of a user story/feature, they need to learn how to write document, talk to customer, do overall estimation, paint UI, do test and fix bug. Their  deliverables are not only codes, but also other important artifacts. So, our developers really need to manage their small project -- user story.&lt;/li&gt;&lt;li&gt;most of people are developers, not architect. So, contribute your ideas/suggestions/comments to the people who is title as architect, instead of provide a new solution&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After these two points, I think I got the perfect Agile team, but we know that's not an easy way to success! I'm just trying.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers with all people who met the same issues.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6817107639707758424?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6817107639707758424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6817107639707758424' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6817107639707758424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6817107639707758424'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/02/what-ideal-agile-team-looks-like.html' title='What An Ideal Agile Team Looks Like?'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6684828415697470757</id><published>2009-02-07T21:45:00.000-08:00</published><updated>2009-07-09T00:51:51.368-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='GWT'/><title type='text'>happy for 3 new features of GWT 1.6</title><content type='html'>&lt;div&gt;Enhancements for server side application development:&lt;/div&gt;&lt;div&gt;1. WAR generation and RPC configuration easier&lt;/div&gt;&lt;div&gt;This is always a problem for all server side application developers.  While doing the server side application, you must handle all this configuration by yourself (at least most of them). And the RPC codes are really hard to handle, I met many issues at the beginning.&lt;/div&gt;&lt;div&gt;2. Hosted mode enhancement&lt;/div&gt;&lt;div&gt;It provides a restart button which can restart the web container, instead of close the console and completely rerun everything again. But I'm wondering why they change the web server to Jetty, why we can use tomcat for this feature? Well, Jetty is good too, but I like Tomcat more than Jetty.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. New event handling system. &lt;/div&gt;&lt;div&gt;I haven't checked all of them yet, but this one looks nice -- each event handler only handle one method, you don't need to create empty method for it anymore. The codes will be more clear now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are also many other new features, check this link below for details:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/3e7e6cc3b35ad98a"&gt;http://groups.google.com/group/Google-Web-Toolkit/browse_thread/thread/3e7e6cc3b35ad98a&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cheers.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6684828415697470757?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6684828415697470757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6684828415697470757' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6684828415697470757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6684828415697470757'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/02/happy-for-3-new-features-of-gwt-16.html' title='happy for 3 new features of GWT 1.6'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7294639059497804689</id><published>2009-02-04T01:00:00.000-08:00</published><updated>2009-07-09T00:52:36.046-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bi'/><category scheme='http://www.blogger.com/atom/ns#' term='analytics'/><title type='text'>10-promising-free-web-analytics-tools</title><content type='html'>&lt;div&gt;Check link below for details:&lt;/div&gt;http://sixrevisions.com/usabilityaccessibility/10-promising-free-web-analytics-tools/&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I think Yahoo does the best work comparing with others.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The data analyze and web data mining will be the next generation of data base revolution. MOre and more business come from Web. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Websites like &lt;a href="http://www.ohloh.net/"&gt;http://www.ohloh.net/&lt;/a&gt; are doing analysis for more detail level of industry/application. Searching by business/type of user and bring more useful data for these users are more and more important for people. Data grows like rolling snow ball, something like Google but  more specific and useful is needed.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It's time to do something.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7294639059497804689?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7294639059497804689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7294639059497804689' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7294639059497804689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7294639059497804689'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2009/02/10-promising-free-web-analytics-tools.html' title='10-promising-free-web-analytics-tools'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-3052878287299530592</id><published>2008-09-26T05:53:00.000-07:00</published><updated>2009-07-09T00:52:54.600-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Official Google Blog: Project 10^100</title><content type='html'>&lt;a href="http://googleblog.blogspot.com/2008/09/project-10100.html"&gt;Official Google Blog: Project 10^100&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I few hours ago, I posted an idea to Google's project 10^100.&lt;br /&gt;&lt;br /&gt;It's a simple idea but I think it's hard to turn to reality:&lt;br /&gt;&lt;br /&gt;1. build a web community&lt;br /&gt;2. people can come to this community and write down what they like and what's their style.&lt;br /&gt;3. Match via following ways&lt;br /&gt;a. System match the people together via their style and their preferences.&lt;br /&gt;b. People can write down their style and where they will show up in which day&lt;br /&gt;4. System can give them some symbols to those people who might meet together(in the subway or shopping mall, etc)&lt;br /&gt;5. People takes photos or leave messages for their meets.&lt;br /&gt;&lt;br /&gt;Source of idea: more and more people feel alone in the modern cities, we found a way for them to meet similar people and make friends each other, or each just for funs.&lt;br /&gt;&lt;br /&gt;Imaging:&lt;br /&gt;100 cars will meet together in a weekend 3 PM at Wangfujing Street, and they wear the same color clothes or wear same brand hats.&lt;br /&gt;&lt;br /&gt;Give people a chance to know you, give people a chance to talk to new face friends. And then keep in touch in a community.&lt;br /&gt;I think this will solve many social or mentality problems of people.&lt;br /&gt;&lt;br /&gt;Hope project 1-^100 can find more funny ideas from people.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-3052878287299530592?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/3052878287299530592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=3052878287299530592' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3052878287299530592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3052878287299530592'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/09/official-google-blog-project-10100.html' title='Official Google Blog: Project 10^100'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-945024408926258993</id><published>2008-09-22T19:41:00.000-07:00</published><updated>2009-07-09T00:52:15.800-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ajax'/><title type='text'>Ajaxian » What if we didn’t lump all “accessibility” requirements together?</title><content type='html'>&lt;a href="http://ajaxian.com/archives/what-if-we-didnt-lump-all-accessibility-requirements-together"&gt;Ajaxian » What if we didn’t lump all “accessibility” requirements together?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the similar question with my last post.&lt;br /&gt;What if we didn't have all "accessibility, usability and availability, etc" requirements?&lt;br /&gt;&lt;br /&gt;Using prototypes to demostrate your design is okay, but it may need more involvement of user.&lt;br /&gt;&lt;br /&gt;It's easy to demo or create a new page, but it's hard to define the BEST.&lt;br /&gt;&lt;br /&gt;80/20 policy is used here. And we need user's agreement on the requirements defined.&lt;br /&gt;This is the key.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-945024408926258993?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/945024408926258993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=945024408926258993' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/945024408926258993'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/945024408926258993'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/09/ajaxian-what-if-we-didnt-lump-all.html' title='Ajaxian » What if we didn’t lump all “accessibility” requirements together?'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-9157530021050152052</id><published>2008-09-22T19:29:00.000-07:00</published><updated>2008-09-22T19:29:26.638-07:00</updated><title type='text'>InfoQ: How to Handle Unfinished Stories?</title><content type='html'>&lt;a href="http://www.infoq.com/news/2008/09/Unfinished-Stories"&gt;InfoQ: How to Handle Unfinished Stories?&lt;/a&gt;&lt;br /&gt;In Chris Sims' post, he summarized the experiences of David Starr of dealing with unfinished Stories.&lt;br /&gt;&lt;p&gt;One way to track progress is to give 80% of the point value of the story to the team for the current sprint. At first blush, this approach seems to accurately reflect the state of things, and may help keep the team's recorded velocity from varying up and down, sprint to sprint. It also has a certain amount 'feel good' value for the team. However, this approach has significant risk. The story is not verifiably done and the amount of time and effort that will be needed to get to 'done' isn't really known. &lt;/p&gt; &lt;p&gt; A second possibility is to split the story into smaller stories and take credit for the ones that can be considered done. To the extent that some of the smaller stories are truly 'done', this can reduce the risk associated with the 'partial credit' approach. It also allows the product owner to make some decisions about the relative importance of the unfinished stories.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;In our projects, we seldom met the same issue. Most of the time, we can finish the stories on time, but sometimes we will also find that we were getting trouble on a certain user story. Most of the time, the issue is, the user story is developed, but it's not the same as expected of user. It's a common issue that user doesn't really aware of what they need. But in a formal development team, we must count our efforts so that we can really know our TRUE velocity in a certain cycle. In this case, usually we will adopt the second approach of David. We will split the user story into smaller user stories, and keep higher priority for unfinished user story in the next iteration.&lt;/p&gt;&lt;p&gt;But here comes my question, if the user story is finished, but we found it's not perfect enough for user, what should we do?&lt;/p&gt;&lt;p&gt;To satisfy user is one of the most important thing we should be aware of in an agile project. But most of the time, user only say "I need something but I don't know what it exactly looks like, I need your help". You can not exactly define what's the final quality requirement of user. So, you will get the feedback like "Yes, it works, but I think there are something we can improve, but I don't know where they are...".&lt;br /&gt;&lt;/p&gt;&lt;p&gt;How you deal with this in your experiences?&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-9157530021050152052?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.infoq.com/news/2008/09/Unfinished-Stories' title='InfoQ: How to Handle Unfinished Stories?'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/9157530021050152052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=9157530021050152052' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/9157530021050152052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/9157530021050152052'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/09/infoq-how-to-handle-unfinished-stories.html' title='InfoQ: How to Handle Unfinished Stories?'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-8316105948109722175</id><published>2008-09-19T02:33:00.000-07:00</published><updated>2008-09-19T02:37:49.912-07:00</updated><title type='text'>我的9型人格</title><content type='html'>做了一个测试，感觉自己各方面都很平均啊&lt;br /&gt;&lt;div style="margin:0 auto;padding:0 6px;width:400px;background:#fff;"&gt;&lt;table style="margin:0 auto;border:1px #CCCCCC solid;font-size:9pt;width:100%;"&gt;&lt;caption&gt;九型人格分析&lt;/caption&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="padding:6px;color:white;background:#B177A9;"&gt;第三型&lt;/td&gt;&lt;td style="text-align:left;vertical-align:top;padding:0;width:300px;"&gt;&lt;span title="Achievers, Performers, Succeeders"&gt;成就者、事業型、成就型、實踐型&lt;/span&gt;&lt;div style="height:1.5em;width:300px;background:#CCCCCC;"&gt;&lt;span style="position:absolute;color:white;"&gt; 14%&lt;/span&gt;&lt;div style="color:white;height:1.5em;width:43px;background:#B177A9;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:6px;color:white;background:#FF6347;"&gt;第八型&lt;/td&gt;&lt;td style="text-align:left;vertical-align:top;padding:0;width:300px;"&gt;&lt;span title="Leaders, Protectors, Challengers"&gt;領袖型、能力型、挑戰者、保護者、權威型&lt;/span&gt;&lt;div style="height:1.5em;width:300px;background:#CCCCCC;"&gt;&lt;span style="position:absolute;color:white;"&gt; 13%&lt;/span&gt;&lt;div style="color:white;height:1.5em;width:38px;background:#FF6347;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:6px;color:white;background:#4682B4;"&gt;第七型&lt;/td&gt;&lt;td style="text-align:left;vertical-align:top;padding:0;width:300px;"&gt;&lt;span title="Enthusiasts, Adventurers, Sensationalists"&gt;快樂主義型、豐富型、活躍型、創造可能者、享樂型&lt;/span&gt;&lt;div style="height:1.5em;width:300px;background:#CCCCCC;"&gt;&lt;span style="position:absolute;color:white;"&gt; 12%&lt;/span&gt;&lt;div style="color:white;height:1.5em;width:35px;background:#4682B4;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:6px;color:white;background:#50A3DA;"&gt;第二型&lt;/td&gt;&lt;td style="text-align:left;vertical-align:top;padding:0;width:300px;"&gt;&lt;span title="Helpers, Givers, Caretakers"&gt;助人者、全愛型、助人型、成就他人者、博愛型&lt;/span&gt;&lt;div style="height:1.5em;width:300px;background:#CCCCCC;"&gt;&lt;span style="position:absolute;color:white;"&gt; 12%&lt;/span&gt;&lt;div style="color:white;height:1.5em;width:35px;background:#50A3DA;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:6px;color:white;background:#B9B204;"&gt;第五型&lt;/td&gt;&lt;td style="text-align:left;vertical-align:top;padding:0;width:300px;"&gt;&lt;span title="Observers, Thinkers, Investigators"&gt;智慧型、觀察者、思想型、理性分析者、思考型&lt;/span&gt;&lt;div style="height:1.5em;width:300px;background:#CCCCCC;"&gt;&lt;span style="position:absolute;color:white;"&gt; 11%&lt;/span&gt;&lt;div style="color:white;height:1.5em;width:33px;background:#B9B204;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:6px;color:white;background:#CD5C5C;"&gt;第六型&lt;/td&gt;&lt;td style="text-align:left;vertical-align:top;padding:0;width:300px;"&gt;&lt;span title="Loyalists, Devil's Advocates, Defenders"&gt;忠誠型、忠誠型、尋找安全者、謹慎型&lt;/span&gt;&lt;div style="height:1.5em;width:300px;background:#CCCCCC;"&gt;&lt;span style="position:absolute;color:white;"&gt; 11%&lt;/span&gt;&lt;div style="color:white;height:1.5em;width:33px;background:#CD5C5C;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:6px;color:white;background:#00CC00;"&gt;第一型&lt;/td&gt;&lt;td style="text-align:left;vertical-align:top;padding:0;width:300px;"&gt;&lt;span title="Reformers, Critics, Perfectionists"&gt;完美主義者、完美型、改革者、改進型、秩序大使&lt;/span&gt;&lt;div style="height:1.5em;width:300px;background:#CCCCCC;"&gt;&lt;span style="position:absolute;color:white;"&gt; 10%&lt;/span&gt;&lt;div style="color:white;height:1.5em;width:30px;background:#00CC00;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:6px;color:white;background:#148571;"&gt;第九型&lt;/td&gt;&lt;td style="text-align:left;vertical-align:top;padding:0;width:300px;"&gt;&lt;span title="Mediators, Peacemakers, Preservationists"&gt;和平型、和平者、和諧型、維持和諧者&lt;/span&gt;&lt;div style="height:1.5em;width:300px;background:#CCCCCC;"&gt;&lt;span style="position:absolute;color:white;"&gt; 10%&lt;/span&gt;&lt;div style="color:white;height:1.5em;width:30px;background:#148571;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="padding:6px;color:white;background:#F08080;"&gt;第四型&lt;/td&gt;&lt;td style="text-align:left;vertical-align:top;padding:0;width:300px;"&gt;&lt;span title="Romantics, Individualists, Artists"&gt;藝術型、浪漫者、自我型、憑感覺者&lt;/span&gt;&lt;div style="height:1.5em;width:300px;background:#CCCCCC;"&gt;&lt;span style="position:absolute;color:white;"&gt; 8%&lt;/span&gt;&lt;div style="color:white;height:1.5em;width:25px;background:#F08080;"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div style="text-align:right;"&gt;&lt;span style="color:#ff8000;"&gt;&lt;a href="http://tiquiz.blogspot.com/2007/08/180.html" style="font-size:9pt;text-decoration:none;"&gt;我&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#e69919;"&gt;&lt;a href="http://tiquiz.blogspot.com/2007/08/180.html" style="font-size:9pt;text-decoration:none;"&gt;的&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#cdb232;"&gt;&lt;a href="http://tiquiz.blogspot.com/2007/08/180.html" style="font-size:9pt;text-decoration:none;"&gt;九&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#b4c04b;"&gt;&lt;a href="http://tiquiz.blogspot.com/2007/08/180.html" style="font-size:9pt;text-decoration:none;"&gt;型&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#9bc064;"&gt;&lt;a href="http://tiquiz.blogspot.com/2007/08/180.html" style="font-size:9pt;text-decoration:none;"&gt;人&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#82c07d;"&gt;&lt;a href="http://tiquiz.blogspot.com/2007/08/180.html" style="font-size:9pt;text-decoration:none;"&gt;格&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#69c096;"&gt;&lt;a href="http://tiquiz.blogspot.com/2007/08/180.html" style="font-size:9pt;text-decoration:none;"&gt;分&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#50c0af;"&gt;&lt;a href="http://tiquiz.blogspot.com/2007/08/180.html" style="font-size:9pt;text-decoration:none;"&gt;析&lt;/a&gt;&lt;/span&gt;&lt;span style="color:#37c0c8;"&gt;&lt;a href="http://tiquiz.blogspot.com/2007/08/180.html" style="font-size:9pt;text-decoration:none;"&gt;？&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: 12px; "&gt;&lt;div style="font-size: 9pt; "&gt;&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; list-style-type: none; list-style-position: initial; list-style-image: initial; height: 1.7em; "&gt;&lt;li id="liPostType1" onmouseover="javascript:overTab(this);" onmouseout="javascript:outTab(this);" onclick="javascript:showTab(1);" style="float: left; list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0.5em; padding-bottom: 0px; padding-left: 0.5em; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(0, 204, 0); border-top-color: white; border-right-color: white; border-bottom-color: white; border-left-color: white; cursor: pointer; color: white; background-position: initial initial; "&gt;第一型&lt;/li&gt;&lt;li id="liPostType2" onmouseover="javascript:overTab(this);" onmouseout="javascript:outTab(this);" onclick="javascript:showTab(2);" style="float: left; list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0.5em; padding-bottom: 0px; padding-left: 0.5em; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(80, 163, 218); border-top-color: white; border-right-color: white; border-bottom-color: white; border-left-color: white; cursor: pointer; color: white; background-position: initial initial; "&gt;第二型&lt;/li&gt;&lt;li id="liPostType3" onmouseover="javascript:overTab(this);" onmouseout="javascript:outTab(this);" onclick="javascript:showTab(3);" style="float: left; list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0.5em; padding-bottom: 0px; padding-left: 0.5em; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(177, 119, 169); cursor: pointer; font-weight: bold; border-top-color: rgb(177, 119, 169); border-right-color: rgb(177, 119, 169); border-bottom-color: rgb(177, 119, 169); border-left-color: rgb(177, 119, 169); color: white; background-position: initial initial; "&gt;第三型&lt;/li&gt;&lt;li id="liPostType4" onmouseover="javascript:overTab(this);" onmouseout="javascript:outTab(this);" onclick="javascript:showTab(4);" style="float: left; list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0.5em; padding-bottom: 0px; padding-left: 0.5em; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(240, 128, 128); cursor: pointer; color: white; border-top-color: white; border-right-color: white; border-bottom-color: white; border-left-color: white; background-position: initial initial; "&gt;第四型&lt;/li&gt;&lt;li id="liPostType5" onmouseover="javascript:overTab(this);" onmouseout="javascript:outTab(this);" onclick="javascript:showTab(5);" style="float: left; list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0.5em; padding-bottom: 0px; padding-left: 0.5em; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(185, 178, 4); cursor: pointer; color: white; border-top-color: white; border-right-color: white; border-bottom-color: white; border-left-color: white; background-position: initial initial; "&gt;第五型&lt;/li&gt;&lt;li id="liPostType6" onmouseover="javascript:overTab(this);" onmouseout="javascript:outTab(this);" onclick="javascript:showTab(6);" style="float: left; list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0.5em; padding-bottom: 0px; padding-left: 0.5em; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(205, 92, 92); cursor: pointer; color: white; border-top-color: white; border-right-color: white; border-bottom-color: white; border-left-color: white; background-position: initial initial; "&gt;第六型&lt;/li&gt;&lt;li id="liPostType7" onmouseover="javascript:overTab(this);" onmouseout="javascript:outTab(this);" onclick="javascript:showTab(7);" style="float: left; list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0.5em; padding-bottom: 0px; padding-left: 0.5em; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(70, 130, 180); cursor: pointer; color: white; border-top-color: white; border-right-color: white; border-bottom-color: white; border-left-color: white; background-position: initial initial; "&gt;第七型&lt;/li&gt;&lt;li id="liPostType8" onmouseover="javascript:overTab(this);" onmouseout="javascript:outTab(this);" onclick="javascript:showTab(8);" style="float: left; list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0.5em; padding-bottom: 0px; padding-left: 0.5em; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(255, 99, 71); cursor: pointer; color: white; border-top-color: white; border-right-color: white; border-bottom-color: white; border-left-color: white; background-position: initial initial; "&gt;第八型&lt;/li&gt;&lt;li id="liPostType9" onmouseover="javascript:overTab(this);" onmouseout="javascript:outTab(this);" onclick="javascript:showTab(9);" style="float: left; list-style-type: none; list-style-position: initial; list-style-image: initial; padding-top: 0px; padding-right: 0.5em; padding-bottom: 0px; padding-left: 0.5em; border-top-width: 3px; border-right-width: 3px; border-bottom-width: 3px; border-left-width: 3px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-image: initial; background-repeat: initial; background-attachment: initial; -webkit-background-clip: initial; -webkit-background-origin: initial; background-color: rgb(20, 133, 113); display: block; cursor: pointer; color: white; border-top-color: white; border-right-color: white; border-bottom-color: white; border-left-color: white; background-position: initial initial; "&gt;第九型&lt;/li&gt;&lt;/ol&gt;&lt;div id="divPostType3" style="padding-top: 0.5em; padding-right: 0.5em; padding-bottom: 0.5em; padding-left: 0.5em; border-top-width: 2px; border-right-width: 2px; border-bottom-width: 2px; border-left-width: 2px; border-top-color: rgb(177, 119, 169); border-right-color: rgb(177, 119, 169); border-bottom-color: rgb(177, 119, 169); border-left-color: rgb(177, 119, 169); border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; "&gt;&lt;p style="text-indent: 2em; "&gt;你精力充沛，總是動力過人，因為你有很強的爭勝慾望。你喜歡接受挑戰，會把你自己的價值與成就連成一線。成就型的你會全心全意去追求一個目標，因為你相信「天下沒有不可能的事」。動力十足的你，適合做領袖帶領其他人。&lt;/p&gt;主要特徵：&lt;ul&gt;&lt;li&gt;看重自己的表現和成就。&lt;/li&gt;&lt;li&gt;講究效率。&lt;/li&gt;&lt;li&gt;喜歡競爭，避免失敗。&lt;/li&gt;&lt;li&gt;相信愛情來自你能提供甚麼，而不在於你是誰。&lt;/li&gt;&lt;li&gt;只關注事物積極的方面，不理會消極負面的信息。&lt;/li&gt;&lt;li&gt;重視效率、比賽、贏。&lt;/li&gt;&lt;li&gt;難以瞭解個人的感覺。在工作的時候把感情放到了一邊。&lt;/li&gt;&lt;li&gt;為爭取認可而打造有利形象。公眾形象屬於社會高層人物。&lt;/li&gt;&lt;li&gt;在真正自我和工作角色之間會產生困惑。&lt;/li&gt;&lt;li&gt;通過集合思維的方式集中注意力，通過多渠道來尋找問題的答案。&lt;/li&gt;&lt;li&gt;能夠下意識地調整自我形象，以為調整地形象就是個人的真我。&lt;/li&gt;&lt;/ul&gt;代表人物：&lt;a href="http://zh.wikipedia.org/wiki/%E6%AF%94%E5%B0%94%C2%B7%E5%85%8B%E6%9E%97%E9%A1%BF" style="color: rgb(86, 142, 69); text-decoration: none; "&gt;克林頓&lt;/a&gt;、&lt;a href="http://zh.wikipedia.org/wiki/%E5%9F%83%E7%88%BE%E7%B6%AD%E6%96%AF%C2%B7%E7%9A%AE%E7%A6%AE%E5%A3%AB%E5%88%A9" style="color: rgb(86, 142, 69); text-decoration: none; "&gt;貓王&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;資料來源：&lt;br /&gt;&lt;a href="http://www.potential.hk/jiuxingrenge.pdf" style="color: rgb(86, 142, 69); text-decoration: none; "&gt;http://www.potential.hk/jiuxingrenge.pdf&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.moways.com.sg/glcb_image/dsh/qxrg.pdf" style="color: rgb(86, 142, 69); text-decoration: none; "&gt;http://www.moways.com.sg/glcb_image/dsh/qxrg.pdf&lt;/a&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-8316105948109722175?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/8316105948109722175/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=8316105948109722175' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8316105948109722175'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8316105948109722175'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/09/9.html' title='我的9型人格'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-606610963966798351</id><published>2008-08-25T21:14:00.000-07:00</published><updated>2008-08-25T21:14:50.792-07:00</updated><title type='text'>跨国公司 领导人培养的经典案例 - 挂树上的蚂蚱 - gyqdf - 和讯博客</title><content type='html'>&lt;a href="http://gyqdf.blog.hexun.com/22234437_d.html"&gt;跨国公司 领导人培养的经典案例 - 挂树上的蚂蚱 - gyqdf - 和讯博客&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;摩托罗拉的领导力4E： &lt;/span&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;Envision前瞻，即要有远见与创新精神；&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;Execute执行，要迅速行动和实施，以结果为导向；&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;Energize激励，要能够激励自己和领导团队达到目标；&lt;/span&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-size:130%;"&gt;Edge果断，在复杂的情境中勇于决策，敢于冒险。&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-606610963966798351?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://gyqdf.blog.hexun.com/22234437_d.html' title='跨国公司 领导人培养的经典案例 - 挂树上的蚂蚱 - gyqdf - 和讯博客'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/606610963966798351/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=606610963966798351' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/606610963966798351'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/606610963966798351'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/08/gyqdf.html' title='跨国公司 领导人培养的经典案例 - 挂树上的蚂蚱 - gyqdf - 和讯博客'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7400752750760733046</id><published>2008-08-17T21:25:00.000-07:00</published><updated>2008-08-17T21:25:52.250-07:00</updated><title type='text'>成功者十三个价值连城的习惯-转自世界经理人社区</title><content type='html'>&lt;a href="http://stock.jrj.com.cn/invest/"&gt;转自世界经理人社区&lt;br /&gt;&lt;img src="/bbs/pic/url.gif" align="absmiddle" /&gt;&lt;/a&gt;&lt;a href="http://forum.ceconline.com/FORUM_POST_900001_900008_892142_0.HTM?sources=pose_20080811_my" target="_blank"&gt;http://forum.ceconline.com/FORUM_POST_900001_900008_892142_0.HTM?sources=pose_20080811_my&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;成功是一种习惯，失败也是一种习惯。你的习惯无法改变，但可以用好的习惯来替代。成功很简单，只要简单的事情重复做，养成习惯，如此而已。  以下是成功者十三个价值连城的习惯，我们称之为"百万元的习惯"。   &lt;p&gt;习惯一：成功者清楚地了解他做每一件事情的目的。 &lt;/p&gt; &lt;p&gt;成功者虽重视事情的结果，但更重视事情的目的，而目的的清楚则有助于他达到结果并且享受过程； &lt;/p&gt; &lt;p&gt;习惯二：成功者下决定迅速果断，之后若要改变决定，则慎思熟虑。 &lt;/p&gt; &lt;p&gt;一般人经常在下决定时优柔寡断，决定之后却有轻易更改；成功者之所以能迅速下决定，因为他十分清楚自己的价值层级和信念，了解事情的轻重缓急，因此能有系统的处理；  &lt;/p&gt; &lt;p&gt;习惯三：成功者具有极佳的倾听能力。 &lt;/p&gt; &lt;p&gt;倾听并非是去听对方说的话，而是去听对方话中的意思。倾听的技巧包括：一、倾听时不打断对方的谈话；二、把对方的话听完；三、即使不需要记录，你都可以听出来对方的意思；四、把所有的问题记在脑海，等对方说完后在一同发问。  &lt;/p&gt; &lt;p&gt;习惯四：成功者设定"当日计划"。 &lt;/p&gt; &lt;p&gt;成功者在前一天晚上或一早就会把当天要处理的事情全部列出来，并依照重要性分配时间。他管理事情而非管理时间。 &lt;/p&gt; &lt;p&gt;习惯五：写日记。  写日记的法则：一、保持弹性，重表达思想，而不用太多严格规则；二、持续；三、用来设计你的生命价值和中心思想；四、记录每件事情的差异化；五、记录特殊时刻及事件；六、解决问题；七、学习问更好的问题；八、在日记上写下自己的宣言；九、把每日写下的东西在月底复习；十、深刻自己的记忆和经验。  &lt;/p&gt; &lt;p&gt;习惯六：做喜欢的事。 &lt;/p&gt; &lt;p&gt;习惯七：勤于练习基本动作。 &lt;/p&gt; &lt;p&gt;习惯八：运用自我暗示的力量。 &lt;/p&gt; &lt;p&gt;自我暗示就是把目标用强烈语气不断念出声音，告诉自己，让潜意识无法分辨真假，因此相信它。 &lt;/p&gt; &lt;p&gt;习惯九：运用冥想的技巧。 &lt;/p&gt; &lt;p&gt;当你不断想象自己达成目标是情景，潜意识会引导身体作出那些效果。 &lt;/p&gt; &lt;p&gt;习惯十：保持体力或创造更多精力。 &lt;/p&gt; &lt;p&gt;习惯十一：成功者人生的目的通常超越自我，立志为大多数人贡献自己的力量。 &lt;/p&gt; &lt;p&gt;使命而非为金钱工作。 &lt;/p&gt; &lt;p&gt;习惯十二：成功者有系统。 &lt;/p&gt; &lt;p&gt;成功者都有一套方法来整理思想、行为，因此能不断实践在自己身上，并且教导别人。 &lt;/p&gt; &lt;p&gt;习惯十三：成功者找方法，失败者找理由。 &lt;/p&gt; &lt;p&gt;成功者愿意做失败者不愿意做的事情。 &lt;/p&gt; &lt;p&gt;如果你能断采取以上做法，进而养成习惯的话，这些习惯对你可能不只是百万元的价值，更可能带给你金钱和心中的富有&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7400752750760733046?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://stock.jrj.com.cn/invest/' title='成功者十三个价值连城的习惯-转自世界经理人社区'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7400752750760733046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7400752750760733046' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7400752750760733046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7400752750760733046'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/08/blog-post.html' title='成功者十三个价值连城的习惯-转自世界经理人社区'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-489374701322646045</id><published>2008-07-24T19:17:00.000-07:00</published><updated>2008-07-24T19:17:10.579-07:00</updated><title type='text'>checked their hats at the door - Google Search</title><content type='html'>&lt;a href="http://www.google.com/search?q=checked+their+hats+at+the+door&amp;amp;sourceid=navclient-ff&amp;amp;ie=UTF-8&amp;amp;rlz=1B3GGGL_enUS268US268"&gt;checked their hats at the door - Google Search&lt;/a&gt;: "They checked their coats, hats, gloves, and canes at the door (each of the gentlemen had one of each)."&lt;br /&gt;&lt;br /&gt;A good phrase to learn. :)     ~~~from my big boss :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-489374701322646045?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.google.com/search?q=checked+their+hats+at+the+door&amp;sourceid=navclient-ff&amp;ie=UTF-8&amp;rlz=1B3GGGL_enUS268US268' title='checked their hats at the door - Google Search'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/489374701322646045/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=489374701322646045' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/489374701322646045'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/489374701322646045'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/07/checked-their-hats-at-door-google.html' title='checked their hats at the door - Google Search'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2570130471431214974</id><published>2008-07-24T19:12:00.000-07:00</published><updated>2008-07-24T19:12:26.780-07:00</updated><title type='text'>InfoQ: Tasktop 1.2: Enhanced Time Tracking/Reporting and a New, Free Version</title><content type='html'>&lt;a href="http://www.infoq.com/news/2008/07/tasktop-12"&gt;InfoQ: Tasktop 1.2: Enhanced Time Tracking/Reporting and a New, Free Version&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Everything in Eclipse?&lt;br /&gt;&lt;br /&gt;Maybe someone would like it, but not to me .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2570130471431214974?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.infoq.com/news/2008/07/tasktop-12' title='InfoQ: Tasktop 1.2: Enhanced Time Tracking/Reporting and a New, Free Version'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2570130471431214974/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2570130471431214974' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2570130471431214974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2570130471431214974'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/07/infoq-tasktop-12-enhanced-time.html' title='InfoQ: Tasktop 1.2: Enhanced Time Tracking/Reporting and a New, Free Version'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-480524654130006227</id><published>2008-06-26T19:44:00.000-07:00</published><updated>2008-06-26T19:44:20.030-07:00</updated><title type='text'>Parleys.com</title><content type='html'>&lt;a href="http://parleys.libsyn.com/index.php?post_id=352193#"&gt;Parleys.com&lt;/a&gt;&lt;br /&gt;&lt;a set="yes" linkindex="2" class="postTitle" href="http://parleys.libsyn.com/index.php?post_id=352193"&gt;Leading Open Source Middleware in Action&lt;/a&gt;&lt;br /&gt;&lt;div class="postBody"&gt;&lt;p&gt;OW2 Members present and demonstrate leading OW2 projects working together to provide a full-featured open source information system.&lt;/p&gt;   &lt;p&gt;The conference covers a range of complementary middleware from OW2:&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Exo WebOS as the portal&lt;/li&gt;&lt;li&gt;XWiki as the extensible wiki&lt;/li&gt;&lt;li&gt;Bonita as the Workflow&lt;/li&gt;&lt;li&gt;JOnAS as the application server&lt;/li&gt;&lt;li&gt;SpagoBI as the Business Intelligence platform&lt;/li&gt;&lt;li&gt;Talend as the Data Integration platform&lt;/li&gt;&lt;li&gt;PEtALS as ESB and Service infrastructure platform&lt;/li&gt;&lt;li&gt;Orchestra as BPEL orchestration engine&lt;/li&gt;&lt;li&gt;Spagic as enterprise monitoring platform&lt;/li&gt;&lt;/ul&gt; &lt;/div&gt;&lt;br /&gt;Very good audio to hear.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-480524654130006227?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://parleys.libsyn.com/index.php?post_id=352193#' title='Parleys.com'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/480524654130006227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=480524654130006227' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/480524654130006227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/480524654130006227'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/06/parleyscom.html' title='Parleys.com'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-5112653093739006488</id><published>2008-05-21T09:09:00.000-07:00</published><updated>2009-02-04T01:14:11.584-08:00</updated><title type='text'></title><content type='html'>&lt;h1 id="dufs0"&gt;ZK Roadmap 2008&lt;/h1&gt;  &lt;p id="dufs1"&gt;First of all, I'd like to thank all of you for your continuous enthusiasm about ZK. 	Without your support, ZK won't be able to accomplish the wonderful achievements ever. 	Only within two years, ZK has accumulated over half a million downloads. 	The list of customers, ranging from small to Fortune 500 companies, is growing fast. 	The deployment of ZK is moving from pioneer projects to 	the de facto standard for rich Internet applications in 	many companies. &lt;/p&gt; &lt;p id="dufs2"&gt;    首先，我要感谢所有对ZK一直满怀热忱的你们。没有你们的支持，ZK不可能取得到今天为止如此令人惊奇的成就。仅仅两年间，ZK已经累计有超过50万以上的下载了。我们的用户列表中，从小公司到财富500强企业，一直在快速地增加。在很多公司中，ZK的部署也从一些是实验性项目转变成实际的RIA（Rich Internet Application）标准。&lt;/p&gt;&lt;p id="dufs2"&gt;The most important of all is that tens of thousands 	developers are enjoying the power of "Simply Rich." 	Developing a rich Internet application can be and shall be easier than  	developing a desktop application. 	ZK is not yet another Ajax framework. 	Rather, a new generation of Web application development.&lt;/p&gt;&lt;p id="dufs2"&gt;    在所有这一切中最重要的是，成千上万的开发人员正在享受着“Simple Rich”的强大能量。开发一个RIA可以被、也应该比开发一个桌面应用更为简单。ZK仍然不是一个新的Ajax框架。而是Web应用开发的新一代。&lt;br id="tnkh0"&gt; &lt;/p&gt; &lt;p id="dufs3"&gt;It is our driving force to carry ZK to a higher level. Here I'd like to share the new development of ZK in 2008 with you. Your feedback is highly appreciated.&lt;/p&gt;这是我们的力量使得ZK得以走得更远。在这里我给大家分享一下ZK在2008年新的开发计划。深切期待您的反馈。&lt;br id="op0t0"&gt;&lt;br id="op0t1"&gt;&lt;p id="dufs3"&gt;&lt;br id="cspf0"&gt; &lt;/p&gt;   &lt;h2 id="dufs4"&gt;Simple&lt;/h2&gt;&lt;h2 id="ny8f0"&gt;简单&lt;/h2&gt;&lt;br id="lulj1"&gt;  &lt;p id="dufs5"&gt;Year 2007 was a busy year for us to deliver new concepts to 	simplify the Ajax application development, such as 	fulfill on demand, event forwarding and MVC by composer. 	In 2008, we will emphasize more on providing more documents 	and better integration with the development tools.&lt;/p&gt;&lt;p id="dufs5"&gt;2007年对我们来说是一个繁忙的一年，我们提出了一个简化Ajax应用开发的新概念，例如完成按需情况、事件传递以及通过调节器（Composer）实现的MVC。在2008年，我们将会更多地强调提供更多的文档，以及与开发工具更好地继承。&lt;br id="ny8f1"&gt;&lt;/p&gt;  &lt;blockquote id="dufs6"&gt; 	&lt;h3 id="dufs7"&gt;Documentation&lt;/h3&gt;&lt;h3 id="tfft0"&gt;文档&lt;/h3&gt;&lt;br id="tfft1"&gt; 	&lt;p id="dufs8"&gt; 		The long-awaiting Style Reference Guide and Component Development Guide 		will be published in 2008. 		Style Reference Guide will demostrate how to customize the look and feel 		for each component with pure CSS. 		Component Development Guide will describe how to implement a component 		either from scratch or by wrapping a third-party widget.&lt;/p&gt;&lt;p id="dufs8"&gt;等待已久的风格参考指南和组件开发指南将会在2008年发布。风格参考指南将会示范如何通过纯粹的CSS为每个组件客户化其外观（Look and feel）。组件开发指南将会描述从零开始、或者从封装第三方widget的方式实现一个组件。&lt;br id="tfft2"&gt; 	&lt;/p&gt; 	&lt;p id="dufs9"&gt;In addition, we will keep exploring new concepts and new ways to apply 		features through small talks. For example, many of application-specific 		features can be done by use of annotations, such as multilingual 		and Web service integration.&lt;/p&gt;&lt;p id="dufs9"&gt;另外，我们将继续探索新的概念和方式，通过小型的对话来应用功能特性。例如，许多应用特有的功能可以通过使用注解（Annotation）来完成，例如多语言的和web service集成。&lt;br id="v5vk0"&gt; 	&lt;/p&gt;  	&lt;h3 id="dufs10"&gt;Development Tools&lt;/h3&gt;&lt;h3 id="y6qy0"&gt;开发工具&lt;/h3&gt;&lt;br id="y6qy1"&gt; 	&lt;p id="dufs11"&gt; 		Cooperating with the third parties is still our main approach to provide 		the better integration with the development tools. 		For example, &lt;a id="dufs12" href="http://sourceforge.net/projects/rem1/"&gt;REM&lt;/a&gt; for 		&lt;a id="dufs13" href="http://www.netbeans.org/"&gt;NetBeans&lt;/a&gt;, and 		&lt;a id="dufs14" href="http://sourceforge.net/projects/zerokode/"&gt;Zero Kode&lt;/a&gt;, 		&lt;a id="dufs15" href="http://www.ir-team.com/index.php/zk-bench"&gt;zk-bench&lt;/a&gt;, and 		&lt;a id="dufs16" href="http://ezingbuilder.sourceforge.net/"&gt;eZing Builder&lt;/a&gt; 		for &lt;a id="dufs17" href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;.&lt;/p&gt;&lt;p id="dufs11"&gt;与第三方合作，仍然是我们提供与开发工具更好地集成的主要方法。例如，针对NetBeans的REM，以及针对Eclipse的Zero Kode，zk-bench和eZing Builder。&lt;br id="y6qy2"&gt; 	&lt;/p&gt; 	&lt;p id="dufs18"&gt; 		In 2008, we are going to take a step further. First, we will provide 		an Eclipse plugin to simplify the creation of ZK applications and 		ZUML files, and to provide better integration with Zero Kode. 		Many of them shall be done with no more than a few mouse clicks.&lt;/p&gt;&lt;p id="dufs18"&gt;在2008年，我们打算走得更远。首先，我们将会提供一个Eclipse插件，用来简化ZK应用以及ZUML文件的创建，同时提供与Zero Kode更好的集成。很多的这类操作将会通过不多的几次鼠标点击就能完成。&lt;br id="aw4p0"&gt; 	&lt;/p&gt; 	&lt;p id="dufs19"&gt; 		Second, we will explore the possibility of translating UML into ZUML 		automatically by providing a plugin for, say, 		&lt;a id="dufs20" href="http://uml.sourceforge.net/"&gt;Umbrello UML Modeller&lt;/a&gt; 		and/or 		&lt;a id="dufs21" href="http://www.ibm.com/software/rational"&gt;Rational Rose&lt;/a&gt;.&lt;/p&gt;&lt;p id="dufs19"&gt;其次，我们将会探索通过提供一个插件，类似于Umbrello UML Modeller和/或Rational Rose，将UML自动转换成ZUML。&lt;br id="j6ef0"&gt; 	&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2 id="dufs22"&gt;Rich&lt;/h2&gt;&lt;h2 id="i-d00"&gt;丰富&lt;/h2&gt;&lt;br id="yn8o1"&gt;  &lt;p id="dufs23"&gt;ZK is one of the most complete frameworks delivering versatile rich 	user experiences. 	But, we don't stop, and instead, we will keep providing 	more components and more richness, 	The most notables are ZK Spreadsheet, 	more third-party components, and &lt;a id="dufs24" href="http://www.zkoss.org/zk508/"&gt;508&lt;/a&gt; compliance.&lt;/p&gt;&lt;p id="dufs23"&gt;ZK是能够提供多元化的丰富用户体验的最完整框架的一员。但是，我们不会止步不前，反之，我们会持续地提供更多的组件以及更丰富、最显著的ZK电子表格，更多第三方组件，以及对修复法案508（&lt;span id="q7460" style="color: rgb(0, 0, 0);"&gt;译者注：在 1998 年，美国政府通过了  Section 508 of the Rehabilitation Act，要求联邦机构的电子信息对于残疾人是可访问的。这一法案提供了软件应用 程序、Web 应用程序以及电信产品和视频产品的可访问性准则。不仅要求联邦机构实施可访问性准则，而且还要求签约为联邦政府工作的私人公司也要做到这一 点&lt;/span&gt;）的支持。&lt;br id="g6lm0"&gt; &lt;/p&gt;  &lt;blockquote id="dufs25"&gt; 	&lt;h3 id="dufs26"&gt;ZK Spreadsheet&lt;/h3&gt;&lt;h3 id="rkd70"&gt;ZK电子表格&lt;/h3&gt;&lt;br id="rg820"&gt; 	&lt;p id="dufs27"&gt; 		ZK Spreadsheet is one of the most important development in 2008. 		Unlike Microsoft Excel, it is Web-based. 		Unlike Google Spreadsheets, 		it has a neat and powerful Java API 		that is 100% controllable and customizable. You can embed any number 		of	ZK spreadsheets into your Web page(s). 		Best of all, it is open source.&lt;/p&gt;&lt;p id="dufs27"&gt;ZK 电子表格在2008年是最重要的开发内容之一。不像微软的Excel，它是基于web的。不像Google的电子表格，它有一个简洁而强大的Java API，100%可控并可客户化。你可以在你的网页中嵌入任意数量的ZK电子表格。而最美好之处就是，它是开源的。&lt;br id="rg821"&gt; 	&lt;/p&gt;  	&lt;h3 id="dufs28"&gt;Third-party Components&lt;/h3&gt;&lt;h3 id="dn2.0"&gt;第三方组件&lt;/h3&gt;&lt;br id="rkd72"&gt; 	&lt;p id="dufs29"&gt; 		In 2008, we will keep cooperating with contributors to integrate more components from third 		parties, such as &lt;a id="dufs30" href="http://extjs.com/"&gt;Ext-JS&lt;/a&gt;, &lt;a id="dufs31" href="http://codepress.org/"&gt;Codepress&lt;/a&gt;, 		and &lt;a id="dufs32" href="http://simile.mit.edu/"&gt;SMILE&lt;/a&gt;.&lt;/p&gt;&lt;p id="dufs29"&gt;在2008年，我们将与贡献者们一起，从例如Ext-JS，Codepress和SMILE这些第三方那里，集成更多的组件。&lt;br id="dn2.1"&gt; 	&lt;/p&gt;  	&lt;h3 id="dufs33"&gt;508 Compliance&lt;/h3&gt;符合508法案&lt;br id="xnha0"&gt;&lt;br id="xnha1"&gt; 	&lt;p id="dufs34"&gt; 		We had some progress in 508 compliance in 2007. 		However, it's still a long way to go. 		We will keep improving the accessibility of ZK in 2008.&lt;/p&gt;&lt;p id="dufs34"&gt;我们在2007年已经在符合508法案上有了一些进展。然而，我们还有很长一段路要走。在2008年我们仍将持续改善ZK的易访问性。&lt;br id="y2y00"&gt; 	&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2 id="dufs35"&gt;Extensible&lt;/h2&gt;&lt;h2 id="ocig0"&gt;可扩展的&lt;/h2&gt;&lt;br id="ocig1"&gt;  &lt;p id="dufs36"&gt; 	To work better with existent applications, to integrate seamlessly with other frameworks 	and to reach more devices, 	we introduced ZK JSP Tags, ZK JSF Components, ZK Seam, ZK Seasar, native namespaces, 	XML output, pluggable script interpreters, pluggable expression evaluators, 	and ZK Mobile in 2007.&lt;/p&gt;&lt;p id="dufs36"&gt;为了更好地与现有应用一起使用，为了集成与其他框架的无缝结合并能够支持更多的设备，在2007年里，我们引入了ZK JSP Tags，ZK JSF组件，ZK Seam，ZK Seasar，native namespaces，XML输出，可插入脚本拦截器，可插入表达式计算程序以及ZK Mobile。&lt;br id="mdla0"&gt; &lt;/p&gt; &lt;p id="dufs37"&gt; 	In 2008, we will keep delivering updates to these extensions, and explore 	the best practice to work with them. 	In addition, we will keep on enabling your ZK applications 	to reach as many and various clients as possible.&lt;/p&gt;&lt;p id="dufs37"&gt;在2008年，我们将继续对这些扩展做进一步的更新，同时探索能够更好地与它们一起使用的最佳实践。另外，我们将会继续继续努力使ZK应用能够用到尽可能多的各种客户端上。&lt;br id="k71w0"&gt; &lt;/p&gt;  &lt;blockquote id="dufs38"&gt; 	&lt;h3 id="dufs39"&gt;Flash, AIR and Android&lt;/h3&gt; 	&lt;p id="dufs40"&gt; 		Like ZK Mobile, we will keep pushing your ZK applications 		to reach as many and versatile clients as possible, such as 	&lt;a id="dufs41" href="http://www.adobe.com/products/flash/"&gt;Flash player&lt;/a&gt;, 	&lt;a id="dufs42" href="http://www.adobe.com/products/air/"&gt;AIR&lt;/a&gt; and &lt;a id="dufs43" href="http://www.openhandsetalliance.com/"&gt;Android&lt;/a&gt;. 		In addition, we'd like to explore the possibility of using, say, 		&lt;a id="dufs44" href="http://www.adobe.com/products/flash/"&gt;Flash CS3&lt;/a&gt; 		to design a ZK page. 		It is interesting to see the chemistry that can be achieved 		by combining the simplicity of 		ZK's server-centric architecture 		with the versatile functionality of rich clients.&lt;/p&gt;&lt;p id="dufs40"&gt;类似于ZK Mobile，我们将会继续使你的ZK应用能尽可能多地用在各种客户端里，例如Flash播放器，AIR和Android。另外，我们还想探索使用例如Flash CS3这类工具来设计ZK页面的可能性。能够看到联合ZK以server为中心的架构的简单性和富客户端的多样性之后产生的效果，这一定是件非常有趣的事。&lt;br id="ii1t0"&gt; 	&lt;/p&gt;  	&lt;h3 id="dufs45"&gt;Integration with Other Frameworks&lt;/h3&gt;&lt;h3 id="ol100"&gt;与其他框架的集成&lt;/h3&gt;&lt;br id="ol101"&gt; 	&lt;p id="dufs46"&gt; 		We will upgrade the support of JSF from 1.1 to 1.2, and Seam from 1.2 to 2.0. 		We will also provide more utilities for variant frameworks, such 		as &lt;a id="dufs47" href="http://java.sun.com/javaee/overview/faq/persistence.jsp"&gt;JPA&lt;/a&gt;, 		BMP, and Web services.&lt;/p&gt;&lt;p id="dufs46"&gt;我们将对JSF的支持从1.1升级到1.2，对Seam的支持从1.2到2.0。我们还将对不同框架，例如JPA，BMP以及Web服务等，提供更多的工具。&lt;br id="ol102"&gt; 	&lt;/p&gt;  	&lt;h3 id="dufs48"&gt;Scripting Languages&lt;/h3&gt;&lt;h3 id="pum90"&gt;脚本语言&lt;/h3&gt;&lt;br id="pum91"&gt; 	&lt;p id="dufs49"&gt; 		With the help of contributors, ZK has supported the most mainstream scripting language: 		&lt;a id="dufs50" href="http://www.beanshell.org/"&gt;Java (BeanShell)&lt;/a&gt;, &lt;a id="dufs51" href="http://www.mozilla.org/rhino"&gt;JavaScript (Rhino)&lt;/a&gt;, 		&lt;a id="dufs52" href="http://jruby.codehaus.org/"&gt;Ruby (JRuby)&lt;/a&gt;, &lt;a id="dufs53" href="http://groovy.codehaus.org/"&gt;Groovy (and Grails)&lt;/a&gt;, 		and &lt;a id="dufs54" href="http://www.jython.org/"&gt;Python (Jython)&lt;/a&gt; in 2007.&lt;/p&gt;&lt;p id="dufs49"&gt;通过贡献者的努力，在2007年ZK已经支持了最主流的脚步语言：&lt;a id="dufs50" href="http://www.beanshell.org/"&gt;Java (BeanShell)&lt;/a&gt;, &lt;a id="dufs51" href="http://www.mozilla.org/rhino"&gt;JavaScript (Rhino)&lt;/a&gt;, 		&lt;a id="dufs52" href="http://jruby.codehaus.org/"&gt;Ruby (JRuby)&lt;/a&gt;, &lt;a id="dufs53" href="http://groovy.codehaus.org/"&gt;Groovy (and Grails)&lt;/a&gt;, 		以及 &lt;a id="dufs54" href="http://www.jython.org/"&gt;Python (Jython)&lt;/a&gt;。 	&lt;/p&gt; 	&lt;p id="dufs55"&gt;In 2008, we'd like to explore the best practice to use ZK with 		the scripting languages 		-- particularly, how to boost the productivity of developing 		a rich Internet application with a dynamic programming language.&lt;/p&gt;&lt;p id="dufs55"&gt;在2008年，我们希望能探索出一些ZK与脚本语言一起使用的最佳实践 -- 特别是，如何采用一种动态编程语言一起，提升开发RIA的生产力。&lt;br id="k4050"&gt; 	&lt;/p&gt; &lt;/blockquote&gt;  &lt;h2 id="dufs56"&gt;Community&lt;/h2&gt;&lt;h3 id="zp1z0"&gt;社区&lt;/h3&gt;&lt;br id="zp1z1"&gt;  &lt;p id="dufs57"&gt;An open-source community is all about collaboration. ZK started with a superior 	architecture that is easy to extend, and with a friendly community who loves to share. 	We saw a lot of collaboration among the ZK community, such as contributing codes, 	translating messages, submitting articles, suggesting features, reporting bugs, 	and answering questions in 2007. 	In 2008, we will enhance the website to encourage collaboration further. 	For example, the forum will be renewed with ZK Forum.&lt;/p&gt;&lt;p id="dufs57"&gt;对于一个开源社区来说，所有的一切都是关于协作。ZK以一个易于扩展的、优越的架构，和一个友好的、大家喜欢分享的社区开始。在2007年里，我们在ZK社区中看到了很多的协作，例如贡献代码，翻译信息，提交文章，建议功能特性，报告bugs，以及回答问题。在2008年，我们会改善我们的网站，鼓励更进一步的协作。例如，论坛将会使用ZK Forum更新。&lt;br id="zp1z2"&gt; &lt;/p&gt;  &lt;div id="dufs58" style="padding-top: 10pt;"&gt; Wish you a prosperous 2008 and enjoy &lt;i id="dufs59"&gt;"Simply Rich"&lt;/i&gt; of ZK!&lt;br id="wr8y0"&gt;祝愿你又一个顺利的2008，同时能够尽兴于Zk的“Simple Rick”中。&lt;br id="wr8y1"&gt; &lt;/div&gt;  &lt;div id="dufs60" style="padding-top: 20pt; padding-bottom: 20pt;"&gt;Yours Sincerely,&lt;br id="e.-n0"&gt;顺颂商祺！&lt;br id="dufs61"&gt; &lt;br id="dufs62"&gt; Tom M. Yeh&lt;br id="dufs63"&gt; Founder, ZK&lt;br id="e.-n1"&gt;ZK创始人&lt;br id="e.-n2"&gt;&lt;/div&gt;  &lt;p id="dufs64" style="font-size: 80%;"&gt;Disclaimer: This roadmap is for information only and represents current view of ZK product direction. None of the information should be interpreted as a commitment on the part of Potix Corporation. POTIX MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS DOCUMENT. &lt;br id="c3_s0"&gt;&lt;/p&gt;&lt;p id="dufs64" style="font-size: 80%;"&gt;声明：这个roadmap只代表了当前ZK产品方向提供一些信息。这些信息并不应该被理解为这将会是Potix公司的承诺。POTIX在这份文档里没有做出任何的明确的或隐含的保证。&lt;br id="c3_s1"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-5112653093739006488?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/5112653093739006488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=5112653093739006488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5112653093739006488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5112653093739006488'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/05/zk-roadmap-2008-first-of-all-id-like-to.html' title=''/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7394696999778563320</id><published>2008-05-05T09:06:00.001-07:00</published><updated>2008-05-05T09:22:32.160-07:00</updated><title type='text'>Ajax framework ZK series for Chinese developers</title><content type='html'>Recently I have some chances to use Ajax in my project, I will use this chance to translate some articles of ZK framework to Chinese and publish to my Chinese Blog&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7394696999778563320?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7394696999778563320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7394696999778563320' title='19 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7394696999778563320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7394696999778563320'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/05/ajax-framework-zk-series-for-chinese.html' title='Ajax framework ZK series for Chinese developers'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>19</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-75242722962330593</id><published>2008-05-05T09:06:00.000-07:00</published><updated>2008-05-05T09:06:30.307-07:00</updated><title type='text'>ZK Architecture Overview/ZK架构一览</title><content type='html'>&lt;a href="http://www.zkoss.org/doc/architecture.dsp"&gt;ZK Architecture Overview Chinese Edition&lt;/a&gt;&lt;br /&gt;&lt;h1&gt;Architecture Overview&lt;/h1&gt;ZK架构一览&lt;br /&gt;&lt;br /&gt;  &lt;h2&gt;Prefix&lt;/h2&gt;前言&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Over a decade of evolution, Web applications evolved from static HTML pages, to Dynamic HTML pages, to applets and Flash, and, finally, to Ajax technologies.&lt;/p&gt;&lt;p&gt;经过这十几年的发展演变，Web应用从静态的HTML页面演化成动态HTML页面，然后是Applet和Flash，最终到了Ajax技术。&lt;br /&gt;&lt;/p&gt;  &lt;blockquote&gt; &lt;h3&gt;Challenges in Ajax&lt;/h3&gt;Ajax面临的挑战&lt;br /&gt;&lt;br /&gt;&lt;p&gt; When providing the interactivity to fulfill user’s demand, Ajax increases the complexities of applications and skill prerequisites to the already costly development of Web applications.&lt;/p&gt;&lt;p&gt;在满足用户需求而提供的交互性活动时，Ajax增加了应用的复杂度和本就费用高昂的web应用开发所必需的技能。&lt;br /&gt;&lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Incompatible and buggy JavaScript API among different browsers&lt;/li&gt;&lt;li&gt;在不同浏览器间不可共存且容易产生bug的Javascript API&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Maintenance overhead to replicate business logic at the client, particular in a different programming language.&lt;/li&gt;&lt;li&gt;对于用户来说重复业务逻辑产生的维护开销，尤其是在不同的编程语言情况下&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Danger of exposition of application data model and business logic to the client&lt;/li&gt;&lt;li&gt;经应用数据模型和业务逻辑暴露给用户的危险&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Communication headache to maintain data consistency between the client and the server asynchronously&lt;/li&gt;&lt;li&gt;令人头疼的使客户端和服务器端保持一致的异步通信。&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;   &lt;h3&gt;Current Solutions&lt;/h3&gt;当前解决方案&lt;br /&gt;&lt;br /&gt;&lt;p&gt;In order to deliver a manageable Ajax solution, many frameworks or libraries have been developed.  The most straight forward way is to provide ready-to-use JavaScript components. However, application developers have to manipulate these components, glue them with business logic at the client, and develop an application-specific way to exchange data with the server dynamically.&lt;/p&gt;&lt;p&gt;为了提供一个可管理的Ajax解决方案，目前已经有许多的框架或者类库。最直接的方式是提供立即可用的Javascript控件。然而，应用程序开发人员必须生成这些控件，在客户端中加入业务逻辑，并且开发一个应用特定的方式来与服务器端交互数据。&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;In short, only the first one of above challenges was addressed. The rest of challenges, more or less, remain the hassles of application developers. Is it intrinsic to the development of Web applications? Or the traditional Web application programming model is simply inadequate?&lt;/p&gt;&lt;p&gt;简而言之，这里只解决了前面提到过的Ajax面临的挑战中的第一个。其他的挑战，或多或少还是会继续不断地骚扰我们的应用开发人员。难道这就是Web应用程序开发的本质么？或者只是传统的Web应用编程模型已经不适用了呢?&lt;br /&gt;&lt;/p&gt;  &lt;/blockquote&gt;   &lt;h3&gt;ZK Architecture&lt;/h3&gt;ZK架构&lt;br /&gt;&lt;br /&gt; &lt;p&gt;In response to these challenges, ZK delivers the intuitive desktop programming model to Web applications with event-driven, component-based, and server-centric architecture. In addition, ZK provides the modern development of UI technologies, such markup languages to design UI without programming, scripting languages to change applications on fly, annotations and data-binding to access databases and Web services without programming.&lt;/p&gt;&lt;p&gt;为了解决这些挑战，ZK给Web应用提供了桌面应用编程模型天生就具备的事件驱动、基于组件以及以服务器为中心的架构。此外，ZK提供了当前流行的UI开发技术，例如通过标志语言而不是编程来设计UI，通过脚本语言动态地改变应用，不需要编程就可以访问数据库和Web服务的注解和数据绑定。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;  &lt;img src="http://www.zkoss.org/doc/architecture1.png" /&gt;  &lt;/p&gt;&lt;p&gt;As depicted above, ZK is composed of Client Engine running at the browser, and the Update Engine at the server. They act as pitcher and catcher. They work together to deliver events happening in the browser to the application running at the server, and update the DOM tree at the browser based on how components are manipulated by the application at the server.&lt;/p&gt;&lt;p&gt;正如上图所描述的，ZK是由运行在浏览器上的客户端引擎组成的，而更新引擎则位于服务端。他们就像是棒球里的投手和捕手。他们一起配合，将浏览器上发生的事件提交给运行在服务器端的应用，同时根据如何在服务器端生成组件的方式，来更新浏览器的DOM树。&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;At the heart, all your application codes are running at the server. Whatever events triggered by users are automatically sent to your application running at the server. Whatever you alter components running at the server are automatically updated to the visual representation at the browser. The browser is only a presentation layer of applications, no data model, neither business logic should be exposed on it.&lt;/p&gt;&lt;p&gt;作为核心，所有的应用代码都运行在服务器端。任何时候被用户出发的时间都会被自动地发送到运行在服务器端的应用程序。在服务器端的组件发生的任何改变，都以可视化的方式显示在浏览器上。浏览器只是应用的表现层，没有数据模型，也没有业务逻辑会被暴露出来。&lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Since the application is running at the server, it could access the backend resources directly, such as databases and Web services. There is no communication hassle or security concern to access them across the Internet.&lt;/p&gt;&lt;p&gt;因为应用程序是运行在服务器端，所以它可以直接地访问后端的资源，例如数据库或者Web服务。在Internet上访问它们时毫无通信上的麻烦和安全隐患。&lt;br /&gt;&lt;/p&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;&lt;i&gt;The best way to use Ajax is not to know its existence.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;在不知道其存在的时候，&lt;/i&gt;&lt;i&gt;才使用Ajax最好的方式&lt;/i&gt;&lt;i&gt;。&lt;br /&gt;&lt;/i&gt;&lt;/p&gt;  &lt;blockquote&gt; &lt;h3&gt;Execution Flow&lt;/h3&gt;执行流程&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ZK Client engine sits at the browser to detect any event triggered by user's activity such as moving mouse or changing a value. Once detected, it notifies Update Engine.&lt;/li&gt;&lt;li&gt;ZK客户端引用位于浏览器中，用于查探任何有用户活动驱动的事件，例如鼠标的移动或者修改了某个值。一旦探测到事件，它便会通知ZK更新引擎。&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Upon receiving the request from Client Engine, Update Engine updates the content of corresponding component, if necessary. And then, Update Engine notifies the application by invoking the event handlers, if any.&lt;/li&gt;&lt;li&gt;从客户端引擎接收到请求后，如果必要，ZK更新引擎便会更新对应组件的内容。然后，如果有事件处理器，更新引擎就会通过他们来通知应用。&lt;br /&gt;&lt;/li&gt;&lt;li&gt;If the application chooses to change content of components, remove, add or move components, Update Engine sends the new content of altered components to Client Engine. Then, Client Engine updates the DOM tree accordingly.&lt;/li&gt;&lt;li&gt;如果应用选择改变组件的内容，删除、增加或者移动了组件，更新引擎将会发送新的、改变了的组件到客户端引擎上。然后，客户端引擎便会相应地更新DOM树。&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;div style="border: 1px inset ; margin: 5px; padding: 5px 10px 20px 0pt;"&gt; &lt;strong&gt;Note:&lt;br /&gt;注意：&lt;br /&gt;&lt;/strong&gt; &lt;ul&gt;&lt;li&gt;To minimize the traffic between the client and the server, multiple events are sent back to the server at once if they are deferrable.&lt;/li&gt;&lt;li&gt;为了减少客户端和服务器端的访问，如果事件可以延时，那么会把多个时间发送回服务器端。&lt;br /&gt;&lt;/li&gt;&lt;li&gt;To maximize the visual effect and responsiveness, ZK provides the so-called Client Side Action that you can execute, though optional, your own JavaScript codes at the client.&lt;/li&gt;&lt;li&gt;为了最大化视觉效果和响应能力，ZK提供了一个所谓的客户端动作，让你可以（可选的）在客户端执行你拥有的Javascript代码。&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;  &lt;/div&gt;  &lt;/blockquote&gt;      &lt;div style="text-align: right; padding-right: 10px; margin-top: 30px;"&gt;  &lt;a set="yes" linkindex="8" href="http://sourceforge.net/projects/zk1" onclick="urchinTracker('/sf/logo')" title="SourceForge.net"&gt;&lt;img src="http://sourceforge.net/sflogo.php?group_id=152762&amp;amp;type=1" alt="SourceForge.net" border="0" height="31" width="88" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-75242722962330593?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.zkoss.org/doc/architecture.dsp' title='ZK Architecture Overview/ZK架构一览'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/75242722962330593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=75242722962330593' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/75242722962330593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/75242722962330593'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/05/zk-architecture-overviewzk.html' title='ZK Architecture Overview/ZK架构一览'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6350850501949033029</id><published>2008-04-24T22:33:00.000-07:00</published><updated>2009-02-04T01:14:11.615-08:00</updated><title type='text'></title><content type='html'>&lt;h1 id="l:gk"&gt;An easy way to generate the LaTex style document&lt;/h1&gt;&lt;br id="d1ra"&gt;&lt;br id="mjhf"&gt;Introduce&lt;br id="f5jr"&gt;&lt;a title="LaTex" href="http://www.latex-project.org/" id="yf2k"&gt;LaTex&lt;/a&gt; is a famous documentation preparation system. You can easily generate the user friendly user interface for your documents. You can easily navigate in LaTex generated document. &lt;br id="ytyu"&gt;&lt;br id="d17i"&gt;Here is a helloworld introduction for LaTex from LaTex project homepage: &lt;a title="LaTex Introduction" href="http://www.latex-project.org/intro.html" id="ddgs"&gt;LaTex Introduction&lt;/a&gt;.&lt;br id="urg:"&gt;&lt;br id="fh_m"&gt;Here I just want to provide a easy and WYSIWYG way to generate HTML document.&lt;br id="vm.l"&gt;&lt;br id="gwco"&gt;Just follow these steps:&lt;br id="ljhw"&gt;&lt;ul id="eef:"&gt;&lt;li id="wa3w"&gt;Install openoffice-org, latex, latex2html on your linux system &lt;/li&gt;&lt;li id="axd0"&gt;Use openoffice-org writer to open your gati-tutorial.doc &lt;/li&gt;&lt;li id="p219"&gt;Export it to latex format file &lt;/li&gt;&lt;li id="ry33"&gt;use latex2html to generate the html style document&lt;/li&gt;&lt;/ul&gt;&lt;br id="kl6s"&gt;Cheers&lt;br id="zk-p"&gt;&lt;br id="ihdx"&gt;- Jimmy Zhao&lt;br id="gry2"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6350850501949033029?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6350850501949033029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6350850501949033029' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6350850501949033029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6350850501949033029'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/04/easy-way-to-generate-latex-style.html' title=''/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7891485540406699131</id><published>2008-04-12T14:11:00.000-07:00</published><updated>2008-04-12T14:12:13.818-07:00</updated><title type='text'>Photos from Apache Conference Europe 2008</title><content type='html'>&lt;embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" flashvars="host=picasaweb.google.com&amp;amp;captions=1&amp;amp;RGB=0x000000&amp;amp;feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fjunmingzhao%2Falbumid%2F5188448064937514433%3Fkind%3Dphoto%26alt%3Drss" pluginspage="http://www.macromedia.com/go/getflashplayer" height="267" width="400"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7891485540406699131?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7891485540406699131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7891485540406699131' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7891485540406699131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7891485540406699131'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/04/photos-from-apache-conference-europe.html' title='Photos from Apache Conference Europe 2008'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1289096070871938740</id><published>2008-04-11T13:45:00.000-07:00</published><updated>2008-04-11T13:45:18.121-07:00</updated><title type='text'>ApacheConEu08PresentationSlides - Apachecon Wiki</title><content type='html'>&lt;a href="http://wiki.apache.org/apachecon/ApacheConEu08PresentationSlides"&gt;ApacheConEu08PresentationSlides Posted to Wiki&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For those people who want to get them easier, please click on links below (You would probably need to register on slideshare website to access some of the slides):&lt;br /&gt;&lt;h1 id="title"&gt;&lt;a set="yes" linkindex="9" title="Click to do a full-text search for this title" href="http://wiki.apache.org/apachecon/ApacheConEu08PresentationSlides?action=fullsearch&amp;amp;value=linkto%3A%22ApacheConEu08PresentationSlides%22&amp;amp;context=180"&gt;ApacheConEu08PresentationSlides&lt;/a&gt;&lt;/h1&gt; &lt;div id="content" dir="ltr" lang="en"&gt;  &lt;hr /&gt; &lt;p&gt; &lt;em&gt;&lt;strong&gt;Instructions for Presenters&lt;/strong&gt;&lt;/em&gt; &lt;/p&gt; &lt;p&gt;Please either upload your presentation slides to this page, or link your presentation slides to this page. To edit this wiki, you need to have an &lt;a linkindex="10" class="external" rel="nofollow" href="http://wiki.apache.org/apachecon/UserPreferences"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; account&lt;/a&gt;.  You are also encouraged to upload your slides to &lt;a linkindex="11" class="external" rel="nofollow" href="http://www.slideshare.net/"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; SlideShare&lt;/a&gt;.  &lt;a linkindex="12" class="nonexistent" href="http://wiki.apache.org/apachecon/SlideShare"&gt;SlideShare&lt;/a&gt; slides should be tagged with &lt;em&gt;apacheconeu2008&lt;/em&gt; and &lt;em&gt;apachecon&lt;/em&gt;.  For questions, email the &lt;a linkindex="13" class="nonexistent" href="http://wiki.apache.org/apachecon/ConCom"&gt;ConCom&lt;/a&gt; planners (or find one of us at the conference.) &lt;/p&gt; &lt;hr /&gt; &lt;p&gt; &lt;/p&gt;  &lt;h3 id="head-904b9054d018ca4339e2e445bab41a4cc8888584"&gt;Training Sessions&lt;/h3&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a set="yes" linkindex="14" class="external" rel="nofollow" href="http://people.apache.org/%7Erbowen/presentations/ApacheConEU2008/apache-cookbook.pdf"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Apache Cookbook&lt;/a&gt; by Rich Bowen &lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt; &lt;a set="yes" linkindex="14" class="external" rel="nofollow" href="http://people.apache.org/%7Erbowen/presentations/ApacheConEU2008/mod_rewrite-cookbook.pdf"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; mod_rewrite Cookbook&lt;/a&gt; by Rich Bowen &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;h3 id="head-14ee9c9df717421b9035e1ae8d35324aa3fc53aa"&gt;Wednesday, 9 April 2008&lt;/h3&gt;   &lt;h4 id="head-b3eff9945c1d442a553236e81b790b47e62b4e34"&gt;System Administration Track&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a linkindex="14" class="external" rel="nofollow" href="http://people.apache.org/%7Erbowen/presentations/ApacheConEU2008/mod_rewrite.pdf"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Introduction to mod_rewrite&lt;/a&gt; by Rich Bowen &lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt; &lt;a set="yes" linkindex="14" class="external" rel="nofollow" href="http://people.apache.org/%7Esctemme/ApconEU2008/Performance_Up.pptx"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Apache Performance Tuning Part 1: Scaling Up&lt;/a&gt; by Sander Temme &lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt; &lt;a set="yes" linkindex="15" class="external" rel="nofollow" href="http://people.apache.org/%7Esctemme/ApconEU2008/Performance_Out.pptx"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Apache Performance Tuning Part 2: Scaling Out&lt;/a&gt; by Sander Temme &lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt; &lt;a set="yes" linkindex="16" class="external" rel="nofollow" href="http://people.apache.org/%7Eerikabele/aceu2008/httpd-load-balancing.pdf"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Load-Balancing with Apache HTTPD 2.2&lt;/a&gt; by Erik Abele &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;h4 id="head-53b099cd00e92b59b040c6a0e3ed8f5315245841"&gt;Java and Ajax Development Track&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a set="yes" linkindex="16" class="external" rel="nofollow" href="http://people.apache.org/%7Evamsic007/Securing%20Java%20EE%205.0%20Applications%20with%20Apache%20Geronimo.ppt"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Securing Java EE 5.0 Applications with Apache Geronimo&lt;/a&gt; by Vamsavardhana Reddy Chillakuru &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;h4 id="head-ce367ed203849333f92935673affe6a9ba61d171"&gt;The Business of Open Source Track&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a linkindex="16" class="external" rel="nofollow" href="http://www.slideshare.net/jaaronfarr/making-sense-of-open-source-licenses/"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Making Sense of Open Source Licenses&lt;/a&gt; by J. Aaron Farr &lt;/p&gt; &lt;/li&gt;&lt;li&gt;&lt;p&gt; &lt;a linkindex="17" class="external" rel="nofollow" href="http://www.slideshare.net/bdelacretaz/open-source-tools-are-good-for-you/"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Open Source Tools are Good for You!&lt;/a&gt; by Bertrand Delacretaz &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;h3 id="head-fe7d4e96a1a924bdbc20d76dfe48fe86d03ee4b3"&gt;Thursday, 10 April 2008&lt;/h3&gt;   &lt;h4 id="head-bb62dc9c5e93f3572bed739e764d32933b8b87e2"&gt;Web Security Track&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a linkindex="18" class="external" rel="nofollow" href="http://people.apache.org/%7Esctemme/ApconEU2008/Hardening%20Enterprise%20Apache.pptx"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Hardening Enterprise Apache Installations&lt;/a&gt; by Sander Temme &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;h4 id="head-84ef0e04f806a95a7f5b18bae91b5fe9760d8bd8"&gt;Java, SOA and Web Services&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a set="yes" linkindex="19" class="external" rel="nofollow" href="http://www.slideshare.net/hgschmie/apache-persistence-layers"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Cayenne, OpenJPA, iBatis - Apache Persistence Layers&lt;/a&gt; by Henning Schmiedehausen &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;h4 id="head-9eedcae4b95689c71655884f72b74e8655d5e99d"&gt;Community and Business Track&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a linkindex="20" class="external" rel="nofollow" href="http://people.apache.org/%7Elars/apachecon2008eu-behind-the-scenes-lars-eilebrecht.pdf"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Behind the Scenes of the Apache Software Foundation&lt;/a&gt; by Lars Eilebrecht &lt;/p&gt; &lt;/li&gt;&lt;li class="gap"&gt;&lt;p&gt; &lt;a set="yes" linkindex="20" class="external" rel="nofollow" href="http://www.slideshare.net/dashorst/guide-to-successful-graduation/"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Guide to successful graduation at Apache&lt;/a&gt; by Martijn Dashorst &lt;/p&gt; &lt;/li&gt;&lt;li class="gap"&gt;&lt;p&gt; &lt;a linkindex="21" class="external" rel="nofollow" href="http://www.chrisjdavis.org/download/apachecon/eu08/apacheconeu08.ppt"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Great Code comes from Great Community&lt;/a&gt; by Chris J. Davis &lt;/p&gt; &lt;/li&gt;&lt;li class="gap"&gt;&lt;p&gt; &lt;a set="yes" linkindex="21" class="external" rel="nofollow" href="http://people.apache.org/%7Esamisa/talks/ApacheCon_EU_2008_Users.ppt"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; How Users can Help a Project?&lt;/a&gt; by Samisa Abeysinghe &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;h3 id="head-2bc91931a00d2779df004aa75069f40be9098a66"&gt;Friday, 11 April 2008&lt;/h3&gt;   &lt;h4 id="head-b3eff9945c1d442a553236e81b790b47e62b4e34-2"&gt;System Administration Track&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a set="yes" linkindex="21" href="http://wiki.apache.org/apachecon-data/attachments/ApacheConEu08PresentationSlides/attachments/ApacheConEU2008-T2606-Jetspeed-2.pdf"&gt;Building your own custom portal with Apache Jetspeed-2 Enterprise Portal&lt;/a&gt; by Ate Douma  &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;h4 id="head-4efc9bd2ee1336610dfaabc96a49839354b02d5e"&gt;Application Development&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a set="yes" linkindex="21" href="http://wiki.apache.org/apachecon-data/attachments/ApacheConEu08PresentationSlides/attachments/HadoopProgramming.pdf"&gt;Programming with Hadoop's Map/Reduce&lt;/a&gt; by Owen O'Malley &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;h4 id="head-106f71b1fc0bfa20b1667c883e8b7fb319ce3354"&gt;Web Services and Web 2.0&lt;/h4&gt;  &lt;ul&gt;&lt;li&gt;&lt;p&gt; &lt;a linkindex="21" class="external" rel="nofollow" href="http://www.slideshare.net/bruce.snyder/takingapachecamelforaride/"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Taking Apache Camel For a Ride&lt;/a&gt; by Bruce Snyder &lt;/p&gt; &lt;/li&gt;&lt;li class="gap"&gt;&lt;p&gt; &lt;a linkindex="22" class="external" rel="nofollow" href="http://people.apache.org/%7Esnoopdave/presentations/advanced-roller-aceu2008.pdf"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Advanced Apache Roller&lt;/a&gt; by Dave Johnson &lt;/p&gt; &lt;/li&gt;&lt;li class="gap"&gt;&lt;p&gt; &lt;a linkindex="22" class="external" rel="nofollow" href="http://www.intalio.org/public/share/ApacheODE_ApacheConEU2008.pdf"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Web Services, Orchestration and Apache Ode&lt;/a&gt; by Alex Boisvert &lt;/p&gt; &lt;ul&gt;&lt;li style="list-style-type: none;"&gt;&lt;p&gt;Links mentioned during the Q&amp;amp;A:   &lt;/p&gt; &lt;p&gt;&lt;a set="yes" linkindex="22" class="external" rel="nofollow" href="http://www-128.ibm.com/developerworks/opensource/library/os-eclipse-bpel2.0/?ca=dgr-lnxw97os-eclipse-bpel2.0"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Develop and execute WS-BPEL V2.0 business processes using the Eclipse BPEL plug-in&lt;/a&gt; &lt;/p&gt; &lt;p&gt;&lt;a set="yes" linkindex="23" class="external" rel="nofollow" href="http://www.ibm.com/developerworks/edu/os-dw-os-eclipse-stpatlode.html?ca=drs-"&gt;&lt;img src="http://wiki.apache.org/wiki/modern/img/moin-www.png" alt="[WWW]" height="11" width="11" /&gt; Execute business processes with Eclipse STP BPMN&lt;/a&gt; &lt;/p&gt; &lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;/ul&gt;   &lt;/div&gt; &lt;p id="pageinfo" class="info" dir="ltr" lang="en"&gt;last edited 2008-04-11 16:46:16 by &lt;span title="bounty.rbfh.de"&gt;DanijelTasov&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1289096070871938740?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.apache.org/apachecon/ApacheConEu08PresentationSlides' title='ApacheConEu08PresentationSlides - Apachecon Wiki'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1289096070871938740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1289096070871938740' title='167 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1289096070871938740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1289096070871938740'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/04/apacheconeu08presentationslides.html' title='ApacheConEu08PresentationSlides - Apachecon Wiki'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>167</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-4142636897919474515</id><published>2008-04-10T04:22:00.001-07:00</published><updated>2008-04-10T04:22:57.113-07:00</updated><title type='text'>Attend ApacheConf Europe Online</title><content type='html'>&lt;h4&gt;    &lt;a name="apachecon-eu-streaming"&gt;Free Live Video Streaming at ApacheCon Europe 2008&lt;/a&gt; &lt;/h4&gt; &lt;div class="section-content"&gt; &lt;p&gt; If you are unable to join us in Amsterdam, no problem, just register for the &lt;a linkindex="8" href="http://streaming.linux-magazin.de/en/program_apachecon08.htm"&gt;live video streaming&lt;/a&gt; and follow the event live from your own PC. After the live transmission, you can replay your favorite talks, whenever and as often as you like. All keynote sessions and the opening plenary are available &lt;b&gt;free of charge&lt;/b&gt;:&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a set="yes" linkindex="9" href="http://streaming.linux-magazin.de/en/program_apachecon08.htm"&gt;State of the Feather&lt;/a&gt;    by Jim Jagielski, Chairman of the Apache Software Foundation,    Wednesday, 9 April, at 09:00 CEST  (07:00 UTC/GMT)&lt;/li&gt;&lt;li&gt;&lt;a set="yes" linkindex="10" href="http://streaming.linux-magazin.de/en/program_apachecon08.htm"&gt;Using Audio Technology and Open Content to Reduce Global     Illiteracy, Poverty and Disease&lt;/a&gt;    by Cliff Schmidt, Executive Director of Literacy Bridge,    Wednesday, 9 April, at 09:30 CEST  (07:30 UTC/GMT)&lt;/li&gt;&lt;li&gt;&lt;a set="yes" linkindex="11" href="http://streaming.linux-magazin.de/en/program_apachecon08.htm"&gt;Apache and Steam Engines: the Magic of Collaborative Innovation&lt;/a&gt;    by Rishab Aiyer Ghosh, Open Source Initiative Board Member,    Thursday, 10 April, at 11:30 CEST  (09:30 UTC/GMT)&lt;/li&gt;&lt;li&gt;&lt;a linkindex="12" href="http://streaming.linux-magazin.de/en/program_apachecon08.htm"&gt;Apache 3.0 (a Tall Tale)&lt;/a&gt;    by Roy Fielding, Co-founder of The Apache Software Foundation,    and Vice President, Apache HTTP Server,    Friday, 11 April, at 16:30 CEST  (14:30 UTC/GMT)&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The talks of the following select ApacheCon Europe tracks are available for just 99 Euro: &lt;a set="yes" linkindex="13" href="http://streaming.linux-magazin.de/en/program_apachecon08.htm#wednesday"&gt;System Administration&lt;/a&gt; (Wednesday),  &lt;a linkindex="14" href="http://streaming.linux-magazin.de/en/program_apachecon08.htm#thursday"&gt;Web Security&lt;/a&gt; (Thursday), &lt;a linkindex="15" href="http://streaming.linux-magazin.de/en/program_apachecon08.htm#friday"&gt;Web Services and Web 2.0&lt;/a&gt; (Friday).&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-4142636897919474515?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/4142636897919474515/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=4142636897919474515' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4142636897919474515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4142636897919474515'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/04/attend-apacheconf-europe-online.html' title='Attend ApacheConf Europe Online'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-8146958516938094176</id><published>2008-04-09T09:15:00.000-07:00</published><updated>2008-04-09T09:15:35.557-07:00</updated><title type='text'>Adobe推Photoshop网络版 进军网络平台服务-设计在线-Photoshop-天极网</title><content type='html'>&lt;a href="http://design.yesky.com/132/8067632.shtml"&gt;Adobe推Photoshop网络版 进军网络平台服务-设计在线-Photoshop-天极网&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;hoho，我看好Adobe，单看他们买了Macromedia这么久都没有声张，就知道他们这个公司的能力了。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;不过感觉Adobe只会把Macromedia的一部分产品消化掉，可能会有一部分就此死掉了。像在中间件方面的估计会变成其他的形式出现。&lt;br /&gt;&lt;br /&gt;最近Adobe狂招人，估计也是想干一些企业应用方面的事。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-8146958516938094176?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://design.yesky.com/132/8067632.shtml' title='Adobe推Photoshop网络版 进军网络平台服务-设计在线-Photoshop-天极网'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/8146958516938094176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=8146958516938094176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8146958516938094176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8146958516938094176'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/04/adobephotoshop-photoshop.html' title='Adobe推Photoshop网络版 进军网络平台服务-设计在线-Photoshop-天极网'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1284227685405963713</id><published>2008-04-09T06:07:00.000-07:00</published><updated>2008-04-09T06:43:30.983-07:00</updated><title type='text'>Apache Conf EU 2008 - Pre-conference day 1</title><content type='html'>I joined a half day training session called: Monitoring 2.0.&lt;br /&gt;&lt;br /&gt;The trainer (his name is Erik Albele??) comes from German, but his can speak pretty good English.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;He introduced the SNMP protocol and another open source product called Zenoss. But it's not really 2.0 I think.&lt;br /&gt;&lt;br /&gt;Here is a highlights for Zenoss:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.zenoss.com/site-images/offerings.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 404px; height: 203px;" src="http://www.zenoss.com/site-images/offerings.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Single Integrated Product&lt;/b&gt; - to monitor your entire IT infrastructure &lt;/li&gt;&lt;li&gt;&lt;b&gt;First Commercial Open Source CMDB&lt;/b&gt; - a single repository for your IT assets&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Easy To Use Browser-Based GUI&lt;/b&gt; - no linux skills needed, access from anywhere&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Enterprise-Ready Architecture&lt;/b&gt; - tiered architecture that scales to thousands of nodes&lt;/li&gt;&lt;li&gt;&lt;b&gt;ZenPacks Framework&lt;/b&gt; - packaging system for Zenoss plugins, skins, etc...&lt;/li&gt;&lt;li&gt;&lt;b&gt;Open Source&lt;/b&gt; - free, GPLv2, source code included, &lt;a linkindex="57" href="http://www.zenoss.com/product/licensing"&gt;more&lt;/a&gt;...&lt;/li&gt;&lt;li&gt;&lt;b&gt;New in 2.1&lt;/b&gt; - Google Maps Mashup, Network Visualization, Java Apps Management, &lt;a set="yes" linkindex="58" href="http://www.zenoss.com/community/code/zenoss-2.1/zenoss-core-2-1"&gt;more&lt;/a&gt;...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;It's good to know another cheap and good solution in IT management, there are lots of good features in Zenoss, like configurable templates for reports, events, metrics.&lt;br /&gt;&lt;br /&gt;Picture below is their free release of Zenoss:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.zenoss.com/site-images/core.gif"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 400px;" src="http://www.zenoss.com/site-images/core.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="file:///C:/DOCUME%7E1/zhaojunm/LOCALS%7E1/Temp/moz-screenshot.jpg" alt="" /&gt;&lt;img src="file:///C:/DOCUME%7E1/zhaojunm/LOCALS%7E1/Temp/moz-screenshot-1.jpg" alt="" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1284227685405963713?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1284227685405963713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1284227685405963713' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1284227685405963713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1284227685405963713'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/04/apache-conf-eu-2008-pre-conference-day.html' title='Apache Conf EU 2008 - Pre-conference day 1'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2451466012000258539</id><published>2008-03-03T19:31:00.000-08:00</published><updated>2008-03-03T19:35:03.303-08:00</updated><title type='text'>Apache Based SOA Stack</title><content type='html'>&lt;p&gt;Recently I'm thinking about building a completely Apache based SOA stack by using many Apache first level projects or incubator projects. Here is a simple idea:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Database:&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Derby&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Web Server&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Tomcat&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Application Servers:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Geronimo         &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Messaging Systems:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;ActiveMQ &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;ESB:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;    Apache CFX       &lt;/li&gt;&lt;li&gt;Apache Synapse &lt;/li&gt;&lt;li&gt;    Apache ServiceMix&lt;/li&gt;&lt;li&gt;Apache Mule       &lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Orchestration Engine&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Ode         &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;UDDI/ebXML&lt;br /&gt;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Apache jUDDI&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;  Directory Server&lt;/li&gt;&lt;ul&gt;&lt;li&gt;ApacheDS&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2451466012000258539?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2451466012000258539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2451466012000258539' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2451466012000258539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2451466012000258539'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/03/apache-based-soa-stack.html' title='Apache Based SOA Stack'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-9151765686916468010</id><published>2008-02-22T04:20:00.000-08:00</published><updated>2008-02-22T04:20:07.778-08:00</updated><title type='text'>Project History | RHQ, the Common Services Project for Infrastructure Management</title><content type='html'>&lt;a href="http://www.rhq-project.org/about.php"&gt;Project History | RHQ, the Common Services Project for Infrastructure Management&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sounds like something I need to have a look.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-9151765686916468010?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.rhq-project.org/about.php' title='Project History | RHQ, the Common Services Project for Infrastructure Management'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/9151765686916468010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=9151765686916468010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/9151765686916468010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/9151765686916468010'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2008/02/project-history-rhq-common-services.html' title='Project History | RHQ, the Common Services Project for Infrastructure Management'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7462948256068628774</id><published>2007-12-19T21:49:00.000-08:00</published><updated>2007-12-19T21:49:15.505-08:00</updated><title type='text'>OpenID 2.0 final released</title><content type='html'>&lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;check these&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://openidenabled.com/php-openid/" onclick="javascript:urchinTracker('/outbound/openidenabled.com/php-openid/?ref=http_//www.google.com/search?hl=en_newwindow=1_client=firefox-a_rls=org.mozilla_3Aen-US_3Aofficial_hs=cJt_q=open+ID_btnG=Search');"&gt;JanRain PHP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://framework.zend.com/fisheye/browse/Zend_Framework/trunk/library/Zend/OpenId" onclick="javascript:urchinTracker('/outbound/framework.zend.com/fisheye/browse/Zend_Framework/trunk/library/Zend/OpenId?ref=http_//www.google.com/search?hl=en_newwindow=1_client=firefox-a_rls=org.mozilla_3Aen-US_3Aofficial_hs=cJt_q=open+ID_btnG=Search');"&gt;Zend PHP&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://openidenabled.com/python-openid/" onclick="javascript:urchinTracker('/outbound/openidenabled.com/python-openid/?ref=http_//www.google.com/search?hl=en_newwindow=1_client=firefox-a_rls=org.mozilla_3Aen-US_3Aofficial_hs=cJt_q=open+ID_btnG=Search');"&gt;JanRain Python&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.sxip.com/openid4java/" onclick="javascript:urchinTracker('/outbound/code.sxip.com/openid4java/?ref=http_//www.google.com/search?hl=en_newwindow=1_client=firefox-a_rls=org.mozilla_3Aen-US_3Aofficial_hs=cJt_q=open+ID_btnG=Search');"&gt;Sxip Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://code.google.com/p/joid/" onclick="javascript:urchinTracker('/outbound/code.google.com/p/joid/?ref=http_//www.google.com/search?hl=en_newwindow=1_client=firefox-a_rls=org.mozilla_3Aen-US_3Aofficial_hs=cJt_q=open+ID_btnG=Search');"&gt;VeriSign Java&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://openidenabled.com/ruby-openid/" onclick="javascript:urchinTracker('/outbound/openidenabled.com/ruby-openid/?ref=http_//www.google.com/search?hl=en_newwindow=1_client=firefox-a_rls=org.mozilla_3Aen-US_3Aofficial_hs=cJt_q=open+ID_btnG=Search');"&gt;JanRain Ruby&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7462948256068628774?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://openid.net/' title='OpenID 2.0 final released'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7462948256068628774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7462948256068628774' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7462948256068628774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7462948256068628774'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/12/openid-20-final-released.html' title='OpenID 2.0 final released'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7427880986385088105</id><published>2007-12-19T21:47:00.000-08:00</published><updated>2007-12-19T21:47:05.090-08:00</updated><title type='text'>The Sound of Crickets Chirping » Blog Archive » OpenID != SSO</title><content type='html'>&lt;a href="http://www.cricketschirping.com/weblog/?p=1123"&gt;The Sound of Crickets Chirping » Blog Archive » OpenID != SSO&lt;/a&gt;: "OpenID != SSO"&lt;br /&gt;&lt;br /&gt;Well, I understood what the author wants to say, but from an user point of view, they are the same.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7427880986385088105?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.cricketschirping.com/weblog/?p=1123' title='The Sound of Crickets Chirping » Blog Archive » OpenID != SSO'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7427880986385088105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7427880986385088105' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7427880986385088105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7427880986385088105'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/12/sound-of-crickets-chirping-blog-archive.html' title='The Sound of Crickets Chirping » Blog Archive » OpenID != SSO'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7716606660795426786</id><published>2007-10-26T03:06:00.000-07:00</published><updated>2007-10-26T03:06:25.038-07:00</updated><title type='text'>Dev Thoughts » Blog Archive » JMX meets Log4J</title><content type='html'>&lt;a href="http://uri.jteam.nl/?p=4"&gt;Dev Thoughts » Blog Archive » JMX meets Log4J&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Today, after repeating this routine a few times, for the first time I told myself “There must be a better way…”. It didn’t take me long to feature out that spring’s jmx support and jdk 5 practically hand me the solution to this problem on a silver plate - Just create a simple management bean that controls the log levels for categories, export this bean as an MBean using spring superb JMX’s support, and use jdk5 jconsole application to manage the logging levels. Here’s a quick recipe:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Create the management bean:&lt;br /&gt;&lt;code&gt; &lt;/code&gt;&lt;/p&gt;&lt;pre&gt;public class Log4jMBean {&lt;br /&gt;&lt;br /&gt;public void activateInfo(String category) {&lt;br /&gt;LogManager.getLogger(category).setLevel(Level.INFO);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void activateDebug(String category) {&lt;br /&gt;LogManager.getLogger(category).setLevel(Level.DEBUG);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void activateWarn(String category) {&lt;br /&gt;LogManager.getLogger(category).setLevel(Level.WARN);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void activateError(String category) {&lt;br /&gt;LogManager.getLogger(category).setLevel(Level.ERROR);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public void activateFatal(String category) {&lt;br /&gt;LogManager.getLogger(category).setLevel(Level.FATAL);&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;  &lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Export the bean in the application context.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;code&gt; &lt;/code&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; Run your application with the following system property &lt;i&gt;-Dcom.sun.management.jmxremote&lt;/i&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;4. &lt;/strong&gt; Run jconsole tool (found at JAVA_HOME/bin)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;5. &lt;/strong&gt; Look for the exported MBean (”logging” in our case)&lt;/p&gt; &lt;p&gt;&lt;strong&gt;6. &lt;/strong&gt; Change the log level of categories just by invoking the management methods.&lt;/p&gt; &lt;p&gt;Done! &lt;/p&gt; &lt;p&gt;After googling a bit, I found out that loads of people already thought about this solution (hell… there’s even an MBean class in the jdk that does the same for jdk’s logging mechanism). Unfortunately, I only gave it a thought today - if I had done so long time ago it would have probably saved me quite a lot of time… So if it’s new to you aswell, stop wasting your time and add it to your project today.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This can be quite useful at production phase as well, but keep in mind that a more secured schema should be applied - possibly using jdk’s jmx security support (for more information, see the resources below).&lt;/p&gt; &lt;p&gt;Some resources:&lt;br /&gt;&lt;a href="http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html#remote"&gt;Monitoring and Management Using JMX&lt;/a&gt;&lt;br /&gt;&lt;a href="http://static.springframework.org/spring/docs/1.2.x/reference/jmx.html"&gt;Spring JMX support&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7716606660795426786?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://uri.jteam.nl/?p=4' title='Dev Thoughts » Blog Archive » JMX meets Log4J'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7716606660795426786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7716606660795426786' title='40 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7716606660795426786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7716606660795426786'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/10/dev-thoughts-blog-archive-jmx-meets.html' title='Dev Thoughts » Blog Archive » JMX meets Log4J'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>40</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-4179764974374430019</id><published>2007-10-14T07:06:00.000-07:00</published><updated>2007-10-14T07:06:53.950-07:00</updated><title type='text'>SEO Title Tag: A WordPress Plugin for SEO (Search Engine Optimization)</title><content type='html'>&lt;a href="http://www.netconcepts.com/seo-title-tag-plugin/"&gt;SEO Title Tag: A WordPress Plugin for SEO (Search Engine Optimization)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Features include:&lt;/p&gt; &lt;ul id="ul_1"&gt;&lt;li id="li_4"&gt;Allows you to override a page’s or a post’s title tag with a custom one.&lt;/li&gt;&lt;li id="li_5"&gt;&lt;b&gt;New for v2.0&lt;/b&gt; A Title Tag input box in the Edit Post and Write Post forms. (Previously in version 1.0 you had to use the Custom Field box.)&lt;/li&gt;&lt;li id="li_6"&gt;&lt;b&gt;New for v2.0&lt;/b&gt; Mass editing of title tags for all posts, static pages, category pages, tag pages, tag conjunction pages, archive by month pages, — indeed, any URL — all in one go.&lt;/li&gt;&lt;li id="li_7"&gt;Define a custom title tag for your home page (or, more accurately, your Posts page, if you have chosen a static Front Page set under Options -&gt; Reading), through the Options -&gt; SEO Title Tag page in the WordPress admin.&lt;/li&gt;&lt;li id="li_8"&gt;&lt;b&gt;New for v2.0&lt;/b&gt; Define the title tag of 404 error pages, also through Options -&gt; SEO Title Tag.&lt;/li&gt;&lt;li id="li_9"&gt;&lt;b&gt;New for v2.0&lt;/b&gt; Handles internal search result pages too.&lt;/li&gt;&lt;li id="li_10"&gt;For users of the &lt;a id="a_9" href="http://www.neato.co.nz/ultimate-tag-warrior"&gt;UltimateTagWarrior&lt;/a&gt; plugin (which should be everybody!), incorporates the tag name into the title tag on “tag pages” (sorry for the confusing use of “tag” in two contexts here — as in tagging and HTML title tags).&lt;/li&gt;&lt;li id="li_11"&gt;&lt;b&gt;New for v2.0&lt;/b&gt; (When used with Ultimate Tag Warrior) Customize the title tags on tag pages, and on tag conjunction pages too (e.g. &lt;a id="a_10" href="http://www.netconcepts.com/tag/seo+articles"&gt;http://www.netconcepts.com/tag/seo+articles&lt;/a&gt;). The latter is done through Manage -&gt; Title Tags -&gt; URLs; see &lt;a id="a_11" href="http://www.netconcepts.com/wp-content/urls.png"&gt;this screenshot&lt;/a&gt; for an example. &lt;/li&gt;&lt;li id="li_12"&gt;&lt;b&gt;New for v2.0&lt;/b&gt; Title tags of category pages can &lt;i&gt;optionally&lt;/i&gt; be set to the category description. If you use a Meta Tag plugin like &lt;a id="a_12" href="http://www.g-loaded.eu/2006/01/05/add-meta-tags-wordpress-plugin/"&gt;Add Meta Tags&lt;/a&gt;, then you should not use this feature and instead let the Meta Tag plugin use the category description for the meta description on category pages.&lt;/li&gt;&lt;li id="li_13"&gt;If you choose to keep the blog name in your title tags (not recommended!), the order of the blog name and the title are automatically reversed, giving more keyword prominence to the title instead of the blog name. Note there is also an option to replace your blog name with a shorter blog nickname.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;And best of all, the plugin is FREE!&lt;/p&gt; &lt;p&gt;Suitably convinced? Then &lt;b&gt;&lt;a id="a_13" href="http://downloads.wordpress.org/plugin/seo-title-tag.zip"&gt;Download the plugin&lt;/a&gt;&lt;/b&gt;!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-4179764974374430019?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.netconcepts.com/seo-title-tag-plugin/' title='SEO Title Tag: A WordPress Plugin for SEO (Search Engine Optimization)'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/4179764974374430019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=4179764974374430019' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4179764974374430019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4179764974374430019'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/10/seo-title-tag-wordpress-plugin-for-seo.html' title='SEO Title Tag: A WordPress Plugin for SEO (Search Engine Optimization)'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-4440514787051640108</id><published>2007-10-12T00:58:00.000-07:00</published><updated>2007-10-12T00:58:39.979-07:00</updated><title type='text'>Enterprise Java Community: Introduction to the Spring Framework</title><content type='html'>&lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=SpringFramework"&gt;Enterprise Java Community: Introduction to the Spring Framework&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is a basic introduction of Spring Framework.&lt;br /&gt;&lt;br /&gt;The author thinks the Spring Framework is unique as:&lt;br /&gt;Spring is unique, for several reasons:  &lt;ul&gt;&lt;li&gt;&lt;b&gt;It addresses important areas that many other popular frameworks don't&lt;/b&gt;.      &lt;/li&gt;&lt;li&gt;&lt;b&gt;Spring is both comprehensive and modular.&lt;/b&gt;    &lt;/li&gt;&lt;li&gt;&lt;b&gt;Spring is designed from the ground up to help you write code that's easy to   test.&lt;/b&gt;     &lt;/li&gt;&lt;li&gt;&lt;b&gt;Spring is an increasingly important integration technology&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;I fully agree with it. The loose couple and tight couple inside way makes Spring eases to be used in any kind of applications.&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Architectural benefits of Spring&lt;/h2&gt; &lt;p&gt;Before we get down to specifics, let's look at some of the benefits Spring can bring to a project: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Spring can effectively organize your middle tier objects, whether or not   you choose to use EJB. Spring takes care of plumbing that would be left up to   you if you use only Struts or other frameworks geared to particular J2EE   APIs. And while it is perhaps most valuable in the middle tier, Spring's configuration   management services can be used in any architectural layer, in whatever runtime environment.   &lt;/li&gt;&lt;li&gt;Spring can eliminate the proliferation of Singletons seen on many   projects.    &lt;/li&gt;&lt;li&gt;Spring can eliminate the need to use a variety of custom properties file   formats, by handling configuration in a consistent way throughout applications   and projects. Ever wondered what magic property keys or system properties a   particular class looks for, and had to read the Javadoc or even source code?   With Spring you simply look at the class's JavaBean properties or constructor arguments. The use of   &lt;b&gt;Inversion of Control&lt;/b&gt; and &lt;b&gt;Dependency Injection&lt;/b&gt; (discussed below) helps achieve this   simplification.   &lt;/li&gt;&lt;li&gt;Spring can facilitate good programming practice by reducing the cost of   programming to interfaces, rather than classes, almost to zero.   &lt;/li&gt;&lt;li&gt;Spring is designed so that applications built with it depend on as few of   its APIs as possible. Most business objects in Spring applications have no   dependency on Spring.     &lt;/li&gt;&lt;li&gt;Applications built using Spring are very easy to unit test.    &lt;/li&gt;&lt;li&gt;Spring can make the use of EJB an implementation choice, rather than the   determinant of application architecture. You can choose to implement business   interfaces as POJOs or local EJBs without affecting calling code.   &lt;/li&gt;&lt;li&gt;Spring helps you solve many problems without using EJB. Spring can provide   an alternative to EJB that's appropriate for many applications. For   example, Spring can use AOP to deliver declarative transaction management   without using an EJB container; even without a JTA implementation, if you only   need to work with a single database.    &lt;/li&gt;&lt;li&gt;Spring provides a consistent framework for data access, whether using JDBC   or an O/R mapping product such as TopLink, Hibernate or a JDO implementation.   &lt;/li&gt;&lt;li&gt;Spring provides a consistent, simple programming model in many areas, making it an ideal   architectural "glue." You can see this consistency in the Spring approach to JDBC, JMS,   JavaMail, JNDI and many other important APIs.    &lt;/li&gt;&lt;/ul&gt;  &lt;p&gt;&lt;b&gt;Spring is essentially a technology dedicated to enabling you to build applications using POJOs.&lt;/b&gt; This desirable goal requires a sophisticated framework, which conceals much complexity from the developer. &lt;/p&gt;&lt;br /&gt;&lt;h2&gt;What does Spring do?&lt;/h2&gt;  &lt;b&gt;Mission statement&lt;br /&gt;&lt;/b&gt;POJO-based programming model&lt;br /&gt;Spring is portable between application servers.&lt;br /&gt;&lt;b&gt;Inversion of control container&lt;br /&gt;&lt;/b&gt;The core of Spring is the &lt;tt&gt;org.springframework.beans&lt;/tt&gt; package, designed for working with JavaBeans.&lt;br /&gt;The most commonly used BeanFactory definitions are:  &lt;ul&gt;&lt;li&gt;&lt;tt&gt;XmlBeanFactory&lt;/tt&gt;. This parses a simple, intuitive XML structure defining   the classes and properties of named objects. We provide a DTD to make   authoring easier.    &lt;/li&gt;&lt;li&gt;&lt;tt&gt;DefaultListableBeanFactory&lt;/tt&gt;: This provides the ability to parse bean   definitions in properties files, and create BeanFactories programmatically.   &lt;/li&gt;&lt;/ul&gt;The concept behind Inversion of Control is often expressed in the &lt;b&gt;Hollywood Principle&lt;/b&gt;: "Don't call me, I'll call you." IoC moves the responsibility for making things happen into the framework, and away from application code. Whereas your code calls a traditional class library, an IoC framework calls your code. Lifecycle callbacks in many APIs, such as the &lt;tt&gt;setSessionContext()&lt;/tt&gt; method for session EJBs, demonstrate this approach.&lt;br /&gt;&lt;br /&gt;Spring provides sophisticated support for both &lt;b&gt;Setter Injection&lt;/b&gt; (injection via JavaBean setters); and &lt;b&gt;Constructor Injection&lt;/b&gt; (injection via constructor arguments), and even allows you to mix the two when configuring the one object.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;JDBC abstraction and data access exception hierarchy&lt;br /&gt;&lt;br /&gt;&lt;/b&gt;&lt;p&gt;Spring addresses these problems in two ways: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;By providing APIs that move tedious and error-prone exception handling out   of application code into the framework. The framework takes care of all   exception handling; application code can concentrate on issuing the   appropriate SQL and extracting results.   &lt;/li&gt;&lt;li&gt;By providing a meaningful exception hierarchy for your application code to   work with in place of &lt;tt&gt;SQLException&lt;/tt&gt;.&lt;/li&gt;&lt;/ul&gt;This is really cute feature that I like. It frees most of 3 tiers application developers paint.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Spring JDBC can help you in several ways: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;You'll never need to write a &lt;tt&gt;finally&lt;/tt&gt; block again to use JDBC   &lt;/li&gt;&lt;li&gt;Connection leaks will be a thing of the past   &lt;/li&gt;&lt;li&gt;You'll need to write less code overall, and that code will be clearly focused   on the necessary SQL   &lt;/li&gt;&lt;li&gt;You'll never need to dig through your RDBMS documentation to work out what   obscure error code it returns for a bad column name. Your application won't be   dependent on RDBMS-specific error handling code.   &lt;/li&gt;&lt;li&gt;Whatever persistence technology use, you'll find it easy to implement the   DAO pattern without business logic depending on any particular data access   API.    &lt;/li&gt;&lt;li&gt;You'll benefit from improved portability (compared to raw JDBC) in advanced areas such as BLOB handling and   invoking stored procedures that return result sets.&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;O/R mapping integration&lt;/b&gt; &lt;p&gt;Of course often you want to use O/R mapping, rather than use relational data access. Your overall application framework must support this also. Thus Spring integrates out of the box with Hibernate (versions 2 and 3), JDO (versions 1 and 2), TopLink and other ORM products. Its data access architecture allows it to integrate with &lt;i&gt;any&lt;/i&gt; underlying data access technology. Spring and Hibernate are a particularly popular combination. &lt;/p&gt; &lt;p&gt;Why would you use an ORM product plus Spring, instead of the ORM product directly? Spring adds significant value in the following areas: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;Session management&lt;/b&gt;.     &lt;/li&gt;&lt;li&gt;&lt;b&gt;Resource management&lt;/b&gt;.    &lt;/li&gt;&lt;li&gt;&lt;b&gt;Integrated transaction management&lt;/b&gt;.    &lt;/li&gt;&lt;li&gt;&lt;b&gt;Exception wrapping, as described above&lt;/b&gt;.    &lt;/li&gt;&lt;li&gt;&lt;b&gt;To avoid vendor lock-in&lt;/b&gt;.&lt;br /&gt; &lt;/li&gt;&lt;li&gt;&lt;b&gt;Ease of testing&lt;/b&gt;. &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Above all, Spring facilitates a mix-and-match approach to data access. Spring enables a   consistent architecture, and transaction strategy, even if you mix and match persistence approaches, even without using JTA.  &lt;/p&gt;&lt;b&gt;AOP&lt;/b&gt;  &lt;p&gt;The first goal of Spring's AOP support is to provide J2EE services to POJOs. Spring AOP is portable between application servers, so there's no risk of vendor lock in.&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Spring AOP supports method interception. Key AOP concepts supported include: &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;b&gt;Interception&lt;/b&gt;: Custom behaviour can be inserted before or after   method invocations against any interface or class. This is similar to "around   advice" in AspectJ terminology.    &lt;/li&gt;&lt;li&gt;&lt;b&gt;Introduction&lt;/b&gt;: Specifying that an advice should cause an object to   implement additional interfaces. This can amount to mixin inheritance.    &lt;/li&gt;&lt;li&gt;Static and dynamic &lt;b&gt;pointcuts&lt;/b&gt;: Specifying the points in program   execution at which interception should take place. Static pointcuts concern   method signatures; dynamic pointcuts may also consider method arguments at the   point where they are evaluated. Pointcuts are defined separately from   interceptors, enabling a standard interceptor to be applied in different   applications and code contexts. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;p&gt;Spring supports both stateful (one instance per advised object) and stateless interceptors (one instance for all advice). &lt;/p&gt; Spring does &lt;i&gt;not&lt;/i&gt; support field interception.&lt;br /&gt;&lt;br /&gt;Spring integrates with AspectJ, providing the ability to seamlessly include AspectJ aspects into Spring applications&lt;br /&gt;&lt;br /&gt;&lt;b&gt;MVC web framework&lt;br /&gt;&lt;/b&gt;&lt;ul&gt;&lt;li&gt;Spring provides a very clean division between controllers, JavaBean   models, and views.   &lt;/li&gt;&lt;li&gt;Spring's MVC is very flexible. Unlike Struts, which forces your Action and   Form objects into concrete inheritance (thus taking away your single shot at   concrete inheritance in Java), Spring MVC is entirely based on interfaces.   Furthermore, just about every part of the Spring MVC framework is configurable   via plugging in your own interface. Of course we also provide convenience   classes as an implementation option.    &lt;/li&gt;&lt;li&gt;Spring, like WebWork, provides &lt;b&gt;interceptors&lt;/b&gt; as well as controllers, making it easy   to factor out behavior common to the handling of many requests.      &lt;/li&gt;&lt;li&gt;Spring MVC is truly view-agnostic. You don't get pushed to use JSP if you   don't want to; you can use Velocity, XLST or other view technologies. If you   want to use a custom view mechanism - for example, your own templating   language - you can easily implement the Spring View interface to integrate it.      &lt;/li&gt;&lt;li&gt;Spring Controllers are configured via IoC like any other objects. This   makes them easy to test, and beautifully integrated with other objects managed   by Spring.    &lt;/li&gt;&lt;li&gt;Spring MVC web tiers are typically easier to test than Struts web tiers,   due to the avoidance of forced concrete inheritance and explicit dependence of   controllers on the dispatcher servlet.   &lt;/li&gt;&lt;li&gt;The web tier becomes a thin layer on top of a business object layer. This   encourages good practice. Struts and other dedicated web frameworks leave you   on your own in implementing your business objects; Spring provides an   integrated framework for all tiers of your application. &lt;/li&gt;&lt;/ul&gt;&lt;b&gt;Implementing EJBs&lt;br /&gt;&lt;/b&gt;&lt;b&gt;Using EJBs&lt;br /&gt;&lt;/b&gt;&lt;b&gt;Testing&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Most of the key point of spring framework already mentioned here, but there are lots of part we haven't covered, or didn't touch the details: e.g. Spring Web Flow, Spring AOP, Available modules.&lt;br /&gt;&lt;/b&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-4440514787051640108?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.theserverside.com/tt/articles/article.tss?l=SpringFramework' title='Enterprise Java Community: Introduction to the Spring Framework'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/4440514787051640108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=4440514787051640108' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4440514787051640108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4440514787051640108'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/10/enterprise-java-community-introduction.html' title='Enterprise Java Community: Introduction to the Spring Framework'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-5988096578370135703</id><published>2007-10-11T23:59:00.000-07:00</published><updated>2007-10-11T23:59:30.072-07:00</updated><title type='text'>Who's using ZK?</title><content type='html'>&lt;a href="http://www.zkoss.org/whosusingzk/"&gt;Who's using ZK?&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.barclaysglobal.com/" onclick="urchinTracker('/whosusingzk/Barclays')"&gt;Barclays Global Investors&lt;/a&gt;&lt;/span&gt; (BGI) is the leader in creating investment solutions and also one of the largest asset managers in the world. BGI manages more than $1.8 trillion in assets (December 2006) for institutional and individual investors across the globe. The development teams in Sydney and San Francisco are developing the new Web application with ZK.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Fsunlogo3png7C707C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/sun_logo3.png" style="margin-right: 10px;" align="left" height="70" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.sun.com/" onclick="urchinTracker('/whosusingzk/Sun')"&gt;Sun Microsystems, Inc.&lt;/a&gt;&lt;/span&gt; provides network computing infrastructure solutions that include computer systems, software, storage, and services. Its core brands include the Java technology platform, the Solaris operating system, StorageTek and the UltraSPARC processor. For the third year in a row, Sun is among the top 10 Fortune 500 companies that lead the country by providing outstanding commuter benefits to a significant portion of its U.S. Sun has chosen ZK as the frontend to refine a Web application serving Sun's customers in the world.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Fsunlogo3png7C707C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/swre.png" style="margin-right: 10px;" align="left" height="70" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.swissre.com/" onclick="urchinTracker('/whosusingzk/SwissRe')"&gt;Swiss Re&lt;/a&gt;&lt;/span&gt; is the world’s leading and most diversified global reinsurer, offers financial services products that enable risk taking essential to enterprise and progress. Founded in Zurich, Switzerland, in 1863, Swiss Re operates in more than 25 countries and provides its expertise and services to clients throughout the world. Swiss Re chooses ZK to build a system for customer use.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Falcatellogo3png7C667C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/alcatel_logo3.png" style="margin-right: 10px;" align="left" height="66" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.alcatel-lucent.com/" onclick="urchinTracker('/whosusingzk/Alcatel')"&gt;Alcatel-Lucent&lt;/a&gt;&lt;/span&gt; provides solutions that enable service providers, enterprises and governments worldwide, to deliver voice, data and video communication services to end-users. Alcatel-Lucent today is one of the largest innovation powerhouses in the communications industry. Alcatel-Lucent is using ZK to rewrite Web applications.&lt;/span&gt;   &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2FIRTlogo3png7C367C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/IRT_logo3.png" style="margin-right: 10px;" align="left" height="36" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.ir-team.com/index.php/home" onclick="urchinTracker('/whosusingzk/IRT')"&gt;Immediate Response Team&lt;/a&gt;&lt;/span&gt;, Germany, provides &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.ir-team.com/index.php/zk-bench" onclick="urchinTracker('/whosusingzk/IRT-zk')"&gt;ZK-bench&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;, an eclipse-plugin for work with ZK. It's an IDE with features which make the plugin a Next-Generation IDE so that database-based Web-development becomes now easy like a breeze. IR-Team is true for speedy, qualified and fair dealing. She does consulting as well as development for database-based web applications and the development process itself. &lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2FlogoBCIFOMENTOpng7C7C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo-BCIFOMENTO.png" style="margin-right: 10px;" align="left" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.bci.co.mz/" onclick="urchinTracker('/whosusingzk/bci')"&gt;Banco Comercial e de Investimentos&lt;/a&gt;&lt;/span&gt; (BCI Fomento), is one of the largest private financial group in Mozambique. It is contributing for the development of the financial system and the Mozambican economy. ZK is used in the presentation layer of a web application for foreign operations (Payment of Orders, etc.), because the advantage of rich user interface for web applications with little programming.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Flogobalearsgif7C357C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo_balears.gif" style="margin-right: 10px;" align="left" height="35" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.caib.es/" onclick="urchinTracker('/whosusingzk/Span-govn')"&gt;Govern de les Illes Balears&lt;/a&gt;&lt;/span&gt; is the local government of les Illes Balearschose area in Spain. ZK is used as the Web front end for both citizen users and government's internal use. &lt;span class="wikiexternallink"&gt;&lt;a href="http://rfid.ibit.org/rfid/" onclick="urchinTracker('/whosusingzk/Span-govn/rfid')"&gt;RFID&lt;/a&gt;&lt;/span&gt; is one of the official websites with ZK available for public access now.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Fkazeonlogogif7C307C1467C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/kazeon_logo.gif" style="margin-right: 10px;" align="left" height="30" width="146" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.kazeon.com/" onclick="urchinTracker('/whosusingzk/Kazeon')"&gt;Kazeon Systems, Inc.&lt;/a&gt;&lt;/span&gt; is a leading provider of enterprise information access solutions that revolutionize the way companies search, classify and act on information. The Kazeon Information Server IS1200 was awarded the storage management "Product of the Year" by TechTarget's Storage magazine and SearchStorage.com. The &lt;span class="wikiexternallink"&gt;&lt;a href="http://www.kazeon.com/products2/is1200-frm.php"&gt;colorful management Web interface&lt;/a&gt;&lt;/span&gt; for the storage devices is done with ZK. &lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Ftaifexlogo3png7C357C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/taifex_logo3.png" style="margin-right: 10px;" align="left" height="35" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.taifex.com.tw/eng/eng_home.htm" onclick="urchinTracker('/whosusingzk/TaiFEX')"&gt;Taiwan Futures Exchange&lt;/a&gt;&lt;/span&gt; (TaiFEX) provides investors with more efficient and quality services allowing buyers and sellers to arrive at the best prices for a given futures or options on futures contract. In 2006, TaiFEX's global ranking is 6th on stock index options trading volume. The volume of index futures and options traded at TaiFEX is 114.6 million contracts(2006). TaiFEX is migrating her Futures Management System from client/server to Web-based system with ZK.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Fmapinfologo1png7C487C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/mapinfo_logo1.png" style="margin-right: 10px;" align="left" height="48" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.mapinfo.com/" onclick="urchinTracker('/whosusingzk/Mapinfo')"&gt;MapInfo Corporation&lt;/a&gt;&lt;/span&gt; is a worldwide leading provider of location intelligence solutions. MapInfo is named to Forbes' 200 Best Small Companies List in 2006. &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;With ZK, MapInfo created a fabulous real-time web map &lt;span class="wikiexternallink"&gt;&lt;a href="http://envention.mapinfo.com/envention/" onclick="urchinTracker('/whosusingzk/Mapinfo-evention')"&gt;Evention&lt;/a&gt;&lt;/span&gt;, which supports drag &amp;amp; drop, zoom, traffic analysis and lots of cool functions. "Credit must go to the amazing ZK team. Our tricked user interface is mostly done using their API. We like what they have built."&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Fodorferlogo1png7C527C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/odorfer_logo1.png" style="margin-right: 10px;" align="left" height="52" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.odoerfer-eisenhof.com/index.php" onclick="urchinTracker('/whosusingzk/Odorfer')"&gt;Odorfer Eisenhof GmbH&lt;/a&gt;&lt;/span&gt;, Austria, is a 200 years old company providing over forty-thousand products ranging from tools, machines, building and garden necessities to screws, pins, wires and wire goods. &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://online.odoerfer.com/OdKatalog/" onclick="urchinTracker('/whosusingzk/Odorfer-catalog')"&gt;Odorfer Online Katalog-System&lt;/a&gt;&lt;/span&gt;, an online catalog and shopping system, is developed with ZK.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Faffrlogo1png7C597C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/affr_logo1.png" style="margin-right: 10px;" align="left" height="59" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.affrc.go.jp/index-j.html" onclick="urchinTracker('/whosusingzk/affrc-jp')"&gt;Agriculture, Forestry and Fisheries Research Council (AFFRC)&lt;/a&gt;&lt;/span&gt; is established under the Ministry of Agriculture, Forestry &amp;amp; Fisheries, Japan. The information center handles and develops the retrieval systems for supply of information concerning research and experiments related to agriculture, forestry and fisheries, both domestic and overseas. &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;AAFRC develops a &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://pc90.narc.affrc.go.jp/RiceMet/" onclick="urchinTracker('/whosusingzk/affrc-jp/rice')"&gt;RiceMet System&lt;/a&gt;&lt;/span&gt; &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;with ZK to display and compare various types of rice-related data including yield, quality, etc. all over Japan.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Fzhongshanlogo1png7C607C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/csp.gif" style="margin-right: 10px;" align="left" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.csg.cn/" onclick="urchinTracker('/whosusingzk/csg')"&gt;China Southern Power Grid Co., Ltd.&lt;/a&gt;&lt;/span&gt; (CSG), China, is a Fortune Global 500 company. CSG provides power to 230,000,000 people and covers five provinces in China with a west-to-east distance of about 2000 km. &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;Some&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt; of CSG's web pages, such as the &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.zspower.com.cn:90/zpProject/"&gt;recruiting pages&lt;/a&gt;&lt;/span&gt;, have been migrated to modern faces with ZK.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Flogonewzealandgif7C557C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo-newzealand.gif" style="margin-right: 10px;" align="left" height="55" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.justice.govt.nz/" onclick="urchinTracker('/whosusingzk/NZ-justice')"&gt;The Ministry of Justice, New Zealand&lt;/a&gt;&lt;/span&gt;, delivers a wide variety of services from court services and fines collection to policy advice, negotiation of Treaty of Waitangi claims and running the parliamentary elections. The Ministry administers legislation and provides services to contribute to safer communities and a fairer, more credible and more effective justice system. The Ministry adopts ZK to enrich the interface of her Web applications.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Flogodatabasejpg7C247C1407C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo-database.jpg" style="margin-right: 20px;" align="left" height="24" width="140" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.database.co.mz/" onclick="urchinTracker('/whosusingzk/database')"&gt;Database, Lda&lt;/a&gt;&lt;/span&gt;, Mozambique, offers customized Apache OFBiz installations for small and medium enterprises. After a six-month evaluation, Database &lt;span class="wikiexternallink"&gt;&lt;a href="http://www.theserverside.com/tt/articles/article.tss?l=ZKandAgile" onclick="urchinTracker('/ext/therverside')"&gt;chooses ZK among plenty of Ajax solutions&lt;/a&gt;&lt;/span&gt;, such as GWT, OpenLaszlo, DOJO. Database &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;is switching all of web-based products (currently 3) to ZK framework.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Fsobedilogo3png7C547C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/sobedi_logo3.png" style="margin-right: 10px;" align="left" height="54" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.sobedi.com/" onclick="urchinTracker('/whosusingzk/sobedi')"&gt;Sobedi informationsmangement gmbh&lt;/a&gt;&lt;/span&gt;, Germany, is specialized in professionalizing business project management, knowledge management and procurement. &lt;/span&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.sobedi.com/" onclick="urchinTracker('/whosusingzk/sobedi/riskmap')"&gt;RISK-MAP&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt; is Sobedi's risk management solution which provides a web based platform for enterprise wide, international risk management and documentation. Using ZK framework and the proprietary development "Generic Object Framework" (GOF) as the JAVA oriented application development environment, sobedi presents this solution now to international customers.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Flogonoarissgif7C7C7C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo-noaris-s.gif" style="margin-right: 10px;" align="left" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.noaris.com/" onclick="urchinTracker('/whosusingzk/noaris')"&gt;Noaris Consulting S.L.&lt;/a&gt;&lt;/span&gt;, Spain, is an IT/software company focused on innovational technologies as well as software. Noaris provides a revolutionary view to the software development in order to lead the competitive edge. In the accomplishment of projects, it's crucial important in the phase of selection of technologies. In Noaris, we work with latest technologies in software development. &lt;span class="wikiexternallink"&gt;&lt;a href="http://www.noaris.com/tecnologias.html"&gt;We are expert in consolidated technologies&lt;/a&gt;&lt;/span&gt; like Java/JavaEE and those emergent ones like Ruby on Rails as well as in frameworks of development based on ZK.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2FlogoBIGCgif7C7C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo-BIGC.gif" style="margin-right: 10px;" align="left" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.bigc.edu.cn/index.htm" onclick="urchinTracker('/whosusingzk/bigc')"&gt;Beijing Institute of Graphic Communication&lt;/a&gt;&lt;/span&gt; (BIGC), China, is a general polytechnic university of technology, humanities, arts, and management. BIGC is among the first batch of higher learning institutions which were granted the right to confer bachelor’s degrees in China. At present, BIGC has 7,200 full-time students and more than 330 teachers. &lt;span class="wikiexternallink"&gt;&lt;a href="http://hi.baidu.com/zk_ajax/blog/item/8efd7fc77b5a5dddd10060f8.html"&gt;Teaching Management System&lt;/a&gt;&lt;/span&gt;, developed with ZK, is a web-based management system for teachers at BIGC.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Flogoadempierepng7C1347C1497C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo-adempiere.png" style="margin-right: 10px;" align="left" height="134" width="149" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva; margin-top: 15px;"&gt;&lt;span class="wikiexternallink" style="margin-top: 15px;"&gt;&lt;br /&gt;&lt;a href="http://www.adempiere.com/" onclick="urchinTracker('/whosusingzk/adempiere')"&gt;ADempiere&lt;/a&gt;&lt;/span&gt; is a smart professional open source business solution that delivers ERP, CRM, POS, shop floor, supply chain management functionality. Now, ZK has been chosen to &lt;span class="wikiexternallink"&gt;&lt;a href="http://www.zkoss.org/demo/adempiereOnZK/adempiereOnZK.html" onclick="urchinTracker('/whosusingzk/adempier/demo')"&gt;Ajaxify ADempiere Posterita&lt;/a&gt;&lt;/span&gt;, a full web-based highly enhanced Point Of Sale System.&lt;/span&gt; &lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.posterita.org/"&gt;Posterita&lt;/a&gt;&lt;/span&gt;, Mauritius, is the world pioneer in designing, developing and marketing business for web applications based on ADempiere.&lt;/span&gt; &lt;p&gt; &lt;/p&gt;  &lt;!--[if lt IE 7.]&gt; &lt;br/&gt;&lt;br/&gt; &lt;![endif]--&gt; &lt;!--[if gte IE 7.]&gt; &lt;br/&gt;&lt;br/&gt;&lt;br/&gt;&lt;br/&gt; &lt;![endif]--&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Fopencmslogo3png7C457C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/opencms_logo3.png" style="margin-right: 10px;" align="left" height="45" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.opencms.org/en/index.html" onclick="urchinTracker('/whosusingzk/opencms')"&gt;OpenCms&lt;/a&gt;&lt;/span&gt; is a professional, easy to use website content management solution. As one of the most popular open source CMS, OpenCms helps &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;worldwide &lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;content managers to create and maintain beautiful websites fast and efficiently.&lt;/span&gt; &lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.opencms.org/en/support/features/features7/" onclick="urchinTracker('/whosusingzk/opencms/v7')"&gt;OpenCms 7&lt;/a&gt;&lt;/span&gt; is lanuched in July 2007 after 18 months of development. &lt;span class="wikiexternallink"&gt;&lt;a href="http://www.quinscape.de/" onclick="urchinTracker('/whosusingzk/opencms/quinscape')"&gt;QuinScape GmbH&lt;/a&gt;&lt;/span&gt; and &lt;span class="wikiexternallink"&gt;&lt;a href="http://www.alkacon.com/" onclick="urchinTracker('/whosusingzk/opencms/alkacon')"&gt;Alkacon Software GmbH&lt;/a&gt;&lt;/span&gt; supported the development of the new version. In order to &lt;span class="wikiexternallink"&gt;&lt;a href="http://www.webreaders.de/2007/06/11/quinscape-praesentiert-ajax-integration-fuer-opencms/" onclick="urchinTracker('/whosusingzk/opencms/integrate')"&gt;realize Web inteface up-to-date without complex programming&lt;/a&gt;&lt;/span&gt;, Quinscape integrate prominent ZK in OpenCms.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Flogoofbizjpg7C517C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo-ofbiz.jpg" style="margin-right: 10px;" align="left" height="51" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;The &lt;span class="wikiexternallink"&gt;&lt;a href="http://ofbiz.apache.org/" onclick="urchinTracker('/whosusingzk/ofbiz')"&gt;Apache Open For Business Project (OFBiz)&lt;/a&gt;&lt;/span&gt; is an open source enterprise automation software project. By open source enterprise automation we mean: Open Source ERP, Open Source CRM, Open Source E-Business / E-Commerce, Open Source SCM, Open Source MRP, Open Source CMMS/EAM, and so on. OFBiz uses a "rich client" web UI via ZK framework. That is, &lt;span class="wikiexternallink" onclick="urchinTracker('ext/ofbiz/csmith')"&gt;&lt;a href="http://docs.ofbiz.org/display/OFBIZ/ZK+Rich+Client+-+integration+tutorial"&gt;a ZK frontend but an OFBiz backend&lt;/a&gt;&lt;/span&gt;.&lt;/span&gt;  &lt;h2 class="heading-1"&gt;&lt;span id="H7Bimage3Ahttp3A2F2Fwwwzkossorg2Fimg2Fwiki2Flogolibxpng7C7C1507C7Cfloatleft7D"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo-libx.png" style="margin-right: 10px;" align="left" width="150" /&gt;&lt;/div&gt; &lt;/span&gt;&lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.libx.org/" onclick="urchinTracker('/whosusingzk/libx')"&gt;LibX&lt;/a&gt;&lt;/span&gt; is a Firefox extension that provides direct access to your library's resources. LibX is an open source framework from which editions for specific libraries can be built. Currently, 61 academic and public libraries (Harvard, MIT, New York State Library, etc.) are offering LibX editions to their users, and additional 86 libraries are testing editions. &lt;span class="wikiexternallink"&gt;&lt;a href="http://libx.org:8080/editionbuilder/src/zul/" onclick="urchinTracker('/whosusingzk/libX-builder')"&gt;LibX Edition Builder&lt;/a&gt;&lt;/span&gt; uses ZK as the rich user interface to build and manage LibX editions. LibX is created by Annette Bailey and Godmar Back. LibX Edition Builder is written by Tilottama Gaat and Godmar Back.&lt;/span&gt;&lt;span id="H5C5C"&gt;&lt;br /&gt;&lt;/span&gt; &lt;h2 class="heading-1"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/logo999s.gif" style="margin-right: 10px;" align="left" width="150" /&gt;&lt;/div&gt; &lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.999fang.com/index/index.zul" onclick="urchinTracker('/whosusingzk/999fang')"&gt;999FANG.COM&lt;/a&gt;&lt;/span&gt; is a leading real estate searching engine in China. It is established by a group of professors and technical experts who aims to provide the most friendly real estate searching service to local people. Currently, 999FANG.COM covers 10 major cities in China including Peking, Shanghai and Nanking. ZK plays an important role in 999FANG.COM's searching engine by providing the functional searching user interface.&lt;/span&gt; &lt;h2 class="heading-1"&gt; &lt;div class="imgfloatleft"&gt;&lt;img src="http://www.zkoss.org/img/wiki/webappcabaret.png" style="margin-right: 10px;" align="left" width="150" /&gt;&lt;/div&gt; &lt;/h2&gt; &lt;span class="edit_section"&gt;&lt;/span&gt;&lt;span style="font-size: 12px; font-family: verdana,geneva;"&gt;&lt;span class="wikiexternallink"&gt;&lt;a href="http://www.webappcabaret.com/wac/main.zul#indexw_bookmark" onclick="urchinTracker('/whosusingzk/webappcabaret')"&gt;WebAppCabaret&lt;/a&gt;&lt;/span&gt; is a leading Java EE Web Hosting and Outsourcing Service Provider in California, offering the latest standards based JAVA EE Servlet containers, EJB servers, and JVMs. WebAppCabaret's portal interface, providing various service options such as e-Commerce, EJB 2.x, the latest PHP, Perl and CGI scripting, is constructed with ZK.&lt;/span&gt;  &lt;div style="margin: 15px 0pt;" align="center"&gt;    &lt;img src="http://www.zkoss.org/img/ruler.gif" /&gt;&lt;/div&gt;       &lt;table style="font-family: Verdana;"&gt;&lt;tbody&gt;&lt;tr&gt;       &lt;td style="padding: 0cm 1.8pt;" vendor=""&gt;       &lt;h4 style="font-family: Verdana,sans-serif; margin-top: 0px;" lang="EN-US"&gt;&lt;a href="http://zkdesktop.sourceforge.net/" style="text-decoration: none;" onclick="urchinTracker('/whosusingzk/ZKD')"&gt;&lt;span style="color: rgb(50, 128, 204); text-decoration: none; font-size: 100%;"&gt;Zero Kelvin Desktop&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;       &lt;/td&gt;       &lt;td style="padding: 0cm 1.8pt;" valign="top" width="100%"&gt;       &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Verdana,sans-serif;" lang="EN-US"&gt;&lt;br /&gt;Web-based desktop environment built by using the ZK AJAX toolkit. It includes advanced, easy-to-use CRUD tools for customized data management.&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr style=""&gt;       &lt;td style="padding: 0cm 1.8pt;" class="vendor" valign="top"&gt;       &lt;h4 style="font-family: Verdana,sans-serif; margin-top: 0px;" lang="EN-US"&gt;&lt;a href="http://sourceforge.net/projects/rozk/" style="text-decoration: none;" onclick="urchinTracker('/ext/ROZK')"&gt;&lt;span style="color: rgb(50, 128, 204); text-decoration: none; font-size: 100%;"&gt;ROZK - Ruby on ZK&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;       &lt;/td&gt;       &lt;td style="padding: 0cm 1.8pt;" valign="top" width="100%"&gt;       &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Verdana;" lang="EN-US"&gt;Building CRUD forms with jRuby and ZK with minimal codes.&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr style=""&gt;       &lt;td style="padding: 0cm 1.8pt;" class="vendor"&gt;       &lt;h4 style="font-family: Verdana,sans-serif; margin-top: 0px;" lang="EN-US"&gt;&lt;a href="http://sourceforge.net/projects/rem1/" style="text-decoration: none;" onclick="urchinTracker('/whosusingzk/REM')"&gt;&lt;span style="color: rgb(50, 128, 204); text-decoration: none; font-size: 100%;"&gt;   REM - A NetBeans Module for ZK&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;       &lt;/td&gt;       &lt;td style="padding: 0cm 1.8pt;" valign="absmiddle" width="100%"&gt;       &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Verdana,sans-serif;" lang="EN-US"&gt;   &lt;!--[if gte IE 5.]&gt; &lt;br/&gt; &lt;![endif]--&gt;  REM is a NetBeans module for ZK application development. It can be used to create ZK web Applications, ZUL and ZS documents.&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr style=""&gt;       &lt;td style="padding: 0cm 1.8pt;" class="vendor"&gt;       &lt;h4 style="font-family: Verdana,sans-serif; margin-top: 0px;" lang="EN-US"&gt;&lt;a href="http://sourceforge.net/projects/zkbeans/" style="text-decoration: none;" onclick="urchinTracker('/whosusingzk/ZKbeans')"&gt;&lt;span style="color: rgb(50, 128, 204); text-decoration: none; font-size: 100%;"&gt;ZK Plugin for NetBeans&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 9pt; font-family: Verdana,sans-serif;" lang="EN-US"&gt;       &lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;       &lt;/td&gt;       &lt;td style="padding: 0cm 1.8pt;" valign="absmiddle" width="100%"&gt;       &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Verdana,sans-serif;" lang="EN-US"&gt;  &lt;!--[if gte IE 5.]&gt; &lt;br/&gt; &lt;![endif]--&gt;  A plugin for Netbeans to support developing ZK framework applications.&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr style=""&gt;       &lt;td style="padding: 0cm 1.8pt;" class="vendor"&gt;       &lt;h4 style="font-family: Verdana,sans-serif; margin-top: 0px;" lang="EN-US"&gt;&lt;a href="http://sourceforge.net/projects/zforms/" style="text-decoration: none;" onclick="urchinTracker('/whosusingzk/Zform')"&gt;&lt;span style="color: rgb(50, 128, 204); text-decoration: none; font-size: 100%;"&gt;ZK based application generating engine&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;       &lt;/td&gt;       &lt;td style="padding: 0cm 1.8pt;" valign="top" width="100%"&gt;       &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Verdana,sans-serif;" lang="EN-US"&gt;   &lt;!--[if gte IE 5.]&gt; &lt;br/&gt; &lt;![endif]--&gt; Zforms generates web interface for CRUD operations introspecting model beans.&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr style=""&gt;       &lt;td style="padding: 0cm 1.8pt;" class="vendor"&gt;       &lt;h4 style="font-family: Verdana,sans-serif; margin-top: 0px;" lang="EN-US"&gt;&lt;a href="http://sourceforge.net/projects/zino/" style="text-decoration: none;" onclick="urchinTracker('/whosusingzk/Zino')"&gt;&lt;span style="color: rgb(50, 128, 204); text-decoration: none; font-size: 100%;"&gt;ZiNO&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;       &lt;/td&gt;       &lt;td style="padding: 0cm 1.8pt;" valign="top" width="100%"&gt;       &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Verdana,sans-serif;" lang="EN-US"&gt;ZiNO, standing for "Zino is Naked Objects", consists of a framework that provides naked objects development to ZK.&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr style=""&gt;       &lt;td style="padding: 0cm 1.8pt;" class="vendor"&gt;       &lt;h4 style="font-family: Verdana,sans-serif; margin-top: 0px;" lang="EN-US"&gt;&lt;a href="http://sourceforge.net/projects/yomari-webdb/" style="text-decoration: none;" onclick="urchinTracker('/whosusingzk/yomari')"&gt;&lt;span style="color: rgb(50, 128, 204); text-decoration: none; font-size: 100%;"&gt;Yomari WebDB&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;       &lt;/td&gt;       &lt;td style="padding: 0cm 1.8pt;" valign="top" width="100%"&gt;       &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Verdana,sans-serif;" lang="EN-US"&gt;   &lt;!--[if gte IE 5.]&gt; &lt;br/&gt; &lt;![endif]--&gt;  A web-based database access tool made with ZK framework.&lt;/span&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;     &lt;tr align="center"&gt;       &lt;td style="padding: 0cm 1.8pt;" class="vendor"&gt;       &lt;h4 style="font-family: Verdana,sans-serif; margin-top: 0px;" lang="EN-US"&gt;&lt;a href="http://sourceforge.net/projects/zkknowledgetree/" style="text-decoration: none;" onclick="urchinTracker('/whosusingzk/zkknowledgetree')"&gt;&lt;span style="color: rgb(50, 128, 204); text-decoration: none; font-size: 100%;"&gt;ZK Knowledge Tree&lt;/span&gt;&lt;/a&gt;&lt;span lang="EN-US"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/h4&gt;       &lt;/td&gt;       &lt;td style="padding: 0cm 1.8pt;" width="100%"&gt;       &lt;p class="MsoNormal"&gt;&lt;span style="font-size: 9pt; font-family: Verdana,sans-serif;" lang="EN-US"&gt;ZK Knowledge Tree is a web based Document Management System based on ZK fr&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-5988096578370135703?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.zkoss.org/whosusingzk/' title='Who&apos;s using ZK?'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/5988096578370135703/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=5988096578370135703' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5988096578370135703'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5988096578370135703'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/10/whos-using-zk.html' title='Who&apos;s using ZK?'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-3774130091806971811</id><published>2007-10-11T23:54:00.000-07:00</published><updated>2007-10-11T23:54:56.643-07:00</updated><title type='text'>OFBiz, The Apache Open For Business Project - Open Source E-Business / E-Commerce, ERP, CRM, POS</title><content type='html'>&lt;a href="http://ofbiz.apache.org/"&gt;OFBiz, The Apache Open For Business Project - Open Source E-Business / E-Commerce, ERP, CRM, POS&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm so glad to know that OFBiz already became a top level project of Apache community.&lt;br /&gt;&lt;br /&gt;Look at these features:&lt;br /&gt;&lt;br /&gt;&lt;p class="contenttext"&gt;&lt;b&gt;&lt;u&gt;General&lt;/u&gt;&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;Free &amp;amp; open source software     &lt;ul&gt;&lt;li class="contenttext"&gt;No license or license maintenance costs &lt;/li&gt;&lt;li class="contenttext"&gt;No vendor, service provider, or application lock-in &lt;/li&gt;&lt;li class="contenttext"&gt;Active and supportive community &lt;/li&gt;&lt;li class="contenttext"&gt;You get full source code         &lt;ul&gt;&lt;li class="contenttext"&gt;You can see how everything works &lt;/li&gt;&lt;li class="contenttext"&gt;You can track down issues quickly &lt;/li&gt;&lt;li class="contenttext"&gt;You can change anything you want &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Apache 2.0 Open Source License         &lt;ul&gt;&lt;li class="contenttext"&gt;You don't have to open source your changes &lt;/li&gt;&lt;li class="contenttext"&gt;You can repackage, distribute, and even sell derivative software &lt;/li&gt;&lt;li class="contenttext"&gt;You can say it is based on Open For Business &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Standards based     &lt;ul&gt;&lt;li class="contenttext"&gt;It is easy to learn for those familiar with similar software &lt;/li&gt;&lt;li class="contenttext"&gt;It is easy to reuse existing software based on the same standards &lt;/li&gt;&lt;li class="contenttext"&gt;It is easy to integrate with other internal or partner systems &lt;/li&gt;&lt;li class="contenttext"&gt;Based on: Sun Java, J2EE; W3C XML, HTML, SOAP; WfMC XPDL; OMG GL, Party, Product, Workflow &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;All applications built on the same framework, tools &amp;amp; components     &lt;ul&gt;&lt;li class="contenttext"&gt;No need to learn and use many different technologies &lt;/li&gt;&lt;li class="contenttext"&gt;No need to integrate applications &lt;/li&gt;&lt;li class="contenttext"&gt;No need to deal with limited features because of poor integrations between disparate technologies &lt;/li&gt;&lt;li class="contenttext"&gt;Huge cost savings because of consistent and easy to maintain components &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Standards based flexible and generic data model     &lt;ul&gt;&lt;li class="contenttext"&gt;Covers all major entities used in businesses &lt;/li&gt;&lt;li class="contenttext"&gt;Provides a structure to simplify the achievement of custom data needs &lt;/li&gt;&lt;li class="contenttext"&gt;Uses common terms for entity names to make it easier to understand and use &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Flexible and efficient to use data layer     &lt;ul&gt;&lt;li class="contenttext"&gt;No database system lock-in; supports many different databases &lt;/li&gt;&lt;li class="contenttext"&gt;No need to write redundant persistence code and configuration &lt;/li&gt;&lt;li class="contenttext"&gt;Easy to use XML data definitions &lt;/li&gt;&lt;li class="contenttext"&gt;Powerful API offers generic operations that behave differently based on data definitions &lt;/li&gt;&lt;li class="contenttext"&gt;Most operations can be done with a single line of code and no need to write supporting code &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Loosely coupled multi-layer component architecure     &lt;ul&gt;&lt;li class="contenttext"&gt;It is easy to customize and reuse components &lt;/li&gt;&lt;li class="contenttext"&gt;It is easy to build new applications through the composition of existing components &lt;/li&gt;&lt;li class="contenttext"&gt;It is easy to find code and other components based on consistent patterns &lt;/li&gt;&lt;li class="contenttext"&gt;Components can be replaced without breaking other components because of well defined and managed dependencies &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Distributed architecture     &lt;ul&gt;&lt;li class="contenttext"&gt;It is easy to scale multiple servers or pools of servers &lt;/li&gt;&lt;li class="contenttext"&gt;It is easy to seamlessly integrate &amp;amp; communicate with other systems &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Service based logic layer     &lt;ul&gt;&lt;li class="contenttext"&gt;All logic modeled as a service &lt;/li&gt;&lt;li class="contenttext"&gt;Makes it easy to reuse logic &lt;/li&gt;&lt;li class="contenttext"&gt;Services can be automatically exposed as Web Services &lt;/li&gt;&lt;li class="contenttext"&gt;Makes it easy add custom user interfaces, even many at once &lt;/li&gt;&lt;li class="contenttext"&gt;Makes it easy to distribute the system over multiple servers &lt;/li&gt;&lt;li class="contenttext"&gt;Makes it easy to communicate with other systems &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Advanced web application framework     &lt;ul&gt;&lt;li class="contenttext"&gt;Separates input processing logic, view data preparation logic and view presentation templates &lt;/li&gt;&lt;li class="contenttext"&gt;Supports many different types of logic, including scripting languages and services &lt;/li&gt;&lt;li class="contenttext"&gt;Supports many different types of view templates including XML/XSLT, FreeMarker, Velocity, JSP, and any other &lt;/li&gt;&lt;li class="contenttext"&gt;Tracks all visits and page hits for security and marketing purposes &lt;/li&gt;&lt;li class="contenttext"&gt;Keeps statistical traffic and performance data since server start and in time bins &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;hr class="sepbar"&gt; &lt;p class="contenttext"&gt;&lt;b&gt;&lt;u&gt;Applications&lt;/u&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="contenttext"&gt;&lt;b&gt;eCommerce&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;Perfect for B2C and B2B eCommerce &lt;/li&gt;&lt;li class="contenttext"&gt;Can be easily configured for secure or public catalog viewing &lt;/li&gt;&lt;li class="contenttext"&gt;Supports automatic switching from HTTP (insecure) to HTTPS (secure) and back based on protection desired for each page &lt;/li&gt;&lt;li class="contenttext"&gt;Product Finding     &lt;ul&gt;&lt;li class="contenttext"&gt;Product search         &lt;ul&gt;&lt;li class="contenttext"&gt;Supports any combination of constraints per search, including keyword, category, feature, and other constraints &lt;/li&gt;&lt;li class="contenttext"&gt;Indexed Product Keyword Constraints             &lt;ul&gt;&lt;li class="contenttext"&gt;Can search for all keywords specified or any keyword specified &lt;/li&gt;&lt;li class="contenttext"&gt;Configurable stop words are removed during indexing and searching so they won't affect search results &lt;/li&gt;&lt;li class="contenttext"&gt;Configurable suffixes (such as -y, -ies, etc) are removed during indexing so they won't affect search results &lt;/li&gt;&lt;li class="contenttext"&gt;Different product fields can be weighted differently when indexing &lt;/li&gt;&lt;/ul&gt;           &lt;/li&gt;&lt;li class="contenttext"&gt;Category Constraints             &lt;ul&gt;&lt;li class="contenttext"&gt;Can restrict search to products in a given category; this makes it possible to only have the products for the active catalog show up in keyword search results and other effects &lt;/li&gt;&lt;li class="contenttext"&gt;Can search in a category and include all child categories &lt;/li&gt;&lt;li class="contenttext"&gt;Can include multiple categories in the search to get a cross section of products in the categories, ie the products must be in all categories &lt;/li&gt;&lt;/ul&gt;           &lt;/li&gt;&lt;li class="contenttext"&gt;Can restrict search to products with a given feature applied &lt;/li&gt;&lt;li class="contenttext"&gt;Search results are ordered by default based on keyword weights determined during indexing, other orderings are supported as well &lt;/li&gt;&lt;li class="contenttext"&gt;When search results are presented all constraints are listed that were used in the search and any one can be removed &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Product category browse         &lt;ul&gt;&lt;li class="contenttext"&gt;Expandable browse tree shows current category context in the left column on relevent pages (by default) &lt;/li&gt;&lt;li class="contenttext"&gt;Products in a category can be layed out with different templates assigned to different categories, and different sub-templates assigned to different products &lt;/li&gt;&lt;li class="contenttext"&gt;By default 10 products are shown at a time and you can go to previous and next pages (these settings are easily changed) &lt;/li&gt;&lt;li class="contenttext"&gt;Products can belong to multiple categories &lt;/li&gt;&lt;li class="contenttext"&gt;Sub-categories can belong to multiple parent categories &lt;/li&gt;&lt;li class="contenttext"&gt;Root browse category will change automatically based on the settings associated with the active catalog &lt;/li&gt;&lt;li class="contenttext"&gt;All product, category and catalog associations are effective dated with from and thru dates &lt;/li&gt;&lt;li class="contenttext"&gt;Unlimited number of products, categories and catalogs &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Product detail view         &lt;ul&gt;&lt;li class="contenttext"&gt;Displays large product image (if one is specified), with a link to the detail image (if one is specified) &lt;/li&gt;&lt;li class="contenttext"&gt;Displays all relevant product information including name, short &amp;amp; long descriptions, price, whether or not inventory is available, etc &lt;/li&gt;&lt;li class="contenttext"&gt;Displays all cross-sells, up-sells, products deprecated by this product, products that deprecate this product, and any other desired associated product through simple template changes &lt;/li&gt;&lt;li class="contenttext"&gt;For products with variants (aka "virtual" products) shows drop downs for each feature type that is associated as a selectable feature; to handle available feature combinations shows all avilable in the first drop down, and each additional one is populated when a selection in a previous drop-down has been chosen &lt;/li&gt;&lt;li class="contenttext"&gt;For products with variants can display small images for each of the features of the first selectable feature type; a useful application of this is having the color be the first selectable feature type and having small images for each different color; when large images are associated with the variant products the large image will change as corresponding features are selected in the drop-down(s) &lt;/li&gt;&lt;li class="contenttext"&gt;Displays links to previous and next products in the current category for easy browsing through the details of a given category &lt;/li&gt;&lt;li class="contenttext"&gt;With flexible product attributes and features additional structured information can easily be added and displayed just how you want &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Special categories         &lt;ul&gt;&lt;li class="contenttext"&gt;Shown on special pages like the main page &lt;/li&gt;&lt;li class="contenttext"&gt;Examples include top 10 most popular, promoted items, new items, etc. &lt;/li&gt;&lt;li class="contenttext"&gt;These categories are attached to the active catalog &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Cross-sells and up-sells         &lt;ul&gt;&lt;li class="contenttext"&gt;Modeled as special types of product associations &lt;/li&gt;&lt;li class="contenttext"&gt;Can also include product deprecations, marketing packages, etc &lt;/li&gt;&lt;li class="contenttext"&gt;Shown on the product detail page for each product &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Shopping cart random cross-sells         &lt;ul&gt;&lt;li class="contenttext"&gt;Random cross-sells are chosen from all items currently in the shopping cart &lt;/li&gt;&lt;li class="contenttext"&gt;Shown three at a time; when more than three unique products are available a different set is chosen on each new page &lt;/li&gt;&lt;li class="contenttext"&gt;As a product is added to the shopping cart it is no longer shown &lt;/li&gt;&lt;li class="contenttext"&gt;Displayed on the shopping cart detail page &lt;/li&gt;&lt;li class="contenttext"&gt;Displayed in a small box in the right column underneath the mini shopping cart on relevant pages (by default)           &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Quick re-order         &lt;ul&gt;&lt;li class="contenttext"&gt;Re-order list built from products previously ordered &lt;/li&gt;&lt;li class="contenttext"&gt;List is weighted by quantity ordered and frequency of ordering &lt;/li&gt;&lt;li class="contenttext"&gt;Default re-order quantity is an average of all quantities previous ordered for a given product &lt;/li&gt;&lt;li class="contenttext"&gt;Only the top five are shown at any given time &lt;/li&gt;&lt;li class="contenttext"&gt;As a product is added to the shopping cart it is no longer shown &lt;/li&gt;&lt;li class="contenttext"&gt;Displayed in a small box at the bottom of the right column on relevant pages (by default) &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Promotions     &lt;ul&gt;&lt;li class="contenttext"&gt;Promotion Conditions Supported         &lt;ul&gt;&lt;li class="contenttext"&gt;Cart Sub-total &lt;/li&gt;&lt;li class="contenttext"&gt;Total Amount of Product &lt;/li&gt;&lt;li class="contenttext"&gt;X Amount of Product &lt;/li&gt;&lt;li class="contenttext"&gt;X Quantity of Product &lt;/li&gt;&lt;li class="contenttext"&gt;Account Days Since Created &lt;/li&gt;&lt;li class="contenttext"&gt;Party &lt;/li&gt;&lt;li class="contenttext"&gt;Role Type &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Promotion Actions Supported         &lt;ul&gt;&lt;li class="contenttext"&gt;Gift With Purchase &lt;/li&gt;&lt;li class="contenttext"&gt;Free Shipping &lt;/li&gt;&lt;li class="contenttext"&gt;X Product for Y% Discount &lt;/li&gt;&lt;li class="contenttext"&gt;X Product for Y Discount &lt;/li&gt;&lt;li class="contenttext"&gt;X Product for Y Price &lt;/li&gt;&lt;li class="contenttext"&gt;Order Percent Discount &lt;/li&gt;&lt;li class="contenttext"&gt;Order Amount Flat &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Use limits per order, customer, promotion       &lt;/li&gt;&lt;li class="contenttext"&gt;Promotion Codes         &lt;ul&gt;&lt;li class="contenttext"&gt;Can be required for promotion to apply &lt;/li&gt;&lt;li class="contenttext"&gt;Use limits per customer, code &lt;/li&gt;&lt;li class="contenttext"&gt;Can be restricted to only allow use by a customer with a specific email address or party ID &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Can associate products and/or categories with the entire promotion or a specific condition or action, support include, exclude, and always associations &lt;/li&gt;&lt;li class="contenttext"&gt;With conditions and actions can support buy X get Y free (or for Z% discount) and many other options &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Rule Based Pricing     &lt;ul&gt;&lt;li class="contenttext"&gt;&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Customer Profile     &lt;ul&gt;&lt;li class="contenttext"&gt;&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Shopping Cart &amp;amp; Checkout Process     &lt;ul&gt;&lt;li class="contenttext"&gt;&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Order History     &lt;ul&gt;&lt;li class="contenttext"&gt;&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Affiliate &amp;amp; Marketing Data     &lt;ul&gt;&lt;li class="contenttext"&gt;&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;/ul&gt; &lt;p class="contenttext"&gt;&lt;b&gt;Party Manager&lt;br /&gt;&lt;/b&gt;&lt;/p&gt; &lt;div style="margin-left: 40px;"&gt;Note: A Party can be either a Person, or a group of Parties. A Party Group could be a company, an organization within the company, a supplier, a customer, and so forth. Information that describes Parties or is directly related to Parties is contained in these entities.&lt;br /&gt;&lt;/div&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;Party Types: Persons and Groups &lt;/li&gt;&lt;li class="contenttext"&gt;Finding Parties &lt;/li&gt;&lt;li class="contenttext"&gt;Party Data Maintenance     &lt;ul&gt;&lt;li class="contenttext"&gt;Personal Data &lt;/li&gt;&lt;li class="contenttext"&gt;Organization Data &lt;/li&gt;&lt;li class="contenttext"&gt;UserLogin &amp;amp; Security Data &lt;/li&gt;&lt;li class="contenttext"&gt;Contact Mechanisms: Telecom Number, Postal Address, Email Address, Web Page Address, etc. &lt;/li&gt;&lt;li class="contenttext"&gt;Payment Mechanisms: Credit Cards, EFT Accounts &lt;/li&gt;&lt;li class="contenttext"&gt;Party Roles &lt;/li&gt;&lt;li class="contenttext"&gt;Party Relationships &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Security Data Maintenance     &lt;ul&gt;&lt;li class="contenttext"&gt;Security Permissions &lt;/li&gt;&lt;li class="contenttext"&gt;Security Groups &lt;/li&gt;&lt;li class="contenttext"&gt;UserLogin Group Membership &lt;/li&gt;&lt;li class="contenttext"&gt;Group Permission Association &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;/ul&gt; &lt;p class="contenttext"&gt;&lt;b&gt;Marketing Manager&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;Tracking Code Management &lt;/li&gt;&lt;li class="contenttext"&gt;Marketing Campaign Management     &lt;ul&gt;&lt;li class="contenttext"&gt;Central place to track marketing activities &lt;/li&gt;&lt;li class="contenttext"&gt;Right now includes promotions and tracking codes &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;/ul&gt; &lt;p class="contenttext"&gt;&lt;b&gt;Catalog Manager&lt;br /&gt;&lt;/b&gt;&lt;/p&gt; Everything involving your products that will be seen by your customers is managed from here.&lt;br /&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Product Stores     &lt;ul&gt;&lt;li class="contenttext"&gt; Identify the venue from which sales will be made&lt;/li&gt;&lt;li class="contenttext"&gt;Select which stores will handle which catalogs, categories and products&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Product Catalogs     &lt;ul&gt;&lt;li class="contenttext"&gt;Create new catalogs&lt;br /&gt;      &lt;/li&gt;&lt;li class="contenttext"&gt;Develop collections of products or categories, assigning them to their related catalogs&lt;/li&gt;&lt;li class="contenttext"&gt;Associate product with price, location, availability, features, graphics, and other details&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Product Categories     &lt;ul&gt;&lt;li class="contenttext"&gt; Specify what products or features will be gathered under what categories&lt;/li&gt;&lt;li class="contenttext"&gt;Create categories as needed here&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Products     &lt;ul&gt;&lt;li class="contenttext"&gt; Define products&lt;/li&gt;&lt;li class="contenttext"&gt;Describe products&lt;/li&gt;&lt;li class="contenttext"&gt;Associate graphic images with products&lt;/li&gt;&lt;li class="contenttext"&gt;Gather information on facilities, inventory, content, IDs, keywords, associations, suppliers, attributes, and more&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Product Features     &lt;ul&gt;&lt;li class="contenttext"&gt; Add, delete or modify features as shown in the catalog for any product&lt;/li&gt;&lt;li class="contenttext"&gt;Changes to features can be date defined to start and to stop&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Price Rules     &lt;ul&gt;&lt;li class="contenttext"&gt; Prices can be modified at a working employee or ordering level when the rules are defined here for price variations such as discounts, special sales conditions, etc.&lt;br /&gt;      &lt;/li&gt;&lt;li class="contenttext"&gt;Create names (IDs) for prices rules to be applied to events, categories, products, stores, etc.&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Promotions     &lt;ul&gt;&lt;li class="contenttext"&gt; Define product promotions&lt;/li&gt;&lt;li class="contenttext"&gt;Specify text for promotion&lt;/li&gt;&lt;li class="contenttext"&gt;Specify rules for administration&lt;/li&gt;&lt;li class="contenttext"&gt;Identify stores for applicability&lt;/li&gt;&lt;li class="contenttext"&gt;Assign tracking codes&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;/ul&gt; &lt;p class="contenttext"&gt;&lt;b&gt;Facility Manager&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;Facility Management     &lt;ul&gt;&lt;li class="contenttext"&gt;Facility         &lt;ul&gt;&lt;li class="contenttext"&gt;Facility can be a Warehouse, Retail Store, Office, Building, Meeting Room, etc, etc. &lt;/li&gt;&lt;li class="contenttext"&gt;Inventory &amp;amp; Warehouse Management             &lt;ul&gt;&lt;li class="contenttext"&gt;Inventory Location Management &lt;/li&gt;&lt;li class="contenttext"&gt;Pick/Primary and Bulk Location Management, set thresholds for recommend replenishment stock moves &lt;/li&gt;&lt;li class="contenttext"&gt;Inventory Management: Quantity On Hand &amp;amp; Available To Promise with Order Inventory Reservations and Item Issuance for Shipments &lt;/li&gt;&lt;li class="contenttext"&gt;Pick &amp;amp; Pack Management with picklist generation, supports limited number of orders per picklist, sorts list by location, can generate pick lists separately for different shipment methods &lt;/li&gt;&lt;li class="contenttext"&gt;Handles order splitting preference to ship all at once or as available &lt;/li&gt;&lt;li class="contenttext"&gt;Order only included in picklists when sufficient inventory is on hand in pick/primary locations &lt;/li&gt;&lt;li class="contenttext"&gt;Streamlined or detailed packing and shipping processes with serial scale support for weighing and label printing support &lt;/li&gt;&lt;/ul&gt;           &lt;/li&gt;&lt;li class="contenttext"&gt;&lt;br /&gt;          &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Facility Group         &lt;ul&gt;&lt;li class="contenttext"&gt; Grouping facilities under a common topic enables consolidated assignments or instructions&lt;/li&gt;&lt;li class="contenttext"&gt;Group features&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Rollups (parent/child relationships)&lt;/li&gt;&lt;li class="contenttext"&gt;Role assignments&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Party to group&lt;/li&gt;&lt;li class="contenttext"&gt;Group to party&lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;Time of existence or relationship&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;From&lt;/li&gt;&lt;li class="contenttext"&gt;Thru&lt;br /&gt;              &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Shipment Management     &lt;ul&gt;&lt;li class="contenttext"&gt;Parties&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Contact mechanism content&lt;br /&gt;        &lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;Automatic Shipment Creation from Purchase and Sales Orders&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Estimated Costing&lt;/li&gt;&lt;li class="contenttext"&gt;Latest Cancel Date&lt;br /&gt;        &lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;Shipment Scheduling &lt;/li&gt;&lt;li class="contenttext"&gt;Shipment Items &lt;/li&gt;&lt;li class="contenttext"&gt;Shipment Packages &lt;/li&gt;&lt;li class="contenttext"&gt;Shipment Item Package Assignment &lt;/li&gt;&lt;li class="contenttext"&gt;Shipment Route Segments &lt;/li&gt;&lt;li class="contenttext"&gt;Shipment Package Route Segment Assignment       &lt;/li&gt;&lt;li class="contenttext"&gt;Generate a Shipment Plan&lt;br /&gt;      &lt;/li&gt;&lt;li class="contenttext"&gt;UPS XML-based Integration (XPCI)         &lt;ul&gt;&lt;li class="contenttext"&gt;Confirm Shipment (gets tracking number, pricing and other information) &lt;/li&gt;&lt;li class="contenttext"&gt;Accept Shipment (gets shipping label image and finalizes the shipment) &lt;/li&gt;&lt;li class="contenttext"&gt;UPS then knows what to pickup and has all information about shipments and packages &lt;/li&gt;&lt;li class="contenttext"&gt;Void Shipment &lt;/li&gt;&lt;li class="contenttext"&gt;Track Shipment (updates tracking info) &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;/ul&gt; &lt;p class="contenttext"&gt;&lt;b&gt;Order Manager&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;Search for existing orders&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;By Order ID or Customer PO#&lt;/li&gt;&lt;li class="contenttext"&gt;By Product ID&lt;/li&gt;&lt;li class="contenttext"&gt;By Role Type&lt;/li&gt;     &lt;&gt;By Party ID or User LoginID&lt;li class="contenttext"&gt;By Order Type&lt;/li&gt;     &lt;&gt;By Store or Web Site&lt;li class="contenttext"&gt;By Status&lt;/li&gt;&lt;li class="contenttext"&gt;With Date Filter&lt;br /&gt;    &lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;View existing orders&lt;br /&gt;  &lt;/li&gt;&lt;li class="contenttext"&gt;Order Entry     &lt;ul&gt;&lt;li class="contenttext"&gt;Sales Orders &lt;/li&gt;&lt;li class="contenttext"&gt;Purchase Orders &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Purchase Order Receipt Scheduling &lt;/li&gt;&lt;li class="contenttext"&gt;Back Orders: includes customer notification, delivery estimates, partial CC settlements, CC refunds, etc &lt;/li&gt;&lt;li class="contenttext"&gt;Returns &amp;amp; Refunds: based on order items, track reasons, put refunds on CC, billing account, mail a check, store credit, etc; assisted creation of replacement order   &lt;/li&gt;&lt;/ul&gt; &lt;p class="contenttext"&gt;&lt;b&gt;Accounting Manager&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;General Ledger Accounts&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;View Chart of Accounts&lt;/li&gt;&lt;li class="contenttext"&gt;Create New GL Account&lt;/li&gt;&lt;li class="contenttext"&gt;Edit an existing GL Account&lt;br /&gt;    &lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;Billing Accounts&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Find a Billing Account&lt;br /&gt;    &lt;/li&gt;&lt;li class="contenttext"&gt;View/Edit a Billing Account&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Delete&lt;br /&gt;      &lt;/li&gt;&lt;li class="contenttext"&gt;Update&lt;/li&gt;&lt;li class="contenttext"&gt;Modify Roles&lt;/li&gt;&lt;li class="contenttext"&gt;Modify/Create new Terms&lt;/li&gt;&lt;li class="contenttext"&gt;Find/View Invoices&lt;/li&gt;&lt;li class="contenttext"&gt;Payments&lt;br /&gt;      &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;Invoices     &lt;ul&gt;&lt;li class="contenttext"&gt;Find/View existing Invoices&lt;br /&gt;      &lt;/li&gt;&lt;li class="contenttext"&gt;Automatic Invoices from Purchase and Sales Orders &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Payments&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Find a Payment Received&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;by Payment ID&lt;/li&gt;&lt;li class="contenttext"&gt;by Payment Method Type&lt;/li&gt;&lt;li class="contenttext"&gt;by Status&lt;/li&gt;&lt;li class="contenttext"&gt;From/To Party&lt;/li&gt;&lt;li class="contenttext"&gt;with Date Filter&lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;Record a Manual Transaction&lt;br /&gt;    &lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt; &lt;p class="contenttext"&gt;&lt;b&gt;Work Effort Manager&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;Track work efforts     &lt;ul&gt;&lt;li class="contenttext"&gt;Tasks &amp;amp; to-do items         &lt;ul&gt;&lt;li class="contenttext"&gt;Hierarchical items for projects, phases, tasks, sub-tasks, etc. &lt;/li&gt;&lt;li class="contenttext"&gt;Assign items to multiple parties &lt;/li&gt;&lt;li class="contenttext"&gt;Track priority, cost estimates, etc &lt;/li&gt;&lt;li class="contenttext"&gt;Track estimated and actual: start times, end times, durations &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Calendar events         &lt;ul&gt;&lt;li class="contenttext"&gt;Manage shared and private scheduled calendar event&lt;/li&gt;&lt;li class="contenttext"&gt;View by day, by week or by month&lt;/li&gt;&lt;li class="contenttext"&gt;Notify other parties of events, tasks, assignments, and accomplishments&lt;br /&gt;          &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Workflow activities         &lt;ul&gt;&lt;li class="contenttext"&gt;View all activities assigned to you &lt;/li&gt;&lt;li class="contenttext"&gt;View all activities assigned to a role or party group that you belong to &lt;/li&gt;&lt;li class="contenttext"&gt;Update the status of your involvement in the activity &lt;/li&gt;&lt;li class="contenttext"&gt;Based on your status updates the system will automatically update the activity status &lt;/li&gt;&lt;li class="contenttext"&gt;Custom templates and views can be added to display information related to each activity from the workflow process context or other database data &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Work efforts are associated with the cost side of the Cost-Benefit analysis; to manage both sides of the comparison work efforts can be associated with requirements or requests       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Track requests     &lt;ul&gt;&lt;li class="contenttext"&gt;Supports requests: for support, for features, for fixes, for information, for quotes, for proposals &lt;/li&gt;&lt;li class="contenttext"&gt;Associate requests with requirements &lt;/li&gt;&lt;li class="contenttext"&gt;Associate requests with work efforts (tasks, projects, etc) &lt;/li&gt;&lt;li class="contenttext"&gt;Each request consists of multiple items, each of which contains details about what is desired &lt;/li&gt;&lt;li class="contenttext"&gt;The request acts as a package of multple desired items &lt;/li&gt;&lt;li class="contenttext"&gt;Each request item contains a "story" of what is desired &lt;/li&gt;&lt;li class="contenttext"&gt;In the Cost-Benefit scheme of things a request is associated with the benefit side; costs are associated with the resulting work efforts, allowing you to track and manage BOTH sides of the comparison &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Track requirements     &lt;ul&gt;&lt;li class="contenttext"&gt;Used to internally manage required features for a product &lt;/li&gt;&lt;li class="contenttext"&gt;Usually based on requests, or request items to be more accurate &lt;/li&gt;&lt;li class="contenttext"&gt;Each requirement contains a "use case" for a more formal description of what is to be created &lt;/li&gt;&lt;li class="contenttext"&gt;Requirements are also on the benefit side of the Cost-Benefit analysis, but the benefits are generally better understood through associated requests &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;/ul&gt; &lt;p class="contenttext"&gt;&lt;b&gt;Content Manager&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;Web Site Management&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Create sites&lt;/li&gt;&lt;li class="contenttext"&gt;Modify sites&lt;/li&gt;&lt;li class="contenttext"&gt;Associate parties&lt;/li&gt;&lt;li class="contenttext"&gt;Assign Hosts and Ports&lt;/li&gt;&lt;li class="contenttext"&gt;Establish Standard and Secure Content Prefix&lt;/li&gt;&lt;li class="contenttext"&gt;Specify Cookie Domain&lt;br /&gt;    &lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;Dynamic Survey Management&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Create survey&lt;/li&gt;&lt;li class="contenttext"&gt;Find existing survey&lt;br /&gt;    &lt;/li&gt;&lt;li class="contenttext"&gt;Edit existing survey&lt;br /&gt;    &lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;General Information/Concepts     &lt;ul&gt;&lt;li class="contenttext"&gt;Basic Content application screens for creating/updating content, data resources, meta data, content structure, etc. &lt;/li&gt;&lt;li class="contenttext"&gt;Use slightly modified WYSISWIG editors from WSPublisher for editing of HTML, XML, plain text and other content       &lt;/li&gt;&lt;li class="contenttext"&gt;Tools to mount content structures as webapp resources &lt;/li&gt;&lt;li class="contenttext"&gt;Associate parties with content for administrative purposes or for things like keeping track of who has read and who must read specific content &lt;/li&gt;&lt;li class="contenttext"&gt;Categorization and security features so that sets of content can be administered and view by limited groups of users. &lt;/li&gt;&lt;li class="contenttext"&gt;FreeMarker/XSLT/Velocity to allow for templating in content text, makes it more flexible like JSPs for dynamic content when needed &lt;/li&gt;&lt;li class="contenttext"&gt;Utility transforms put in the FreeMarker context for content templates that allow for including other content, refering to external resources such as images, javascript files, CSS files, etc. &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Data Resource Management&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Powerful search engine to find existing resources&lt;/li&gt;&lt;li class="contenttext"&gt;Specify/Identify resources&lt;/li&gt;&lt;li class="contenttext"&gt;Locate/Edit Text, HTML, Images, Attributes, Roles and Product Features&lt;br /&gt;    &lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;Content Management&lt;/li&gt;&lt;ul&gt;&lt;li class="contenttext"&gt;Specify the Content Setup by updating the Content Type ID for Parent TYpe Id, description, etc.&lt;br /&gt;    &lt;/li&gt;&lt;/ul&gt;&lt;li class="contenttext"&gt;Layout Editor   &lt;/li&gt;&lt;/ul&gt; &lt;p class="contenttext"&gt;&lt;b&gt;WebTools&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li class="contenttext"&gt;Cache Tools     &lt;ul&gt;&lt;li class="contenttext"&gt;Cache Maintenance         &lt;ul&gt;&lt;li class="contenttext"&gt;View cache size and hit/miss statistics &lt;/li&gt;&lt;li class="contenttext"&gt;Clear all caches, individual caches, even individual cache lines &lt;/li&gt;&lt;li class="contenttext"&gt;Clear all expired cache entries &lt;/li&gt;&lt;li class="contenttext"&gt;Manage cache prameters such as size limit, expire time, soft references, etc &lt;/li&gt;&lt;li class="contenttext"&gt;View inidividual elements in each cache &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Debug Tools     &lt;ul&gt;&lt;li class="contenttext"&gt;Adjust Debugging Levels         &lt;ul&gt;&lt;li class="contenttext"&gt;Adjust debug log message levels as the application is running &lt;/li&gt;&lt;li class="contenttext"&gt;Changes here stay until the server is shut down &lt;/li&gt;&lt;li class="contenttext"&gt;For permanent changes, use the debug.properties file &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Entity Engine Tools     &lt;ul&gt;&lt;li class="contenttext"&gt;Entity Data Maintenance         &lt;ul&gt;&lt;li class="contenttext"&gt;Find, view, create, update, and remove data in any entity &lt;/li&gt;&lt;li class="contenttext"&gt;Works dynamically according to entity definitions &lt;/li&gt;&lt;li class="contenttext"&gt;Uses flexible permissions to allow access to all entities, or to a specific set of entities &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Entity Reference &amp;amp; Editing         &lt;ul&gt;&lt;li class="contenttext"&gt;Displays detail about all defined entities including fields, types, table &amp;amp; column names, relationships, etc &lt;/li&gt;&lt;li class="contenttext"&gt;In main view frame entities are sorted alphabeticly by package &lt;/li&gt;&lt;li class="contenttext"&gt;In the left frame there is an alphabetical list of package and an alphabetical list of all entities &lt;/li&gt;&lt;li class="contenttext"&gt;Relationships are displayed with links to the related entities, making it easy to browse the data model &lt;/li&gt;&lt;li class="contenttext"&gt;An editing page can be used to create and modify entity definitions in memory &lt;/li&gt;&lt;li class="contenttext"&gt;A page that compares entity definitions to the database (just like what is done on startup) and optionally adds missing tables and columns to the database &lt;/li&gt;&lt;li class="contenttext"&gt;Templates that write the entity model and entity group model XML files in a consistent way for easy comparison (note that these must be used to save in memory entity definition changes); these templates can also be used to output this information to the browser &lt;/li&gt;&lt;li class="contenttext"&gt;A template that reads database meta-data and creates first pass XML entity definitions which can then be refined according to your preferences &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;XML Data Export         &lt;ul&gt;&lt;li class="contenttext"&gt;Exports data from entities as an XML file &lt;/li&gt;&lt;li class="contenttext"&gt;The XML is structured such that there is one element for each entity instance, and one attribute or sub-element for each populated field in the entity &lt;/li&gt;&lt;li class="contenttext"&gt;The XML file can be saved to the disk on the server or delivered through the browser to be viewed and/or saved on the client &lt;/li&gt;&lt;li class="contenttext"&gt;High performance and scalable stream based output technique can export an unlimited number of entity instances in each pass &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;XML Data Import         &lt;ul&gt;&lt;li class="contenttext"&gt;Imports data from entities in an XML file &lt;/li&gt;&lt;li class="contenttext"&gt;The XML is structured such that there is one element for each entity instance, and one attribute or sub-element for each populated field in the entity &lt;/li&gt;&lt;li class="contenttext"&gt;The XML file can be loaded from the disk on the server or uploaded through a form in the browser &lt;/li&gt;&lt;li class="contenttext"&gt;High performance and scalable stream and SAX based input processing technique can import an unlimited number of entity instances in each pass &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Service Engine Tools     &lt;ul&gt;&lt;li class="contenttext"&gt;Job List         &lt;ul&gt;&lt;li class="contenttext"&gt;View all scheduled "job" services &lt;/li&gt;&lt;li class="contenttext"&gt;Displays job ID, start date/time, finish date/time, and service name to invoke &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Schedule Job         &lt;ul&gt;&lt;li class="contenttext"&gt;Allows the manual scheduling of a named service &lt;/li&gt;&lt;li class="contenttext"&gt;Can specify interval size and count &lt;/li&gt;&lt;li class="contenttext"&gt;Can specify an absolute start and finish date/time &lt;/li&gt;&lt;li class="contenttext"&gt;Can manually add data to the persisted context used for running the service &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Thread Viewer &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Workflow Engine Tools     &lt;ul&gt;&lt;li class="contenttext"&gt;Workflow Monitor         &lt;ul&gt;&lt;li class="contenttext"&gt;View all running processes &lt;/li&gt;&lt;li class="contenttext"&gt;Displays package &amp;amp; version, process &amp;amp; version, status, priority, start date, etc for each process &lt;/li&gt;&lt;li class="contenttext"&gt;Can drill down to see all activity instances that are part of the process &lt;/li&gt;&lt;li class="contenttext"&gt;Displays activity ID, priority, status, start date, complete date and assignments for each activity &lt;/li&gt;&lt;li class="contenttext"&gt;Links to activity management page in the Work Effort Manager for each activity &lt;/li&gt;&lt;li class="contenttext"&gt;Links to party profile management page in the Party Manager for each party assigned to each activity &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Read XPDL File         &lt;ul&gt;&lt;li class="contenttext"&gt;Reads, verifies, and displays an XPDL file &lt;/li&gt;&lt;li class="contenttext"&gt;Can be located in a file on the server or at any URL location &lt;/li&gt;&lt;li class="contenttext"&gt;Can verify only, or also write the data to the database for workflow process execution &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Rule Engine Tools     &lt;ul&gt;&lt;li class="contenttext"&gt;Logikus - Run Rulesets         &lt;ul&gt;&lt;li class="contenttext"&gt;Provides a web-based user interface for querying a ruleset containing facts and inductive rules &lt;/li&gt;&lt;li class="contenttext"&gt;Currently only supports backward chaining &lt;/li&gt;&lt;li class="contenttext"&gt;Can determine one result at a time or all results at once &lt;/li&gt;&lt;li class="contenttext"&gt;Many example rulesets are included for experimentation &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Data File Tools     &lt;ul&gt;&lt;li class="contenttext"&gt;View Data File         &lt;ul&gt;&lt;li class="contenttext"&gt;Displays data from flat files based on a format definition file &lt;/li&gt;&lt;li class="contenttext"&gt;Can write the data file back out to verify the format definition and read/write repeatability &lt;/li&gt;&lt;li class="contenttext"&gt;Can load data file and format definition file from a URL or file on the server &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Misc. Setup Tools     &lt;ul&gt;&lt;li class="contenttext"&gt;Edit Custom Time Periods         &lt;ul&gt;&lt;li class="contenttext"&gt;Browse, create, update, and delete hierarchical custom time periods &lt;/li&gt;&lt;li class="contenttext"&gt;Time periods can be associated with an organization party, and browsing time periods can be filtered by party ID &lt;/li&gt;&lt;li class="contenttext"&gt;Manages fiscal years, quarters, months, bi-week, week and any custom period type &lt;/li&gt;&lt;li class="contenttext"&gt;Track a period number, period name, from date and thru date with each time period &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Edit Enumerations         &lt;ul&gt;&lt;li class="contenttext"&gt;&lt;br /&gt;          &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;li class="contenttext"&gt;Edit Status Options         &lt;ul&gt;&lt;li class="contenttext"&gt;&lt;br /&gt;          &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;li class="contenttext"&gt;Server Hit Statistics Tools     &lt;ul&gt;&lt;li class="contenttext"&gt;Stats Since Server Start         &lt;ul&gt;&lt;li class="contenttext"&gt;Displays server load and performance statistics for each resource, group of resources, and for all resources           &lt;/li&gt;&lt;li class="contenttext"&gt;Tracks data about different types of resources including requests, events and views &lt;/li&gt;&lt;li class="contenttext"&gt;Displays accumulated data since the server started &lt;/li&gt;&lt;li class="contenttext"&gt;Links to pages that display the same data for specifc time bins &lt;/li&gt;&lt;li class="contenttext"&gt;Time bin data is persisted for future analysis &lt;/li&gt;&lt;/ul&gt;       &lt;/li&gt;&lt;/ul&gt;   &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Great!!! Come on, build your applications by using this pure free and open source technology.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-3774130091806971811?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://ofbiz.apache.org/' title='OFBiz, The Apache Open For Business Project - Open Source E-Business / E-Commerce, ERP, CRM, POS'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/3774130091806971811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=3774130091806971811' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3774130091806971811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3774130091806971811'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/10/ofbiz-apache-open-for-business-project.html' title='OFBiz, The Apache Open For Business Project - Open Source E-Business / E-Commerce, ERP, CRM, POS'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1305221361869211602</id><published>2007-10-11T22:15:00.000-07:00</published><updated>2007-10-11T22:15:28.919-07:00</updated><title type='text'>Java HotSpot VM Options</title><content type='html'>&lt;a href="http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp#DebuggingOptions"&gt;Java HotSpot VM Options&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A collection of java VM options.&lt;br /&gt;&lt;br /&gt;   &lt;br /&gt;&lt;h3&gt;Some Useful -XX Options&lt;/h3&gt; &lt;span class="sp5"&gt; &lt;/span&gt;&lt;br /&gt;&lt;p&gt; Default values are listed for Java SE 6 for Solaris Sparc with -server. Some options may vary per architecture/OS/JVM version. Platforms with a differing default value are listed in the description. &lt;/p&gt; &lt;ul&gt;&lt;li&gt;Boolean options are turned on with &lt;code&gt;-XX:+&lt;option&gt;&lt;/code&gt; and turned off with &lt;code&gt;-XX:-&lt;option&gt;&lt;/code&gt;.&lt;/li&gt;&lt;li&gt;Numeric options are set with &lt;code&gt; -XX:&lt;option&gt;=&lt;number&gt;&lt;/code&gt;. Numbers can include 'm' or 'M' for megabytes, 'k' or 'K' for kilobytes, and 'g' or 'G' for gigabytes (for example, 32k is the same as 32768).&lt;/li&gt;&lt;li&gt;String options are set with &lt;code&gt;-XX:&lt;option&gt;=&lt;string&gt;&lt;/code&gt;, are usually used to specify a file, a path, or a list of commands&lt;/li&gt;&lt;/ul&gt; &lt;p&gt; Flags marked as &lt;i&gt;manageable&lt;/i&gt; are dynamically writeable through the JDK management interface (com.sun.management.HotSpotDiagnosticMXBean API) and also through JConsole. In &lt;a href="http://java.sun.com/developer/technicalArticles/J2SE/monitoring/#Heap_Dump"&gt;Monitoring and Managing Java SE 6 Platform Applications&lt;/a&gt;, Figure 3 shows an example. The manageable flags can also be set through &lt;a href="http://java.sun.com/javase/6/docs/technotes/tools/share/jinfo.html"&gt;jinfo -flag&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The options below are loosely grouped into three categories.  &lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;a href="http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp#BehavioralOptions"&gt;Behavioral options&lt;/a&gt; change the basic behavior of the VM. &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp#PerformanceTuning"&gt;Performance tuning&lt;/a&gt; options are knobs which can be used to tune VM performance. &lt;/li&gt;&lt;li&gt;&lt;a href="http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp#DebuggingOptions"&gt;Debugging options&lt;/a&gt; generally enable tracing, printing, or output of VM information.&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1305221361869211602?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp#DebuggingOptions' title='Java HotSpot VM Options'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1305221361869211602/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1305221361869211602' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1305221361869211602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1305221361869211602'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/10/java-hotspot-vm-options.html' title='Java HotSpot VM Options'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-8423188663066212103</id><published>2007-10-08T23:39:00.000-07:00</published><updated>2007-10-08T23:41:01.978-07:00</updated><title type='text'>做了一个事业类型测试(PsyTopic.com制作)</title><content type='html'>结果如下：&lt;br /&gt;PsyTopic分析：您的得分介于100分到139分： 爱幻想，思维较感性，以是否与自己投缘为标准来选择朋友。性格显得较孤傲，有时较急噪，有时优柔寡断。事业心较强，喜欢有创造性的工作，不喜欢按常规办事。性格倔强，言语犀利，不善于妥协。崇尚浪漫的爱情，但想法往往不切合实际。金钱欲望一般。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-8423188663066212103?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/8423188663066212103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=8423188663066212103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8423188663066212103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8423188663066212103'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/10/psytopiccom.html' title='做了一个事业类型测试(PsyTopic.com制作)'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7807766900656147824</id><published>2007-09-26T21:05:00.000-07:00</published><updated>2007-09-26T21:05:18.200-07:00</updated><title type='text'>Good and Bad Reasons to Open Source Your Software @ ENTERPRISE OPEN SOURCE MAGAZINE</title><content type='html'>&lt;a href="http://opensource.sys-con.com/read/431545.htm"&gt;Good and Bad Reasons to Open Source Your Software @ ENTERPRISE OPEN SOURCE MAGAZINE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Look at this:&lt;br /&gt;&lt;strong&gt;Three Worst Reasons&lt;/strong&gt;&lt;br /&gt;Open sourcing your software isn't always the best business strategy. This section reviews some of the worst reasons you can have to open source a particular technology or create a new open source project:&lt;ol&gt;&lt;li&gt; You have obsolete software that you want to get rid of and you think that open sourcing it is a good way to get rid of it. &lt;/li&gt;&lt;li&gt; You're looking to leverage free engineering from the open source community and by open sourcing you think open source developers will lineup to contribute to your project. &lt;/li&gt;&lt;li&gt; You have software that you don't need anymore and instead of terminating the project or canceling it, you decide to open source it and then call it a win. &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;In my perspective, most of the companies have this kind of idea when they decided to open source their codes. IBM, Borland, Sun or some one else. And yes, they call it success.&lt;br /&gt;A real funny thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7807766900656147824?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://opensource.sys-con.com/read/431545.htm' title='Good and Bad Reasons to Open Source Your Software @ ENTERPRISE OPEN SOURCE MAGAZINE'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7807766900656147824/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7807766900656147824' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7807766900656147824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7807766900656147824'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/good-and-bad-reasons-to-open-source.html' title='Good and Bad Reasons to Open Source Your Software @ ENTERPRISE OPEN SOURCE MAGAZINE'/><author><name>Jimmy</name><uri>http://www.blogger.com/profile/04529371545639179719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-5667633258905329777</id><published>2007-09-26T01:15:00.000-07:00</published><updated>2007-09-26T01:15:53.344-07:00</updated><title type='text'>SSH tunnel and vnc</title><content type='html'>&lt;a href="http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_16126&amp;amp;sliceId=2"&gt;Creating an SSH tunnel for secure authentication (Windows)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ssh -N -L 9090:remote-internal-system:80 root@gateway-hostname&lt;br /&gt;&lt;br /&gt;and please keep the session on&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and vnc to the remote-internal-system:&lt;br /&gt;a. setup vncserver on remote-internal-system&lt;br /&gt;b. vncviewer -via root@gateway-hostname remote-intenal-system&lt;br /&gt;actually this step is the same as ssh tunnel: ssh -f -L 5599:remote-internal-system:5900 root@gateway-hostname&lt;br /&gt;&lt;br /&gt;I google a lot, and this is the simplest solution.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-5667633258905329777?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_16126&amp;sliceId=2' title='SSH tunnel and vnc'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/5667633258905329777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=5667633258905329777' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5667633258905329777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5667633258905329777'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/ssh-tunnel-and-vnc.html' title='SSH tunnel and vnc'/><author><name>Jimmy</name><uri>http://www.blogger.com/profile/04529371545639179719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-4314953114641683694</id><published>2007-09-26T01:09:00.000-07:00</published><updated>2007-09-26T01:09:04.376-07:00</updated><title type='text'>create xen VM via xenguest-install.pyi</title><content type='html'>&lt;a href="http://wiki.xensource.com/xenwiki/FC5Zimbra"&gt;FC5Zimbra - Xen Wiki&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2 id="head-4918b5d73b77747be4359fc01871c6e400fdff5e"&gt;Create And Boot The Initial Xen Guest&lt;/h2&gt; &lt;span class="anchor" id="line-85"&gt;&lt;/span&gt;&lt;p class="line874"&gt;The initial Xen guest domain will be named xen0, and will be built on a logical volume. First, run a couple of checks to verify the Xen kernel booted and that xend is running OK. &lt;span class="anchor" id="line-86"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-87"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li style="list-style-type: none;"&gt;&lt;span class="anchor" id="line-88"&gt;&lt;/span&gt;&lt;pre&gt;uname -r&lt;br /&gt;&lt;span class="anchor" id="line-89"&gt;&lt;/span&gt;   2.6.15-1.2054_FC5xen0&lt;/pre&gt;&lt;span class="anchor" id="line-90"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li style="list-style-type: none;"&gt;&lt;span class="anchor" id="line-91"&gt;&lt;/span&gt;&lt;pre&gt;xm list&lt;br /&gt;&lt;span class="anchor" id="line-92"&gt;&lt;/span&gt;   Name                              ID Mem(MiB) VCPUs State  Time(s)&lt;br /&gt;&lt;span class="anchor" id="line-93"&gt;&lt;/span&gt;   Domain-0                           0     2487     2 r-----   467.5&lt;br /&gt;&lt;span class="anchor" id="line-94"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span class="anchor" id="line-95"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line862"&gt;Next, remount the install disc, start the vsftpd server, and create a 2 GB logical volume named &lt;strong&gt;xen0&lt;/strong&gt; (for the first guest). &lt;span class="anchor" id="line-96"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-97"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li style="list-style-type: none;"&gt;&lt;span class="anchor" id="line-98"&gt;&lt;/span&gt;&lt;pre&gt;mount -o loop /dev/hda /var/ftp/pub&lt;br /&gt;&lt;span class="anchor" id="line-99"&gt;&lt;/span&gt;service vsftpd start&lt;br /&gt;&lt;span class="anchor" id="line-100"&gt;&lt;/span&gt;lvcreate -L 2G -n xen0 xen&lt;br /&gt;&lt;span class="anchor" id="line-101"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span class="anchor" id="line-102"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line862"&gt;Use the &lt;em&gt;xenguest-install.py&lt;/em&gt; tool to create the first Xen guest image.  If all goes well, a text-based install script will start.  The various options to &lt;em&gt;xenguest-install.py&lt;/em&gt; are shown &lt;span class="anchor" id="line-103"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-104"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="line891"&gt;&lt;strong&gt;-n xen0&lt;/strong&gt;   Name Of Xen Guest &lt;span class="anchor" id="line-105"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="line891"&gt;&lt;strong&gt;-f xen0&lt;/strong&gt;   Pathname To Logical Volume To Use For Guest &lt;span class="anchor" id="line-106"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="line891"&gt;&lt;strong&gt;-r 256&lt;/strong&gt;   Memory To Allocate For Guest &lt;span class="anchor" id="line-107"&gt;&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p class="line891"&gt;&lt;strong&gt;-l &lt;a class="ftp" href="ftp://192.168.151.6/pub/"&gt;ftp://192.168.151.6/pub/&lt;/a&gt;   &lt;/strong&gt;Location Of FC5 Install Disk. The IP address is to the vsftpd server. Since the guest won't know the DNS domain, use the raw IP address. The guest is connecting over a virtual IP network, so 127.0.0.1 won't work either. &lt;span class="anchor" id="line-108"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-109"&gt;&lt;/span&gt;&lt;/p&gt;&lt;pre&gt;xenguest-install.py -n xen0 -f /dev/xen/xen0 -r 256 -l ftp://192.168.151.6/pub/&lt;br /&gt;&lt;span class="anchor" id="line-110"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span class="anchor" id="line-111"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line862"&gt;The &lt;em&gt;xenguest-install.py&lt;/em&gt; script will start a text-based installation script almost identical to what you would see with a default FC5 installation. Early in the installation, the option to switch to a VNC-based GUI will be presented. Text-based is quicker, but VNC does a better job of package selection (and it's kind of cool), so take your pick. &lt;span class="anchor" id="line-112"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-113"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;To use the VNC method, connect to the provided IP address from a VNC client from elsewhere on the network. A GUI install script will appear in the VNC client window. Proceed through install process, setting parameters as necessary. The script creates a virtual hard disk, /dev/xvda. Unless you have specific needs, you should probably let the install script automatically partition the virtual disk. Do a custom package selection, deselecting everything but Yum and OpenSSH server/client packages. Complete the installation. &lt;span class="anchor" id="line-114"&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;To use the text-based install process, everything will be functionally the same as the VNC method above, except for deselecting software packages. You won't be able to drill down into package groups, so just deselect everything. This will install a few unnecessary packages and services, which can be removed later if necessary. &lt;span class="anchor" id="line-115"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line862"&gt;After the guest installation script complete, control is returned to the xenguest-install.py script, which will hopefully indicate success and then exit. It is now (way past) time to start the first Xen guest. To start the guest, use the &lt;strong&gt;xm&lt;/strong&gt; command.  The &lt;strong&gt;xm&lt;/strong&gt; command is used to manage all Xen clients.  For a synopsis of availabe options, simply enter&lt;strong&gt; xm&lt;/strong&gt;. &lt;span class="anchor" id="line-116"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-117"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li style="list-style-type: none;"&gt;&lt;span class="anchor" id="line-118"&gt;&lt;/span&gt;&lt;pre&gt;xm create -c xen0&lt;br /&gt;&lt;span class="anchor" id="line-119"&gt;&lt;/span&gt;&lt;/pre&gt;&lt;span class="anchor" id="line-120"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line862"&gt;The console window of the guest will appear, including a text-based GRUB screen, followed by normal boot/init messages, concluding with a login screen. To break from the console and return to the host, enter &lt;strong&gt;CTRL-] &lt;/strong&gt;(control key plus the right-bracket key). To list the running Xen guests from the host (Dom0), use the "xm list" command as shown below. &lt;span class="anchor" id="line-121"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-122"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li style="list-style-type: none;"&gt;&lt;span class="anchor" id="line-123"&gt;&lt;/span&gt;&lt;pre&gt;xm list&lt;br /&gt;&lt;span class="anchor" id="line-124"&gt;&lt;/span&gt;   Name                              ID Mem(MiB) VCPUs State  Time(s)&lt;br /&gt;&lt;span class="anchor" id="line-125"&gt;&lt;/span&gt;   Domain-0                           0     2487     2 r-----   755.5&lt;br /&gt;&lt;span class="anchor" id="line-126"&gt;&lt;/span&gt;   xen0                              18      256     1 -b----    14.4  &lt;/pre&gt;&lt;span class="anchor" id="line-127"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line874"&gt;To return to the Xen guest's console, enter the following command from the host. &lt;span class="anchor" id="line-128"&gt;&lt;/span&gt;&lt;span class="anchor" id="line-129"&gt;&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li style="list-style-type: none;"&gt;&lt;span class="anchor" id="line-130"&gt;&lt;/span&gt;&lt;pre&gt;xm console xen0 &lt;/pre&gt;&lt;span class="anchor" id="line-131"&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p class="line867"&gt; &lt;/p&gt;&lt;h2 id="head-6ff7f75f1f14bb3948300d450be2617cf587604f"&gt;&lt;br /&gt;&lt;/h2&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-4314953114641683694?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://wiki.xensource.com/xenwiki/FC5Zimbra' title='create xen VM via xenguest-install.pyi'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/4314953114641683694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=4314953114641683694' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4314953114641683694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4314953114641683694'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/create-xen-vm-via-xenguest-installpyi.html' title='create xen VM via xenguest-install.pyi'/><author><name>Jimmy</name><uri>http://www.blogger.com/profile/04529371545639179719</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-5563055425770434767</id><published>2007-09-24T02:51:00.000-07:00</published><updated>2007-09-24T02:51:48.114-07:00</updated><title type='text'>Solving too many open named pipes in a java process</title><content type='html'>&lt;a href="http://www.velocityreviews.com/forums/t139735-too-many-open-named-pipes-in-a-java-process.html"&gt;Too many open named pipes in a java process...&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Too many open named pipes in a java process..&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt; In a java process (that uses JNI and socket communications), I get "Too&lt;br /&gt;many open files" error.&lt;br /&gt;&lt;br /&gt;When debugging further using lsof or pfiles, (with the process id), I&lt;br /&gt;saw many named pipes (FIFO) in open state.&lt;br /&gt;&lt;br /&gt;lsof:&lt;br /&gt;jsvc      10805 userid  951w     FIFO                0,6             2989015 pipe&lt;br /&gt;jsvc      10805 userid 952w     FIFO                0,6             2988104 pipe&lt;br /&gt;jsvc      10805 userid  953w     FIFO                0,6             2989588 pipe&lt;br /&gt;jsvc      10805 userid  954w     FIFO                0,6             2988290 pipe&lt;br /&gt;jsvc      10805 userid  955w     FIFO                0,6             2988626 pipe&lt;br /&gt;&lt;br /&gt;there are more than 500 processes opened.&lt;br /&gt;&lt;br /&gt;Obviously there might have some streams I didn't close.&lt;br /&gt;&lt;br /&gt;And the usage of Runtime.exec() will also cause the pipe here. The inputstream, outstream, errorstream should be closed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-5563055425770434767?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.velocityreviews.com/forums/t139735-too-many-open-named-pipes-in-a-java-process.html' title='Solving too many open named pipes in a java process'/><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/5563055425770434767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=5563055425770434767' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5563055425770434767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5563055425770434767'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/solving-too-many-open-named-pipes-in.html' title='Solving too many open named pipes in a java process'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7542185461426852231</id><published>2007-09-20T23:21:00.000-07:00</published><updated>2007-09-20T23:22:23.803-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cms'/><title type='text'>Interwoven, Inc. - Enterprise Content Management Solutions for Business - CMS</title><content type='html'>&lt;a href="http://www.interwoven.com/"&gt;Interwoven, Inc. - Enterprise Content Management Solutions for Business&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;a professional CMS vendor&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7542185461426852231?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7542185461426852231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7542185461426852231' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7542185461426852231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7542185461426852231'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/interwoven-inc-enterprise-content.html' title='Interwoven, Inc. - Enterprise Content Management Solutions for Business - CMS'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1331767889034111721</id><published>2007-09-20T23:20:00.002-07:00</published><updated>2007-09-20T23:21:11.036-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu linux feisty automatix2'/><title type='text'>Only Ubuntu Linux: Install Popular Applications in Ubuntu Feisty Fawn Using Automatix2</title><content type='html'>http://onlyubuntu.blogspot.com/2007/04/install-popular-applications-in-ubuntu.html&lt;br /&gt;&lt;br /&gt;cool tool for ubuntu&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1331767889034111721?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1331767889034111721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1331767889034111721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1331767889034111721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1331767889034111721'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/only-ubuntu-linux-install-popular.html' title='Only Ubuntu Linux: Install Popular Applications in Ubuntu Feisty Fawn Using Automatix2'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1353069525532046364</id><published>2007-09-20T23:20:00.001-07:00</published><updated>2007-09-20T23:20:44.163-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='extremeprogramming xp software development'/><title type='text'>References on Extreme Programming</title><content type='html'>http://www.math.grin.edu/~walker/talks/extreme-programming/exp-references.html&lt;br /&gt;&lt;br /&gt;this is a cool references page for extreme programming.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1353069525532046364?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1353069525532046364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1353069525532046364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1353069525532046364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1353069525532046364'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/references-on-extreme-programming.html' title='References on Extreme Programming'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-4547111281131231483</id><published>2007-09-20T23:19:00.000-07:00</published><updated>2007-09-20T23:20:04.665-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='development software'/><title type='text'>Application Development Trends - Product Briefs</title><content type='html'>&lt;a href="http://www.adtmag.com/article.aspx?id=7339"&gt;Application Development Trends - Product Briefs&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;this site provides a lot of software development tips or references&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-4547111281131231483?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/4547111281131231483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=4547111281131231483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4547111281131231483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/4547111281131231483'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/application-development-trends-product.html' title='Application Development Trends - Product Briefs'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-3352144381696959740</id><published>2007-09-20T23:18:00.000-07:00</published><updated>2007-09-20T23:19:19.747-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xp agile'/><title type='text'>objectmentor.com - agile development</title><content type='html'>http://www.objectmentor.com/index.html&lt;br /&gt;&lt;br /&gt;a website which providing a lot of software programming consultant service&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-3352144381696959740?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/3352144381696959740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=3352144381696959740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3352144381696959740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3352144381696959740'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/objectmentorcom-agile-development.html' title='objectmentor.com - agile development'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-5291968411317815995</id><published>2007-09-20T23:17:00.002-07:00</published><updated>2007-09-20T23:18:08.255-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization linux opensource  xen'/><title type='text'>XenSource: Delivering the Power of Xen</title><content type='html'>http://www.xensource.com/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-5291968411317815995?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/5291968411317815995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=5291968411317815995' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5291968411317815995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5291968411317815995'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/xensource-delivering-power-of-xen.html' title='XenSource: Delivering the Power of Xen'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1851309350805528122</id><published>2007-09-20T23:17:00.001-07:00</published><updated>2007-09-20T23:17:45.791-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization vserver'/><title type='text'>Welcome to Linux-VServer.org - Linux-VServer</title><content type='html'>&lt;a href="http://linux-vserver.org/Welcome_to_Linux-VServer.org"&gt;Welcome to Linux-VServer.org - Linux-VServer&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1851309350805528122?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1851309350805528122/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1851309350805528122' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1851309350805528122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1851309350805528122'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/welcome-to-linux-vserverorg-linux.html' title='Welcome to Linux-VServer.org - Linux-VServer'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2331023640869282267</id><published>2007-09-20T23:16:00.002-07:00</published><updated>2007-09-20T23:17:21.670-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtualization Linux'/><title type='text'>Welcome to OpenVZ — Server Virtualization Open Source Project :: OpenVZ :: Supported by SWsoft</title><content type='html'>http://openvz.org/&lt;br /&gt;&lt;br /&gt;Welcome to OpenVZ — Server Virtualization Open Source Project :: OpenVZ :: Supported by SWsoft&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2331023640869282267?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2331023640869282267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2331023640869282267' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2331023640869282267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2331023640869282267'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/welcome-to-openvz-server-virtualization.html' title='Welcome to OpenVZ — Server Virtualization Open Source Project :: OpenVZ :: Supported by SWsoft'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2244640787799238909</id><published>2007-09-20T23:16:00.001-07:00</published><updated>2007-09-20T23:16:51.972-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu multi multimedia video w32codecs'/><title type='text'>Medibuntu - Community Ubuntu Documentation</title><content type='html'>https://help.ubuntu.com/community/Medibuntu&lt;br /&gt;&lt;br /&gt;it should work, but it fail.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2244640787799238909?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2244640787799238909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2244640787799238909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2244640787799238909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2244640787799238909'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/medibuntu-community-ubuntu.html' title='Medibuntu - Community Ubuntu Documentation'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-5164400317318420630</id><published>2007-09-20T23:15:00.004-07:00</published><updated>2007-09-20T23:16:20.744-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='XP agile programming'/><title type='text'>Test Often.</title><content type='html'>http://www.testoften.com/&lt;br /&gt;&lt;br /&gt;Testoften.com or testdriven.com are two sites which provide several articles about agile programming methodologies.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-5164400317318420630?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/5164400317318420630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=5164400317318420630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5164400317318420630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5164400317318420630'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/test-often.html' title='Test Often.'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6465599129321309116</id><published>2007-09-20T23:15:00.003-07:00</published><updated>2007-09-20T23:15:50.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='extreme progrogramming'/><title type='text'>happy path at XUnitPatterns.com</title><content type='html'>http://tools.clrstream.com/~gerard/happy%20path.html&lt;br /&gt;&lt;br /&gt;This site lists a lot of names of software programming, especial for extreme programming part. A good place to reference.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6465599129321309116?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6465599129321309116/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6465599129321309116' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6465599129321309116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6465599129321309116'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/happy-path-at-xunitpatternscom.html' title='happy path at XUnitPatterns.com'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-5756536936685532025</id><published>2007-09-20T23:15:00.001-07:00</published><updated>2007-09-20T23:15:24.082-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='path coverage testing'/><title type='text'>Code Coverage Analysis</title><content type='html'>http://bullseye.com/coverage.html#basic_path&lt;br /&gt;&lt;br /&gt;This page covers most of coverage types in coding work. Path coverage should be a very important part, but it only explain it here, I'd like to introduce more about this, it's really useful for testing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-5756536936685532025?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/5756536936685532025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=5756536936685532025' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5756536936685532025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5756536936685532025'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/code-coverage-analysis.html' title='Code Coverage Analysis'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-3918677788121720735</id><published>2007-09-20T23:13:00.000-07:00</published><updated>2007-09-20T23:14:54.419-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Eason - 陈奕迅 富士山下 歌词解析</title><content type='html'>http://blog.imp3.net/?142961/action_viewspace_itemid_2259.html&lt;br /&gt;&lt;br /&gt;看来听林夕的歌还是少阿，还没有抽象化，呵呵&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-3918677788121720735?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/3918677788121720735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=3918677788121720735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3918677788121720735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/3918677788121720735'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/eason.html' title='Eason - 陈奕迅 富士山下 歌词解析'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-9066333732811995804</id><published>2007-09-20T23:11:00.000-07:00</published><updated>2007-09-20T23:13:51.050-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Howto: switch from Ubuntu to Kubuntu or Xubuntu or Edubuntu or vice versa (6.10 edgy) « Tuxicity’s source</title><content type='html'>&lt;a href="http://tuxicity.wordpress.com/2007/01/30/howto-switch-from-ubuntu-to-kubuntu-or-xubuntu-or-edubuntu-or-vice-versa-610-edgy/"&gt;Howto: switch from Ubuntu to Kubuntu or Xubuntu or Edubuntu or vice versa (6.10 edgy) « Tuxicity’s source&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;switch ubuntu desktop with different ubuntu distros&lt;br /&gt;&lt;br /&gt;I suggest we shouldn't do this if not necessary, it's not as simple as changing the theme, and it will bring uncertainly problem if you do that, and the final result isn't want we want, you will found both xubuntu and ubuntu mixed together. bad thing&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-9066333732811995804?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/9066333732811995804/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=9066333732811995804' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/9066333732811995804'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/9066333732811995804'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/howto-switch-from-ubuntu-to-kubuntu-or.html' title='Howto: switch from Ubuntu to Kubuntu or Xubuntu or Edubuntu or vice versa (6.10 edgy) « Tuxicity’s source'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-5004862648658143136</id><published>2007-09-20T23:10:00.000-07:00</published><updated>2007-09-20T23:11:33.965-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xp agile'/><title type='text'>IBM / NCSU XP/Agile Metrics</title><content type='html'>&lt;a href="http://sern.ucalgary.ca/eeap/2003/wp/bk-position-2003.html"&gt;IBM / NCSU XP/Agile Metrics&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;       Our small team at IBM has studied the results of using Extreme Programming        practices in conjunction with NC State University and the Center for Advanced        Computing and Communication.   In doing so we not only benefited from the use         of the agile practices, but established a set of lightweight measurements        as a guide to evaluating our progress.  At XP/Agile Universe 2002 we presented a paper        describing a method of seeing if our team was actually using XP by conducting        bi-monthly surveys [Krebs 2002].  This update shows the results of the survey        data we gathered and how we cross checked the survey with objective numeric metrics.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-5004862648658143136?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/5004862648658143136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=5004862648658143136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5004862648658143136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/5004862648658143136'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/ibm-ncsu-xpagile-metrics.html' title='IBM / NCSU XP/Agile Metrics'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2798715551530451560</id><published>2007-09-20T23:09:00.000-07:00</published><updated>2007-09-20T23:10:32.544-07:00</updated><title type='text'>Quick HOWTO : Ch18 : Configuring DNS - Linux Home Networking</title><content type='html'>&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch18_:_Configuring_DNS"&gt;Quick HOWTO : Ch18 : Configuring DNS - Linux Home Networking&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;DHCP configuration is what I want:&lt;br /&gt;&lt;ul&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Introduction"&gt;&lt;span class="tocnumber"&gt;1&lt;/span&gt; &lt;span class="toctext"&gt;Introduction&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Download_and_Install_the_DHCP_Package"&gt;&lt;span class="tocnumber"&gt;2&lt;/span&gt; &lt;span class="toctext"&gt;Download and Install the DHCP Package&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#The_.2Fetc.2Fdhcpd.conf_File"&gt;&lt;span class="tocnumber"&gt;3&lt;/span&gt; &lt;span class="toctext"&gt;The /etc/dhcpd.conf File&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#How_to_Get_DHCP_Started"&gt;&lt;span class="tocnumber"&gt;4&lt;/span&gt; &lt;span class="toctext"&gt;How to Get DHCP Started&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#DHCP_Servers_with_Multiple_NICs"&gt;&lt;span class="tocnumber"&gt;5&lt;/span&gt; &lt;span class="toctext"&gt;DHCP Servers with Multiple NICs&lt;/span&gt;&lt;/a&gt; &lt;ul&gt;&lt;li class="toclevel-2"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Temporary_Solution"&gt;&lt;span class="tocnumber"&gt;5.1&lt;/span&gt; &lt;span class="toctext"&gt;Temporary Solution&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-2"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Permanent_Solution"&gt;&lt;span class="tocnumber"&gt;5.2&lt;/span&gt; &lt;span class="toctext"&gt;Permanent Solution&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Configuring_Linux_Clients_to_Use_DHCP"&gt;&lt;span class="tocnumber"&gt;6&lt;/span&gt; &lt;span class="toctext"&gt;Configuring Linux Clients to Use DHCP&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Configuring_Windows_Clients_to_Use_DHCP"&gt;&lt;span class="tocnumber"&gt;7&lt;/span&gt; &lt;span class="toctext"&gt;Configuring Windows Clients to Use DHCP&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Using_a_Single_DHCP_Server_to_Serve_Multiple_Networks"&gt;&lt;span class="tocnumber"&gt;8&lt;/span&gt; &lt;span class="toctext"&gt;Using a Single DHCP Server to Serve Multiple Networks&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Simple_DHCP_Troubleshooting"&gt;&lt;span class="tocnumber"&gt;9&lt;/span&gt; &lt;span class="toctext"&gt;Simple DHCP Troubleshooting&lt;/span&gt;&lt;/a&gt; &lt;ul&gt;&lt;li class="toclevel-2"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#DHCP_Clients_Obtaining_169.254.0.0_Addresses"&gt;&lt;span class="tocnumber"&gt;9.1&lt;/span&gt; &lt;span class="toctext"&gt;DHCP Clients Obtaining 169.254.0.0 Addresses&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li class="toclevel-2"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Other_DHCP_Failures"&gt;&lt;span class="tocnumber"&gt;9.2&lt;/span&gt; &lt;span class="toctext"&gt;Other DHCP Failures&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt; &lt;/li&gt;&lt;li class="toclevel-1"&gt;&lt;a href="http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch08_:_Configuring_the_DHCP_Server#Conclusion"&gt;&lt;span class="tocnumber"&gt;10&lt;/span&gt; &lt;span class="toctext"&gt;Conclusion&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2798715551530451560?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2798715551530451560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2798715551530451560' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2798715551530451560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2798715551530451560'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/quick-howto-ch18-configuring-dns-linux.html' title='Quick HOWTO : Ch18 : Configuring DNS - Linux Home Networking'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6451267439385052644</id><published>2007-09-20T23:08:00.001-07:00</published><updated>2007-09-20T23:09:04.452-07:00</updated><title type='text'>web 2.0 site - spymac.com</title><content type='html'>spymac.com&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.spymac.com/details/?1956813"&gt;my account&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;a good business model but I'm worry about how long it can go&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6451267439385052644?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6451267439385052644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6451267439385052644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6451267439385052644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6451267439385052644'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/web-20-site-spymaccom.html' title='web 2.0 site - spymac.com'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-7745281696500736328</id><published>2007-09-20T23:07:00.001-07:00</published><updated>2007-09-20T23:07:49.968-07:00</updated><title type='text'>Creating Passionate Users</title><content type='html'>http://headrush.typepad.com/creating_passionate_users/index.rdf&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-7745281696500736328?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/7745281696500736328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=7745281696500736328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7745281696500736328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/7745281696500736328'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/creating-passionate-users.html' title='Creating Passionate Users'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6451050462286076930</id><published>2007-09-20T23:06:00.000-07:00</published><updated>2007-09-20T23:07:28.779-07:00</updated><title type='text'>A good chinese linux website - 闲云孤鹤</title><content type='html'>A good chinese linux website&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.iproject.cn/index.php/tag/ubuntu"&gt;闲云孤鹤 - 清冷香中抱膝吟&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6451050462286076930?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6451050462286076930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6451050462286076930' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6451050462286076930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6451050462286076930'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/good-chinese-linux-website.html' title='A good chinese linux website - 闲云孤鹤'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-8994484116455098779</id><published>2007-09-20T23:05:00.002-07:00</published><updated>2007-09-20T23:06:21.172-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux SELinux'/><title type='text'>How to disable SELinux</title><content type='html'>&lt;a href="http://www.crypt.gen.nz/selinux/disable_selinux.html"&gt;disable SELinux&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-8994484116455098779?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/8994484116455098779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=8994484116455098779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8994484116455098779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/8994484116455098779'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/how-to-disable-selinux.html' title='How to disable SELinux'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2818336321276814107</id><published>2007-09-20T23:05:00.001-07:00</published><updated>2007-09-20T23:05:50.103-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='lvm'/><title type='text'>Linux.com - Extending a logical volume</title><content type='html'>&lt;a href="http://www.linux.com/howtos/LVM-HOWTO/extendlv.shtml"&gt;Linux.com - Extending a logical volume&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2818336321276814107?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2818336321276814107/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2818336321276814107' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2818336321276814107'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2818336321276814107'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/linuxcom-extending-logical-volume.html' title='Linux.com - Extending a logical volume'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-1896015498530979063</id><published>2007-09-20T23:03:00.000-07:00</published><updated>2007-09-20T23:04:58.616-07:00</updated><title type='text'>LVM recovery tale.</title><content type='html'>&lt;a href="http://codeworks.gnomedia.com/archives/2005/general/lvm_recovery/"&gt;codeworks gnomedia » Blog Archive » LVM recovery tale.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;vgcfgrestore -vf /etc/lvm/archive/filename rootvg&lt;br /&gt;&lt;br /&gt;&lt;h2 id="post-42"&gt;&lt;a href="http://codeworks.gnomedia.com/archives/2005/general/lvm_recovery/" rel="bookmark" title="Permanent Link: LVM recovery tale."&gt;LVM recovery tale.&lt;/a&gt;&lt;/h2&gt;                       &lt;p&gt;Over the weekend I had the worrying experience of losing my LVM settings and potentially all my data… a quick search on the web showed a confusing set of information, much of it for older versions of LVM and therefore rather suspect.&lt;/p&gt;  &lt;p&gt;Well, I recovered all my data and it was really quite simple, so I’ve written up what I did in the hope that someone else, in a similar situation, will find it useful. It’s a scary thing, losing the whole hard disk and knowing that, in reality, its all there.&lt;/p&gt;  &lt;p&gt;&lt;span id="more-42"&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2&gt;First the situation&lt;/h2&gt;  &lt;p&gt;I’ve got a small /boot partition as &lt;code&gt;ext2&lt;/code&gt;, and a larger one for the root directory (2Gb, also &lt;code&gt;ext2&lt;/code&gt;). The rest of the hard disks (nearly 120Gb) are assigned to a volume group called, descriptively, &lt;code&gt;system&lt;/code&gt;… (which is SuSE’s idea of a default name).&lt;br /&gt;More accurately, they were supposed to be assigned to it. At first I had just added 60Gb to the volume group, it was my first use of LVM and I was hedging my bets. After 6 months of trouble free operation I decided to add another 60Gb of disk, which I did 3 months ago. Except that, although the physical and volume group managers all agreed that the volume group had 120Gb, the logical volume manager insisted that there was only 60Gb. I’d used Yast2 to create and add the volumes.&lt;br /&gt;I tried every combination of commands I could think of to get the logical volume manager to recognise the additional space but it wouldn’t.&lt;br /&gt;At the time, I was busy, so forgot about it, then last week I realised that I wanted to use the space so settled down to do something about it.&lt;/p&gt;  &lt;h2&gt;The problem&lt;/h2&gt;  &lt;p&gt;So, it seemed the best solution would be to remove the second partition that I had added (/dev/hdd1) from the physical volume manager and then add it back.&lt;br /&gt;It wasn’t recognised so wouldn’t be missed, right?&lt;br /&gt;Wrong!&lt;br /&gt;&lt;code&gt;pvremove /dev/hdd1&lt;/code&gt; removed the label from /dev/hdd1 but also from /dev/hda7 (which was the original partition and full of data).&lt;br /&gt;&lt;code&gt;pvscan&lt;/code&gt; and &lt;code&gt;pvs&lt;/code&gt; reported no physical volumes on the disk.&lt;br /&gt;&lt;code&gt;vgscan&lt;/code&gt; and &lt;code&gt;vgs&lt;/code&gt; couldn’t find any volume groups.&lt;br /&gt;&lt;code&gt;lvscan&lt;/code&gt; and &lt;code&gt;lvs&lt;/code&gt; were non-starters obviously.  &lt;/p&gt;  &lt;p&gt;The rather surreal thing was, the whole system kept on running quite nicely, X Server and KDE desktop and all, but I knew that as soon as I rebooted the system would be toast.&lt;/p&gt;  &lt;p&gt;First I tried adding the partition back to the volume group &lt;code&gt;system&lt;/code&gt;, but the system couldn’t find the ’system’ group. I tried creating the physical volume again (&lt;code&gt;pvcreate&lt;/code&gt;) but that told me that the volume already existed. It became clear that I would need to reboot and hope that the system sorted itself out, flushed the disks, resynced, whatever.&lt;/p&gt;  &lt;h2&gt;The solution&lt;/h2&gt;  &lt;p&gt;After rebooting the system wouldn’t come up, which is kind of what I had expected so I had to reboot from the SuSE Rescue disks. So now I had to think about how to recreate the physical volumes, volume group and logical volume and do it with the data intact. (I have daily backups but the thought of restoring the whole system, applications and data, was not too exciting, especially as I knew all the data was there and intact. With a ‘regular’ hard disk partition that had got lost I could scan the disk for potential disk partitions and restore them. But that wouldn’t work with LVM.&lt;/p&gt;  &lt;p&gt;On a search through various sites, I found one that mentioned the importance of saving a copy of the volume group parameters to a file using &lt;code&gt;vgcfgbackup&lt;/code&gt;. This file could then be used to restore the parameters later, assuming that the underlying physical structure hadn’t changed. Well, the physical layout hadn’t changed but unfortunately I hadn’t created a backup of the volume group parameters (the ‘descriptor area’ to use the technical term) so that didn’t seem to hopeful. I poked around in the /etc directory (I still had the ‘/’ partition remember, as that was on its own &lt;code&gt;ext2&lt;/code&gt; partition) and noticed that there was a &lt;code&gt;/etc/lvm/backup/&lt;/code&gt; directory and a &lt;code&gt;/etc/lvm/archive/&lt;/code&gt; directory. Further investigation and I found that these are automatically created by LVM whenever changes are made to the system.&lt;/p&gt;  &lt;p&gt;Unfortunately, all the messing around I had done had created a non-working version of the system file and the archive files didn’t seem to be recent enough. But, I remembered that I had a backup of the system files (going back 6 months in fact) and so I dug out a copy of the /etc/lvm/backup/sysem file and used that.&lt;/p&gt;  &lt;p&gt;Here is what I did: First find out the old UID’s of the partitions, this is in the /etc/lvm/backup/system file. They are quite long… make sure you get the UID for the physical volumes.&lt;br /&gt;$pvcreate -u sdSD-2343-SD939-adIda2 /dev/hda6&lt;br /&gt;$pvcreate -u dk33kd-929293nd-adfja298a /dev/hdd1&lt;br /&gt;$vgcreate -v system /dev/hda7 /dev/hdd1&lt;br /&gt;$vgcfgrestore -f /etc/lvm/backup/system system  &lt;/p&gt;  &lt;p&gt;and lo!, all data present and correct!&lt;/p&gt;  &lt;p&gt;In fact, I just rebooted the system and was back where I had started with the additional benefit of an extra 60Gb of disk space, because now I had the extra partition properly included.&lt;/p&gt;  &lt;p&gt;[Note: in the lines using &lt;code&gt;pvcreate...&lt;/code&gt; above I could have used:&lt;br /&gt;$ pvcreate –restorefile /etc/lvm/backup/system&lt;br /&gt;to automatically find the ID’s but I hadn’t realized that at the time. Without the UID’s then the vgcfgrestore will not find the physical volumes that it needs to recreate the volume group.] &lt;/p&gt;  &lt;h2&gt;The lesson&lt;/h2&gt;  &lt;p&gt;Don’t panic!&lt;br /&gt;Keep a safe copy of your &lt;code&gt;/etc/lvm/&lt;/code&gt; files!&lt;br /&gt;Make sure that you have a Rescue disk that understands the LVM system!  &lt;/p&gt;  &lt;p&gt;Apart from the above disaster, which seems to have sorted itself out very easily, I have had no trouble with the LVM system. At first I was worried that if there was a failure it would lose everything. There is something very comforting about a simple &lt;code&gt;ext2&lt;/code&gt; (or &lt;code&gt;FAT&lt;/code&gt;) partition in that I know it can just be hacked at the bit level and rebuilt. Something like LVM, which is logical volumes on top of volume groups on top of physical volumes is impossible to rebuild ‘by hand’ so I’m learning to trust technology a bit.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-1896015498530979063?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/1896015498530979063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=1896015498530979063' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1896015498530979063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/1896015498530979063'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/lvm-recovery-tale.html' title='LVM recovery tale.'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-6653973709538000688</id><published>2007-09-20T23:02:00.000-07:00</published><updated>2007-09-20T23:03:35.623-07:00</updated><title type='text'>All about Linux: Creating a LVM in Linux</title><content type='html'>&lt;a href="http://linuxhelp.blogspot.com/2005/04/creating-lvm-in-linux.html"&gt;All about Linux: Creating a LVM in Linux&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To create a LVM, we follow a three step process.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;Step One :&lt;/span&gt; We need to select the physical storage resources that are going to be used for LVM. Typically, these are standard partitions but can also be &lt;a id="KonaLink5" target="_top" class="kLink" style="text-decoration: underline ! important; position: static;" href="http://linuxhelp.blogspot.com/2005/04/creating-lvm-in-linux.html#"&gt;&lt;span style="color: rgb(68, 157, 52) ! important; font-family: Georgia,Serif; font-weight: 400; font-size: 13px; position: static;color:#449d34;" &gt;&lt;span class="kLink" style="color: rgb(68, 157, 52) ! important; font-family: Georgia,Serif; font-weight: 400; font-size: 13px; position: static;"&gt;Linux &lt;/span&gt;&lt;span class="kLink" style="color: rgb(68, 157, 52) ! important; font-family: Georgia,Serif; font-weight: 400; font-size: 13px; position: static;"&gt;software&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; RAID volumes that we've created. In LVM terminology, these storage resources are called "&lt;span style="font-style: italic;"&gt;physical volumes&lt;/span&gt;" (eg: &lt;span style="font-family: courier new;"&gt;/dev/hda1&lt;/span&gt;, &lt;span style="font-family: courier new;"&gt;/dev/hda2&lt;/span&gt; ... etc).&lt;br /&gt;&lt;/div&gt; &lt;div style="text-align: justify;"&gt;Our first step in setting up LVM involves properly initializing these partitions so that they can be recognized by the LVM &lt;a id="KonaLink6" target="_top" class="kLink" style="text-decoration: underline ! important; position: static;" href="http://linuxhelp.blogspot.com/2005/04/creating-lvm-in-linux.html#"&gt;&lt;span style="color: rgb(68, 157, 52) ! important; font-family: Georgia,Serif; font-weight: 400; font-size: 13px; position: static;color:#449d34;" &gt;&lt;span class="kLink" style="color: rgb(68, 157, 52) ! important; font-family: Georgia,Serif; font-weight: 400; font-size: 13px; position: static;"&gt;system&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;. This involves &lt;span style="font-weight: bold;"&gt;setting the correct partition type&lt;/span&gt; (usually using the fdisk command, and entering the type of partition as '&lt;span style="font-family: courier new;"&gt;Linux LVM&lt;/span&gt;' - &lt;span style="font-weight: bold; font-family: courier new;"&gt;0x8e&lt;/span&gt; ) if we're adding a physical partition; and then running the &lt;span style="font-weight: bold; font-family: courier new;"&gt;pvcreate&lt;/span&gt; command.&lt;br /&gt;&lt;/div&gt; &lt;blockquote style="font-family: courier new;"&gt;# &lt;span style="font-weight: bold;"&gt;pvcreate /dev/hda1 /dev/hda2 /dev/hda3&lt;/span&gt;&lt;br /&gt;# &lt;span style="font-weight: bold;"&gt;pvscan&lt;/span&gt;&lt;/blockquote&gt; &lt;div style="text-align: justify;"&gt;The above step creates a physical volume from  3 partitions which I want to initialize for inclusion in a volume group.&lt;br /&gt;&lt;/div&gt; &lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;Step Two :&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;Creating a volume group&lt;/span&gt;. You can think of a volume group as a pool of storage that consists of one or more physical volumes. While LVM is running, we can add physical volumes to the volume group or even remove them.&lt;br /&gt;&lt;/div&gt; First initialize the &lt;span style="font-weight: bold; font-family: courier new;"&gt;/etc/lvmtab&lt;/span&gt; and &lt;span style="font-weight: bold; font-family: courier new;"&gt;/etc/lvmtab.d&lt;/span&gt; files by running the following command:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;# &lt;span style="font-weight: bold;"&gt;vgscan&lt;/span&gt;&lt;/blockquote&gt; &lt;div style="text-align: justify;"&gt;Now you can create a volume group  and assign one or more physical volumes to the volume group.&lt;br /&gt;&lt;/div&gt; &lt;blockquote style="font-family: courier new;"&gt;# &lt;span style="font-weight: bold;"&gt;vgcreate my_vol_grp  /dev/hda1 /dev/hda2&lt;/span&gt;&lt;/blockquote&gt; &lt;div style="text-align: justify;"&gt;Behind the scenes, the LVM system allocates storage in equal-sized "chunks", called &lt;span style="font-weight: bold;"&gt;extents&lt;/span&gt;. We can specify the particular extent size to use at volume group creation time. The &lt;span style="font-weight: bold;"&gt;size of an extent defaults to 4Mb&lt;/span&gt;, which is perfect for most uses.You can use the &lt;span style="font-weight: bold; font-family: courier new;"&gt;-s&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; flag&lt;/span&gt; to change the size of the extent. The extent affects the minimum size of changes which can be made to a logical volume in the volume group, and the maximum size of logical and physical volumes in the volume group. A logical volume can contain at most 65534 extents, so the default extent size (4 MB) limits the volume to about 256 GB; a size of 1 TB would require extents of atleast 16 MB. So to accomodate a 1 TB size, the above command can be rewriten as :&lt;br /&gt;&lt;/div&gt; &lt;blockquote style="font-family: courier new;"&gt;# &lt;span style="font-weight: bold;"&gt;vgcreate -s 16M my_vol_grp /dev/hda1 /dev/hda2&lt;/span&gt;&lt;/blockquote&gt;You can check the result of your work at this stage by entering the command:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;# &lt;span style="font-weight: bold;"&gt;vgdisplay&lt;/span&gt;&lt;/blockquote&gt; &lt;div style="text-align: justify;"&gt;This command displays the total physical extends in a volume group, size of each extent, the allocated size and so on.&lt;br /&gt;&lt;/div&gt; &lt;div style="text-align: justify;"&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 0);"&gt;Step Three :&lt;/span&gt; This step involves the &lt;span style="font-weight: bold;"&gt;creation of one or more&lt;/span&gt; "&lt;span style="font-weight: bold;"&gt;logical volumes&lt;/span&gt;" using our volume group storage pool. The logical volumes are created from volume groups, and may have arbitary names. The size of the new volume may be requested in either extents (&lt;span style="font-weight: bold; font-family: courier new;"&gt;-l&lt;/span&gt; switch) or in KB, MB, GB or TB ( &lt;span style="font-weight: bold; font-family: courier new;"&gt;-L&lt;/span&gt; switch) rounding up to whole extents.&lt;br /&gt;&lt;/div&gt; &lt;blockquote style="font-family: courier new;"&gt;# &lt;span style="font-weight: bold;"&gt;lvcreate -l 50 -n my_logical_vol my_vol_grp&lt;/span&gt;&lt;/blockquote&gt; &lt;div style="text-align: justify;"&gt;The above command allocates 50 extents of space in &lt;span style="font-family: courier new;"&gt;my_vol_grp&lt;/span&gt; to the newly created &lt;span style="font-family: courier new;"&gt;my_logical_vol&lt;/span&gt;. The &lt;span style="font-weight: bold; font-family: courier new;"&gt;-n&lt;/span&gt; switch specifies the name of the logical volume we are creating.&lt;br /&gt;&lt;/div&gt; Now you can check if you got the desired results by using the command :&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;# &lt;span style="font-weight: bold;"&gt;lvdisplay&lt;/span&gt;&lt;/blockquote&gt;which shows the information of your newly created logical volume.&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Once a logical volume is created, we can go ahead and put a filesystem on it, mount it, and start using the volume to store our files. For creating a filesystem, we do the following:&lt;br /&gt;&lt;/div&gt; &lt;blockquote style="font-family: courier new;"&gt;# &lt;span style="font-weight: bold;"&gt;mke2fs -j /dev/my_vol_grp/my_logical_vol&lt;/span&gt;&lt;/blockquote&gt;The &lt;span style="font-weight: bold; font-family: courier new;"&gt;-j&lt;/span&gt; signifies journaling support for the  &lt;span style="font-family: courier new;"&gt;ext3&lt;/span&gt; filesystem we are creating.&lt;br /&gt;Mount the newly created &lt;a id="KonaLink7" target="_top" class="kLink" style="text-decoration: underline ! important; position: static;" href="http://linuxhelp.blogspot.com/2005/04/creating-lvm-in-linux.html#"&gt;&lt;span style="color: rgb(68, 157, 52) ! important; font-family: Georgia,Serif; font-weight: 400; font-size: 13px; position: static;color:#449d34;" &gt;&lt;span class="kLink" style="border-bottom: 1px solid rgb(68, 157, 52); color: rgb(68, 157, 52) ! important; font-family: Georgia,Serif; font-weight: 400; font-size: 13px; position: static; padding-bottom: 1px; background-color: transparent;"&gt;file &lt;/span&gt;&lt;span class="kLink" style="border-bottom: 1px solid rgb(68, 157, 52); color: rgb(68, 157, 52) ! important; font-family: Georgia,Serif; font-weight: 400; font-size: 13px; position: static; padding-bottom: 1px; background-color: transparent;"&gt;system&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; :&lt;br /&gt;&lt;span style="font-family: courier new;"&gt;&lt;blockquote&gt;# &lt;span style="font-weight: bold;"&gt;mount /dev/my_vol_grp/my_logical_vol /data&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;Also do not forget to append the corresponding line in the &lt;span style="font-family: courier new;"&gt;/etc/fstab&lt;/span&gt; file:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;#File: /etc/fstab&lt;br /&gt;/dev/my_vol_grp/my_logical_vol  /data  ext3 defaults 0 0&lt;/blockquote&gt;Now you can start using the newly created logical volume accessable at &lt;span style="font-family: courier new;"&gt;/data&lt;/span&gt; mount point.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-6653973709538000688?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/6653973709538000688/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=6653973709538000688' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6653973709538000688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/6653973709538000688'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/all-about-linux-creating-lvm-in-linux.html' title='All about Linux: Creating a LVM in Linux'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-2698295419182864979</id><published>2007-09-20T23:00:00.002-07:00</published><updated>2007-09-20T23:02:22.083-07:00</updated><title type='text'>Using PERL to create a file upload script</title><content type='html'>http://www.webmasterworld.com/forum13/3910.htm&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;span class="mo"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;sub upload_file {&lt;br /&gt;my ($data, $filename);&lt;br /&gt;my $file = param( 'upload' );&lt;br /&gt;my $type = uploadInfo($file)-&gt;{'Content-Type'}; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="mo"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;if (!$file) {&lt;br /&gt;print "No file uploaded!";&lt;br /&gt;return;&lt;br /&gt;}&lt;br /&gt;($filename = $file) =~ s /^\w.+\\//ig;&lt;br /&gt;print $filename, br;&lt;br /&gt;print $file,br,$type,br;&lt;br /&gt;open (SAVE,"&gt;./$filename") ¦¦ die $!;&lt;br /&gt;while (read($file,$data,1024)) {&lt;br /&gt;print SAVE $data;&lt;br /&gt;}&lt;br /&gt;close SAVE;&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;&lt;p&gt;comment for the perl codes:&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt; This is using CGI.pm, correct? &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;I may be off on this part, but try changing  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;while (read($file,$data,1024)) &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;to &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;while (read($file,$buffer,1024)) &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;I seem to recall finding $buffer being one of the variables used in CGI.pm that if changed it won't work. (This part may be inaccurate, but it's one variable and you can change it back, try it.) &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;Secondly, you have verified your substitution indeed grabs the right filename, correct? Beware, this is a double-edged sword - Mac paths do not follow the / syntax. I do something like &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;@fullpath = split (/\\Â¦\/Â¦:/,$file); ## \ for win / for linux : for mac&lt;br /&gt;$filename = $fullpath[$#fullpath]; ## or use pop(@fullpath) &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;Last thing you could look at is &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;open (SAVE,"&gt;./$filename")  &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;./ from where? I've noticed when working with CGI.pm, your location at the time this bit of code runs is not where you think. I've seen my files turn up in the CGI_temp directory, the server root . . . all kinds of places. Try &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;$filename = /full_virtual_path/to/$filename; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;So all together: &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;@fullpath = split (/\\Â¦\/Â¦:/,$file);&lt;br /&gt;$filename = pop(@fullpath);&lt;br /&gt;$filename = /full_virtual_path/to/$filename; &lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span class="me"    style="font-family:verdana;font-size:85%;color:#000000;"&gt;open (SAVE,"&gt;$filename") Â¦Â¦ die $!; &lt;br /&gt;while (read($file,$buffer,1024)) { &lt;br /&gt;print SAVE $buffer; &lt;br /&gt;} &lt;br /&gt;close ($file); ##old habit - maybe bad one but it works&lt;br /&gt;close SAVE;   &lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5871908854369474217-2698295419182864979?l=digday.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://digday.blogspot.com/feeds/2698295419182864979/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5871908854369474217&amp;postID=2698295419182864979' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2698295419182864979'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5871908854369474217/posts/default/2698295419182864979'/><link rel='alternate' type='text/html' href='http://digday.blogspot.com/2007/09/using-perl-to-create-file-upload-script.html' title='Using PERL to create a file upload script'/><author><name>Minor - 矿工</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='23' height='32' src='http://1.bp.blogspot.com/-HdeGlExcEyk/TVj7P5GXzoI/AAAAAAAAGVQ/yZTEYEDKOq4/s220/head.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5871908854369474217.post-8671703744551003474</id><published>2007-09-20T23:00:00.001-07:00</published><updated>2007-09-20T23:00:44.273-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='xen'/><title type='text'>PlanetJoel.com : HOWTO: Windows XP running under Xen 3.0 on Ubuntu Dapper Drake</title><content type='html'>http://www.planetjoel.com/viewarticle/568/HOWTO:+Windows+XP+running+under+Xen+3.0+on+Ubuntu+Dapper+Drake&lt;br /&gt;&lt;br /&gt;virtualization xen&lt;div class="blogger-post-footer"&gt;&lt;img 
