<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  >

<channel>
  <title>Embarcadero Blogs Master Site Feed</title>
  <link>http://blogs.embarcadero.com/feeds</link>
  <description>Shows all posts, comments, and pages from all blogs on this WPMU powered site</description>
  <pubDate></pubDate>
  <generator>http://wordpress.org/?v=2.6.2</generator>
  <language>en</language>
  <item>
    <title>Subqueries in select clause : ouch</title>
    <link>http://db-optimizer.blogspot.com/2010/02/subqueries-in-select-clause-ouch.html</link>
    <pubDate>Mon, 08 Feb 2010 16:13:00 +0000</pubDate>
    <dc:creator>Kyle Hailey</dc:creator>
    <content:encoded><![CDATA[<div>Better formatted at <span class="Apple-style-span" style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><b><a href="http://tinyurl.com/yfrjbwx">http://tinyurl.com/yfrjbwx</a></b></span></div><div><span class="Apple-style-span" style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "><b><br /></b></span></div><span class="Apple-style-span" style="font-family: Arial, Verdana, sans-serif; font-size: 13px; "><a href="http://sites.google.com/site/embtdbo/sql-tuning-1/q2" style="color: rgb(85, 26, 139); outline-style: none; outline-width: initial; outline-color: initial; cursor: text; ">Query 2</a><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote>The VST diagram looks like<br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><a href="http://sites.google.com/site/embtdbo/sql-tuning-1/q2a.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; cursor: text; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="275" src="http://sites.google.com/site/embtdbo/sql-tuning-1/q2a.PNG?height=275&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a><br /><div><div><div><div><div><div><div style="margin-top: 5px; margin-bottom: 0px; display: block; margin-right: auto; text-align: left; "><div style="display: block; text-align: left; "><div style="display: block; text-align: left; ">There are two interesting things about this diagram. </div></div></div></div></div></div></div></div></div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div><div><div><div><div style="margin-top: 5px; margin-bottom: 0px; display: block; margin-right: auto; text-align: left; "><div style="display: block; text-align: left; "><div style="display: block; text-align: left; ">Every thing is OUTER JOINED to F_OUTER<br />There are  correlated subqueries in the select<br /></div></div></div></div></div></div></div></div></div></blockquote>There are two things to check - what is the effect of the OUTER JOINS. The OUTER JOINS can easily mean that all joins into F_OUTER don't change the result set size. Let's confirm by looking at the TTJ sizes:<br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><a href="http://sites.google.com/site/embtdbo/sql-tuning-1/q2a_sizes.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; cursor: text; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="275" src="http://sites.google.com/site/embtdbo/sql-tuning-1/q2a_sizes.PNG?height=275&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote>The only thing that bounds the number of rows returned by F_OUTER is it's self join (the line going in and out of F_OUTER) on the bottom left of F_OUTER.<br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote>What this means is that it doesn't matter what order we join tables into F_OUTER.<br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote>Now we can turn to the other interesting thing about the query. There are 4 correlated subselects in the select clause. This is generally a bad idea. AFAIK, Oracle doesn't merge subqueries in the select, and certainly not the ones in this query.<br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote>In other words, we have 4 queries in th select clause that are going to be run 845,012 times - that is one heck of a lot of work. BAD IDEA.<br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote>The subqueries in the select clause look like<br /><div><div><div><div><div><div><div style="margin-top: 5px; margin-bottom: 0px; display: block; margin-right: auto; text-align: left; "><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><div><br /></div></div></div></div></div></div></div></div></div></div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">select CASE WHEN F.f1 IS NULL</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">            THEN NULL</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">            ELSE (SELECT X.f2</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">                    FROM X</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">                   WHERE code_vl = F.f1)</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">       END AS f0</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">from F;</span><br /><div><div><div><div><div><div><div style="margin-top: 5px; margin-bottom: 0px; display: block; margin-right: auto; text-align: left; "><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><div><span style="font-family: arial, sans-serif; border-collapse: collapse; "><div><div></div><div><br /></div></div></span></div></div></div></div></div></div></div></div></div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: arial, sans-serif; border-collapse: collapse; ">    </span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: arial, sans-serif; border-collapse: collapse; ">and should be merged into the query like:</span><br /><div><div><div><div><div><div><div style="margin-top: 5px; margin-bottom: 0px; display: block; margin-right: auto; text-align: left; "><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><div><span style="font-family: arial, sans-serif; border-collapse: collapse; "><div>            </div></span></div></div></div></div></div></div></div></div></div></div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">select CASE WHEN F.f1 IS NULL</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">            THEN NULL</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">            ELSE ( X.f2)</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">       END AS f0</span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; ">  from F , X </span><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span" style="font-family: monospace; border-collapse: collapse; color: rgb(0, 96, 0); line-height: 13px; "> where code_vl(+) = F.f1;</span><br /><div><div><div><div><div><div><div style="margin-top: 5px; margin-bottom: 0px; display: block; margin-right: auto; text-align: left; "><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><div><span style="font-family: arial, sans-serif; border-collapse: collapse; "><div><div></div><div><br /></div></div></span></div></div></div></div></div></div></div></div></div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><span class="Apple-style-span"  style="font-family:arial, sans-serif;"><span class="Apple-style-span" style="border-collapse: collapse; "><br /></span></span><div><div><div><div><div><div><div style="margin-top: 5px; margin-bottom: 0px; display: block; margin-right: auto; text-align: left; "><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><div><span style="font-family: arial, sans-serif; border-collapse: collapse; "><div>( NOTE: the first query will break if the correlated sub query returns more than one value where as the second query will return the mulitple rows.)</div><div></div></span></div></div></div></div></div></div></div></div></div></div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "></blockquote>The VST diagram can't tell you that this is the solution, but they can point out that the place to spend your time is the subqueries in the select.</span><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/755542794415995865-3318617451879561787?l=db-optimizer.blogspot.com' alt='' /></div>]]></content:encoded>
      </item>
  <item>
    <title>I found TButton!!!</title>
    <link>http://blogs.embarcadero.com/ao/2010/02/07/39079/</link>
    <comments>http://blogs.embarcadero.com/ao/2010/02/07/39079/#comments</comments>
    <pubDate>Sun, 07 Feb 2010 15:07:56 +0000</pubDate>
    <dc:creator>Anders Ohlsson</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/ao/?p=39079</guid>
    <description><![CDATA[TButton with a bonus Backstage Pass - Buy It Now!
RAD enough for Delphi? Buy It Now!
Can you tell I&#8217;m testing if someone will hit the Buy It Now? 
]]></description>
      <content:encoded><![CDATA[<p><a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=200436993979&amp;ssPageName=STRK:MESELX:IT">TButton with a bonus Backstage Pass - Buy It Now!</a></p>
<p><a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=200436992509&amp;ssPageName=STRK:MESELX:IT">RAD enough for Delphi? Buy It Now!</a></p>
<p>Can you tell I&#8217;m testing if someone will hit the Buy It Now? <img src='http://blogs.embarcadero.com/feeds/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/ao/?p=39079&amp;akst_action=share-this" onclick="akst_share('39079', 'http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F07%2F39079%2F', 'I+found+TButton%21%21%21'); return false;" title="Post to del.icio.us, etc." id="akst_link_39079" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=I%20found%20TButton%21%21%21&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F07%2F39079%2F" id="akst_email_39079" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Random Thoughts on the Passing Scene #143</title>
    <link>http://blogs.embarcadero.com/nickhodges/2010/02/06/39357/</link>
    <comments>http://blogs.embarcadero.com/nickhodges/2010/02/06/39357/#comments</comments>
    <pubDate>Sat, 06 Feb 2010 22:50:29 +0000</pubDate>
    <dc:creator>Nick Hodges</dc:creator>
    
		<category><![CDATA[Delphi]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/nickhodges/2010/02/06/39357</guid>
    <description><![CDATA[
Hey, feel free to weigh in on Delphi as your favorite language over at StackOverflow. Hat tip to Moritz Beutel for his answer.
The Haitian Relief Auctions are going like gangbusters.&#160; We even made the Santa Cruz Sentinel!&#160; (Way to go, Anders! And hey, I even got my name in the papers!)&#160; Many of the items [...]]]></description>
      <content:encoded><![CDATA[<ul>
<li>Hey, feel free to weigh in on <a href="http://stackoverflow.com/questions/14205/whats-your-favourite-programming-language-and-its-killer-feature/2214849#2214849">Delphi as your favorite language over at StackOverflow</a>. Hat tip to Moritz Beutel for his answer.</li>
<li><a href="http://shop.ebay.com/andersohlsson/m.html?_nkw=&amp;_armrs=1&amp;_from=&amp;_ipg=25c">The Haitian Relief Auctions</a> are going like gangbusters.&#160; We even made the <a href="http://www.santacruzsentinel.com/localnews/ci_14346926">Santa Cruz Sentinel</a>!&#160; (Way to go, <a href="http://blogs.embarcadero.com/ao">Anders</a>! And hey, I even got my name in the papers!)&#160; Many of the items end on Sunday evening here on the US west coast, so you only have a little bit of time left to bid.&#160; But we have been adding items as the week goes on, and we will be adding more this week as well, so if you want to&#160; jump in, please feel free. (For instance, Anders just added <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=200436312961">this “only one in the whole world” Borland Skateboard</a>! )&#160; We are very grateful for all the bidding that has gone on so far, as are the people of Haiti, I’m sure.</li>
<li>Don’t freak out too much, but I am actually doing some coding for the next release. Well, I’m actually adapting some great work done by John Kaster and making it fit into the RTL, as well as componentizing it.&#160; Anyway, as I look at it, I realize that it is a good opportunity to use class constructors.&#160; But I wasn’t 100% sure on how they worked, and luckily for me, <a href="http://blogs.embarcadero.com/abauer/2009/09/03/38898">Allen wrote all about it while back</a>.&#160; This is a pretty cool feature, so if you haven’t given it a look, you should. </li>
<li>WooHoo!&#160; <a href="http://stackoverflow.com/badges/83/fanatic">I finally got my first gold badge on StackOverflow</a>!&#160; </li>
<li>As I’ve mentioned before, we are cleaning up and generally getting rid of things in anticipation of moving to new offices at the end of March.&#160; Some of these guys around here have been in their offices for a while, and so when they start excavating, they find some interesting things. Chris Hesik found a copy of an <a href="http://blogs.embarcadero.com/chrishesik/2010/02/05/35169">original marketing analysis for the Pascal Language from 1993</a>.&#160; Pretty fun to read – especially given that I created a Windows95 Virtual PC and put Borland Pascal for Windows on it.&#160; I’ll be loading up Delphi 1.0 this weekend.&#160; Man, how did we ever get any work done with those basic tools?&#160; <img src='http://blogs.embarcadero.com/feeds/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </li>
<li>Alex has been busy improving <a href="http://alex.ciobanu.org/?p=285">the amazing DeHL framework</a>.&#160; He’s working on an object serialization framework.&#160;&#160; If you haven’t taken a look, you should.&#160; Very impressive stuff.&#160; We are quite happy to have Alex on our RTL team now.</li>
<li><a href="http://robstechcorner.blogspot.com/">Robert Love</a> has been on the bleeding edge of using Delphi 2010’s new RTTI features.&#160; He’s done some pretty cool stuff with it – attributes, databinding, and more.&#160; Here’s a look at how he’s using all this new power to create <a href="http://www.delphifeeds.com/go/f/64922?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+delphifeeds+%28DelphiFeeds.com%29">a prototype for an object binding framework</a>. </li>
</ul>
<p class="akst_link"><a href="http://blogs.embarcadero.com/nickhodges/?p=39357&amp;akst_action=share-this" onclick="akst_share('39357', 'http%3A%2F%2Fblogs.embarcadero.com%2Fnickhodges%2F2010%2F02%2F06%2F39357%2F', 'Random+Thoughts+on+the+Passing+Scene+%23143'); return false;" title="Post to del.icio.us, etc." id="akst_link_39357" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Random%20Thoughts%20on%20the%20Passing%20Scene%20%23143&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fnickhodges%2F2010%2F02%2F06%2F39357%2F" id="akst_email_39357" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
  <gravatar>https://secure.gravatar.com/avatar/ad243151d19525c6e83a18d75c2eb3b6?r=g&amp;d=https%3a%2f%2fstatic.codegear.com%2fimages%2fno_avatar.jpg&amp;s=50</gravatar>
  </item>
  <item>
    <title>Oracle: SQL*Net Waits</title>
    <link>http://db-optimizer.blogspot.com/2010/02/oracle-sqlnet-waits.html</link>
    <pubDate>Sat, 06 Feb 2010 13:50:00 +0000</pubDate>
    <dc:creator>Kyle Hailey</dc:creator>
    <content:encoded><![CDATA[article better formatted at<div><a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits">http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits</a></div><div><br /></div><div><span class="Apple-style-span" style="font-family: Arial, Verdana, sans-serif; font-size: 13px; "><h2>Introduction</h2><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div style="display: block; text-align: left; "><a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits/sqlnet.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="238" src="http://sites.google.com/site/embtdbo/_/rsrc/1264800892040/wait-event-documentation/oracle-network-waits/sqlnet.PNG?height=238&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a></div><br /></div></blockquote><div><br /></div><div><br /></div><div>Unfortunately, what Oracle calls "Network Waits" have little to do with Network but and almost exclusively to do with the time it takes to pack messeges for the network before they are sent.</div><div><br /></div><div>Client = you, the tool, sqlplus, application</div><div>the shadow process is communicating to the client</div><div><br /></div>Of the three waits, only "more data" is possibly related to network issues and that's not even clear, the other two are simply the time it takes to pack a message before sending it.<div><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><b>SQL*Net message to client</b> - time to pack a message (no network time included) possibly tune SDU              </div></div><div><div><b>SQL*Net more data from client</b> -<span style="color:#CC0000;"> possible network issues</span>, possibly tune SDU</div></div><div><div><b>SQL*Net more data to client</b> - time to pack a message (no network time included) possibly tune SDU</div><div><br /></div></div></blockquote><div><div><div> The same events exist, but where the client is the shadow process and another database plays the roll of shadow process:</div><div><br /></div></div></div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div><div><b>SQL*Net message to dblink </b> </div></div></div></div><div><div><div><div><b>SQL*Net more data from dblink</b> - <span style="color:#CC0000;">possible network issues</span>, possibly tune SDU</div></div></div></div><div><div><div><div><b>SQL*Net more data to dblink </b></div></div></div></div></blockquote><div><br /></div><h2><a name="TOC-SQL-Net-Wait-Events" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>SQL*Net Wait Events</h2></div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><br /></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><h3><a name="TOC-SQL-Net-message-from-client" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>SQL*Net message from client</h3></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits/sqlnet_message_from_clienta.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="134" src="http://sites.google.com/site/embtdbo/_/rsrc/1265481966405/wait-event-documentation/oracle-network-waits/sqlnet_message_from_clienta.PNG?height=134&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a></div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div style="display: block; text-align: left; "><br /></div><br /></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>Idle Event</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>Waiting for work from Client</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>Includes network transmission times for messages coming from shadow</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>Typically indicative of Client “think time” or “processing time”</div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><br /></div><h3><a name="TOC-SQL-Net-message-to-client-" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>SQL*Net message to client </h3></div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits/sqlnet_message_to_clienta.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="117" src="http://sites.google.com/site/embtdbo/_/rsrc/1265482025453/wait-event-documentation/oracle-network-waits/sqlnet_message_to_clienta.PNG?height=117&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a></div><br /></div><br /></div>Time it takes to pack a message to be sent to the client</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>Doesn’t include network timing</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>see Tanel Poder's analysis of <a href="http://blog.tanelpoder.com/2008/02/10/sqlnet-message-to-client-vs-sqlnet-more-data-to-client" rel="nofollow" style="color: rgb(85, 26, 139); outline-style: none; outline-width: initial; outline-color: initial; ">SQL*Net message to client</a></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><h3><a name="TOC-SQL-Net-more-data-to-client-" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>SQL*Net more data to client </h3></div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div style="display: block; text-align: left; "><a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits/sqlnet_message_to_clienta.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="117" src="http://sites.google.com/site/embtdbo/_/rsrc/1265482025453/wait-event-documentation/oracle-network-waits/sqlnet_message_to_clienta.PNG?height=117&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a></div>Same as SQL*Net message to client except this is for data that spans SDU packets.</div><div>Wait represents the time it takes to pack data.</div><div>Doesn’t include network timing</div><div><br /></div></blockquote></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div></div></blockquote><h3><a name="TOC-SQL-Net-more-data-from-client" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>SQL*Net more data from client</h3></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits/sqlnet_more_data_from_client.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="125" src="http://sites.google.com/site/embtdbo/_/rsrc/1265482152321/wait-event-documentation/oracle-network-waits/sqlnet_more_data_from_client.PNG?height=125&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a></div><br /></div><br /></div><div>The only SQL*Net wait that can indicate a possible NETWORK problem</div><div><div>Client is sending data to shadow that spans packets (think large data inserts, possibly large code blocks, large SQL statements)</div><div>Shadow waits for next packet.</div><div>Can indicate network latency.</div><div>Can indicate a problem with the client tool</div><div><br /></div><div>Here is an example with ASHMON where the application server died mid-stream on inserts. The shadow processes were left waiting for completion of the message. You can see the regular load on the database on the left, then just past the middle the load crashes, and all that's left is waits on "SQL*Net more data from client"</div><div><br /></div><div><div style="display: block; text-align: left; "><a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits/sqlnet_more_data_from_client_example.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="256" src="http://sites.google.com/site/embtdbo/_/rsrc/1265482207650/wait-event-documentation/oracle-network-waits/sqlnet_more_data_from_client_example.PNG?height=256&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a></div><br /></div></div><div><br /></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>Possibly set SDU=32768 as well as setting RECV_BUF_SIZE and SEND_BUF_SIZE to 65536.</div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><h3><a name="TOC-SQL-Net-break-reset-to-client" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>SQL*Net break/reset to client</h3></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div style="display: block; text-align: left; "><a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits/sqlnet_break_reset.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="147" src="http://sites.google.com/site/embtdbo/_/rsrc/1265483695819/wait-event-documentation/oracle-network-waits/sqlnet_break_reset.PNG?height=147&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a></div>Error in sql statement</div><div>Control C</div><div>Usually highlights and error in application</div><div><br /></div><div>Example:</div><div><br /></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>CREATE TABLE T1 (C1 NUMBER);</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>ALTER TABLE T1 ADD </div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>     (CONSTRAINT T1_CHECK1 CHECK (C1 IN ('J','N')));</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>ALTER SESSION SET EVENTS</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>     '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12';</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>INSERT INTO T1 VALUES (1);</div></div></div></blockquote></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div><br /></div><div>Trace File</div><div><br /></div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>PARSING IN CURSOR #2 len=25 dep=0 uid=0 oct=2 lid=0 tim=5009300581224 hv=9816834</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>09 ad='8e6a7c10'</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>INSERT INTO T1 VALUES (1)</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>END OF STMT</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>PARSE #2:c=0,e=2770,p=0,cr=2,cu=0,mis=1,r=0,dep=0,og=1,tim=5009300581220</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>BINDS #2:</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>EXEC #2:c=0,e=128,p=0,cr=0,cu=0,mis=0,r=0,dep=0,og=1,tim=5009300581418</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>ERROR #2:err=1722 tim=512952379</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>WAIT #2: nam='SQL*Net break/reset to client' ela= 31 driver id=1650815232 break?</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>=1 p3=0 obj#=-1 tim=5009300581549</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>WAIT #2: nam='SQL*Net break/reset to client' ela= 92 driver id=1650815232 break?</div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div>=0 p3=0 obj#=-1 tim=5009300581662</div></div></div></blockquote></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div><div><br /></div></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><h3><a name="TOC-DBLINK-SQL-Net-Waits" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>DBLINK SQL*Net Waits</h3></div><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div style="display: block; text-align: left; "><div style="display: block; text-align: left; "><a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits/sqlnet_dblinka.PNG?attredirects=0" imageanchor="1" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; background-image: none; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: initial; border-bottom-style: none; border-bottom-width: initial; border-bottom-color: initial; background-position: initial initial; background-repeat: initial initial; "><img border="0" height="127" src="http://sites.google.com/site/embtdbo/_/rsrc/1265482423127/wait-event-documentation/oracle-network-waits/sqlnet_dblinka.PNG?height=127&amp;width=400" width="400" style="border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; " /></a></div><br /></div><br /></div><div>These waits are the same as </div><div><br /></div><div>SQL*Net message to dblink </div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>SQL*Net more data from dblink </div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>SQL*Net more data to dblink </div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>SQL*Net break/reset to dblink</div></blockquote></blockquote><div><br /></div><h2><a name="TOC-Analysis-and-Tuning" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>Analysis and Tuning</h2><div>There isn't much to do on the Oracle side for tuning. You can try optimizing the SDU and SEND_BUF_SIZE and RECV_BUF_SIZE.</div><div>For actually getting information on network speeds you will have to use something like</div><div><ul><li>ping</li><li>tnsping</li><li>network sniffe</li></ul></div><div><br /></div><h3><a name="TOC-SDU" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>SDU</h3><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>The default SDU can be set in the sqlnet. ora</div><div>If it's not set, the default is 2048</div><div>The max is 32768</div><div>The default,or the value in sqlnet.ora, can be overridden in the tnsnames. ora and the listener.ora. The client and server negotiate the size aggreeing on the smaller of the two settings. </div><div>(TDU – Transmission Data Unit – see note 44694.1 The TDU parameter has been deprecated in the Oracle Net v8.0 and beyond and is ignored. It is only mentioned here for backward compatibility.)</div><div><br /></div><div><br /></div><div>tnsnames.ora</div><div><br /></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>V10G = (DESCRIPTION =</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>(SDU=32768)</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>(ADDRESS = (PROTOCOL = TCP)(HOST = fuji)(PORT = 1522))</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>(CONNECT_DATA =</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>(SERVER = DEDICATED) (SERVICE_NAME = v10g)</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>) )</div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><br />listener.ora</div><div><br /></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>SID_LIST_LISTENER =</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>(SID_LIST =</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>(SID_DESC =</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>(SDU=32768)</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>(SID_NAME = v10g)</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>(ORACLE_HOME = /export/home/oracle10)</div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>))</div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br />Tracing<br /><br /></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">sqlnet.ora</blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br /><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">trace_level_client=16</blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">trace_directory_client=/tmp</blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">trace_file_client=client.trc</blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">trace_unique_client = true</blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">trace_level_server=16</blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">trace_directory_server=/tmp</blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">trace_file_server=server.trc</blockquote></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br /></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">client.trc</blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br /></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; ">client_3582.trc:[12-JAN-2008 11:37:39:237] nsconneg: vsn=313, gbl=0xa01, sdu=32768, tdu=32767</blockquote></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><br /><br /></blockquote><h3><a name="TOC-RECV_BUF_SIZE-and-SEND_BUF_SIZE" style="color: rgb(78, 125, 191); outline-style: none; outline-width: initial; outline-color: initial; "></a>RECV_BUF_SIZE and SEND_BUF_SIZE</h3><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div>see: <a href="http://download.oracle.com/docs/cd/B19306_01/network.102/b14212/performance.htm" rel="nofollow" style="color: rgb(85, 26, 139); outline-style: none; outline-width: initial; outline-color: initial; ">http://download.oracle.com/docs/cd/B19306_01/network.102/b14212/performance.htm</a> (or <a href="http://sites.google.com/site/embtdbo/wait-event-documentation/oracle-network-waits/oracle-network-configuration" style="color: rgb(85, 26, 139); outline-style: none; outline-width: initial; outline-color: initial; ">local copy</a>)<br /><br /></div><div>The recommended size for these buffers (from Oracle's docs) is at least</div><div><br /></div><div><div>Network bandwidth * roundtrip = buffer min size</div><div><br /></div><div>For example if the network bandwidth is 100mbs and the round trip time (from ping) is 5ms then</div><div><br /></div><div><div><code style="color: rgb(0, 96, 0); ">100,000,000 bits   1 byte   5 seconds</code></div><div><code style="color: rgb(0, 96, 0); ">---------------- x ------ x --------- = 62,500 bytes</code></div><div><code style="color: rgb(0, 96, 0); "> 1 second          8 bits     1000</code></div></div><div><br /></div></div><div><br /></div><div>tnsnames.ora</div><div><br /></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>V10G = (DESCRIPTION =</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(SEND_BUF_SIZE=65536)</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(RECV_BUF_SIZE=65536)</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(ADDRESS = (PROTOCOL = TCP)(HOST = fuji)(PORT = 1522))</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(CONNECT_DATA =</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(SERVER = DEDICATED) (SERVICE_NAME = v10g)</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>) )</div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><span style="font-family:Tahoma, sans-serif;"><span style="font-size: small; "><span style="font-family:Arial, Verdana, sans-serif;"><br /></span></span></span></div><div>listener.ora</div><div><br /></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>SID_LIST_LISTENER =</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(SID_LIST =</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(SID_DESC =</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(SEND_BUF_SIZE=65536)</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(RECV_BUF_SIZE=65536)</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(SID_NAME = v10g)</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>(ORACLE_HOME = /export/home/oracle10)</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>))</div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><span style="font-family:Tahoma, sans-serif;"><span style="font-size: small; "><span style="font-family:Arial, Verdana, sans-serif;"><br /></span></span></span></div><div><br /></div><div>sqlnet.ora</div><div><br /></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>RECV_BUF_SIZE=65536</div></div></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div><div>SEND_BUF_SIZE=65536</div><div><br /></div></div></blockquote></blockquote><blockquote style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 40px; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; border-width: initial; border-color: initial; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; "><div></div></blockquote></span></div><div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/755542794415995865-661696657092138374?l=db-optimizer.blogspot.com' alt='' /></div>]]></content:encoded>
      </item>
  <item>
    <title>Signed books, mouse, stickers, and more</title>
    <link>http://blogs.embarcadero.com/ao/2010/02/06/39077/</link>
    <comments>http://blogs.embarcadero.com/ao/2010/02/06/39077/#comments</comments>
    <pubDate>Sat, 06 Feb 2010 20:33:43 +0000</pubDate>
    <dc:creator>Anders Ohlsson</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/ao/?p=39077</guid>
    <description><![CDATA[I just added two signed books, Xavier Pacheco&#8217;s and Steve Teixeira&#8217;s "Delphi 2 Developer&#8217;s Guide" (my copy) and Danny Thorpe&#8217;s "Delphi Component Design" (Steve Trefethen&#8217;s copy). Both books were signed by the authors.
I also added two floppy disk sets - Delphi 1, and BP7, David I&#8217;s leather jacket and a Borland mouse.
Borland Memorabilia Auctions for [...]]]></description>
      <content:encoded><![CDATA[<p>I just added two signed books, Xavier Pacheco&#8217;s and Steve Teixeira&#8217;s "Delphi 2 Developer&#8217;s Guide" (my copy) and Danny Thorpe&#8217;s "Delphi Component Design" (Steve Trefethen&#8217;s copy). Both books were signed by the authors.</p>
<p>I also added two floppy disk sets - Delphi 1, and BP7, David I&#8217;s leather jacket and a Borland mouse.</p>
<p><a href="http://cgi6.ebay.com/ws/eBayISAPI.dll?ViewSellersOtherItems&amp;userid=andersohlsson">Borland Memorabilia Auctions for Haitian Relief</a></p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/ao/?p=39077&amp;akst_action=share-this" onclick="akst_share('39077', 'http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F06%2F39077%2F', 'Signed+books%2C+mouse%2C+stickers%2C+and+more'); return false;" title="Post to del.icio.us, etc." id="akst_link_39077" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Signed%20books%2C%20mouse%2C%20stickers%2C%20and%20more&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F06%2F39077%2F" id="akst_email_39077" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Santa Cruz Sentinel article</title>
    <link>http://blogs.embarcadero.com/ao/2010/02/06/39075/</link>
    <comments>http://blogs.embarcadero.com/ao/2010/02/06/39075/#comments</comments>
    <pubDate>Sat, 06 Feb 2010 14:16:39 +0000</pubDate>
    <dc:creator>Anders Ohlsson</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/ao/?p=39075</guid>
    <description><![CDATA["SCOTTS VALLEY &#8212; If you are secretly pining over old Borland memorabilia &#8212; the classic Pascal 3.0 software still in its original shrink wrap, a Borland varsity letter jacket once reserved for executives or a shiny yellow bumper sticker proclaiming that "Delphi Developers Do It Faster" &#8212; this is your chance to bid in an [...]]]></description>
      <content:encoded><![CDATA[<p><em>"SCOTTS VALLEY &#8212; If you are secretly pining over old Borland memorabilia &#8212; the classic Pascal 3.0 software still in its original shrink wrap, a Borland varsity letter jacket once reserved for executives or a shiny yellow bumper sticker proclaiming that "Delphi Developers Do It Faster" &#8212; this is your chance to bid in an unusual auction and have your purchase support recovery efforts in Haiti."</em></p>
<p><a href="http://www.santacruzsentinel.com/localnews/ci_14346926">"Borland memorabilia auctioned for Haiti recovery" - Jennifer Pittman</a></p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/ao/?p=39075&amp;akst_action=share-this" onclick="akst_share('39075', 'http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F06%2F39075%2F', 'Santa+Cruz+Sentinel+article'); return false;" title="Post to del.icio.us, etc." id="akst_link_39075" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Santa%20Cruz%20Sentinel%20article&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F06%2F39075%2F" id="akst_email_39075" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Haitian Relief Auction Update - $3,582!</title>
    <link>http://blogs.embarcadero.com/ao/2010/02/05/39073/</link>
    <comments>http://blogs.embarcadero.com/ao/2010/02/05/39073/#comments</comments>
    <pubDate>Fri, 05 Feb 2010 21:23:24 +0000</pubDate>
    <dc:creator>Anders Ohlsson</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/ao/?p=39073</guid>
    <description><![CDATA[Borland Memorabilia Auctions for Haitian Relief
First wave of auctions (about 50) end this Sunday at 6pm PST.
Happy bidding!
]]></description>
      <content:encoded><![CDATA[<p><a href="http://cgi6.ebay.com/ws/eBayISAPI.dll?ViewSellersOtherItems&amp;userid=andersohlsson">Borland Memorabilia Auctions for Haitian Relief</a></p>
<p>First wave of auctions (about 50) end this Sunday at 6pm PST.</p>
<p>Happy bidding!</p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/ao/?p=39073&amp;akst_action=share-this" onclick="akst_share('39073', 'http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F05%2F39073%2F', 'Haitian+Relief+Auction+Update+-+%243%2C582%21'); return false;" title="Post to del.icio.us, etc." id="akst_link_39073" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Haitian%20Relief%20Auction%20Update%20-%20%243%2C582%21&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F05%2F39073%2F" id="akst_email_39073" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>A Walk Down Delphi&#8217;s Memory Lane:  "Pascal Market Trends" circa 1993</title>
    <link>http://blogs.embarcadero.com/chrishesik/2010/02/05/35169/</link>
    <comments>http://blogs.embarcadero.com/chrishesik/2010/02/05/35169/#comments</comments>
    <pubDate>Fri, 05 Feb 2010 16:48:36 +0000</pubDate>
    <dc:creator>Chris Hesik</dc:creator>
    
		<category><![CDATA[Delphi]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/chrishesik/?p=35169</guid>
    <description><![CDATA[As Nick mentioned in this post, we will soon be moving to a new building here in Scotts Valley.  We have been in our current building since 1993.  As Nick states:  "So when you move, you generally use that as an opportunity for cleaning up, clearing out and generally clearing away the build up of [...]]]></description>
      <content:encoded><![CDATA[<p>As <a href="http://blogs.embarcadero.com/nickhodges/2010/01/27/39350">Nick mentioned in this post</a>, we will soon be moving to a new building here in Scotts Valley.  We have been in our <a href="http://news.cnet.com/8301-13555_3-9969040-34.html?tag=mncol;title">current building</a> since 1993.  As Nick states:  "So when you move, you generally use that as an opportunity for cleaning up, clearing out and generally clearing away the build up of years and years of hard work.  As we are doing that, we are finding tons of cool old stuff from “back in the day”."</p>
<p>As I have been gradually cleaning things up in my office over the last few weeks, I came across a file folder in a drawer with some interesting old documents.  One, in particular, is an internal document, titled "<strong>Languages Two Year Plan, Second Draft - March 25, 1993</strong>".  It describes the market, opportunities, competitive landscape, and plans for Borland&#8217;s C++ and Pascal product lines.  Quoting from the "Executive Overview", it was "intended to be an overview of the development activities for Languages for the 24 months beginning January 1993".</p>
<p>Since the 15th anniversary of Delphi&#8217;s initial release is approaching, I though it might be fun (and interesting) to look back at some items in this document &#8212; though the document was produced nearly two years before Delphi&#8217;s initial release, and though it still focuses on the "Borland Pascal" product line, it clearly shows the trend towards what would become Delphi.  I&#8217;ll have a couple of posts over the next week or so, leading up to Delphi&#8217;s 15th anniversary on February 14th, 2010.  Note, since I only have a hard-copy of this document, I&#8217;ll be transcribing it manually, so it is likely that any typos, misspellings, etc. are my own and not part of the document.</p>
<p>To start, here are the first two sections of the "Pascal" part of the document:</p>
<blockquote><p><strong>Pascal Overview</strong></p>
<p>In January 1994, we will release major new versions of Borland Pascal for Windows and DOS.  The Windows product will be built around easy-to-use visual tools that leverage existing Borland technology in order to bring our DOS customers into Windows.  The DOS product will provide incremental improvements so that we continue to generate upgrade revenues.  Six to nine months later, we will follow up with 32-bit versions of Pascal for both Windows and DOS.  This 32-bit compiler code base will enable us to continue to harvest upgrade revenues with new versions.</p>
<p><strong>Pascal Market Trends</strong></p>
<p>There are three important trends affecting the language market place in 1993.  These are:</p>
<ol>
<li>Increasing demand for visual tools on Windows</li>
<li>Increasing awareness of 32 bit tools</li>
<li>Decreasing importance of DOS</li>
</ol>
<p>Microsoft&#8217;s Visual Basic and imminent Visual C++ have changed the competitive landscape by shifting the emphasis from OOP to visual tools.  Visual tools have a greater impact on simplifying Windows development, so we must address this area if we are to compete successfully, just as other language companies had to supply integrated development environments and OOP features in response to innovations that first appeared in Turbo Pascal and Turbo C.</p>
<p>Visual Basic has significant weaknesses in language, performance and scalability, that limit its acceptance.  This gives us an opportunity to deliver products which simplify Windows programming and offer more power and performance.  Many Pascal customers are asking for a "Visual Pascal" that provides the ease of use of Visual Basic with the extensibility, power and performance of Turbo Pascal.</p>
<p>Just as Microsoft leveraged their domination of the Basic language market to create Visual Basic, we can leverage our domination of the Pascal market to make changes to the language, compiler, and libraries to make Windows development easy.  This is the best way to bring our large installed base of DOS customers into the Windows market.</p>
<p>There is also an increasing awareness of 32 bit development tools.  Shipment of Win32s and NT in 1993 will make "32 bit" a requirement of any language.  However, large volume deployment of 32 bit applications will probably not happen until Microsoft ships the "Chicago" version of 32 bit Windows on 32 bit DOS, in mid 1994.  Pascal customers continue to ask for 32 bit versions to overcome long standing limitations in Pascal&#8217;s global data space, data structure sizes, ability to link with standard OBJ files etc.</p>
<p>Although Windows development tools get the most press coverage, DOS products continue to bring in significant revenues.  Many DOS programmers will continue to upgrade as long as we offer incremental improvements in the language, libraries and tools.  But this revenue stream will decline over time if there is no clear commitment to Pascal on 32 bit DOS and Windows.</p></blockquote>
<p>Up Next:  Excerpts from the "Pascal Strategy" section</p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/chrishesik/?p=35169&amp;akst_action=share-this" onclick="akst_share('35169', 'http%3A%2F%2Fblogs.embarcadero.com%2Fchrishesik%2F2010%2F02%2F05%2F35169%2F', 'A+Walk+Down+Delphi%26%238217%3Bs+Memory+Lane%3A++%22Pascal+Market+Trends%22+circa+1993'); return false;" title="Post to del.icio.us, etc." id="akst_link_35169" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=A%20Walk%20Down%20Delphi%26%238217%3Bs%20Memory%20Lane%3A%20%20%22Pascal%20Market%20Trends%22%20circa%201993&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fchrishesik%2F2010%2F02%2F05%2F35169%2F" id="akst_email_35169" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>A case against FreeAndNil</title>
    <link>http://blogs.embarcadero.com/abauer/2010/02/05/38910/</link>
    <comments>http://blogs.embarcadero.com/abauer/2010/02/05/38910/#comments</comments>
    <pubDate>Fri, 05 Feb 2010 16:10:20 +0000</pubDate>
    <dc:creator>Allen Bauer</dc:creator>
    
		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[General]]></category>

		<category><![CDATA[Work]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/abauer/2010/02/05/38910</guid>
    <description><![CDATA[I really like the whole idea behind Stackoverflow. I regularly read and contribute where I can. However, I’ve seen a somewhat disturbing trend among a lot of the answers for Delphi related questions. Many questions ask (to the effect) “why does this destructor crash when I call it?” Invariably, someone would post an answer with [...]]]></description>
      <content:encoded><![CDATA[<p>I really like the whole idea behind <a href="http://www.stackoverflow.com">Stackoverflow</a>. I regularly read and contribute where I can. However, I’ve seen a somewhat disturbing trend among a lot of the answers for Delphi related questions. Many questions ask (to the effect) “why does this destructor crash when I call it?” Invariably, someone would post an answer with the seemingly magical incantation of “You should use FreeAndNil to destroy all your embedded objects.” Then the one asking the question chooses that answer as the accepted one and posts a comment thanking them for their incredible insight.</p>
<p>The problem with that is that many seem to use FreeAndNil as some magic bullet that will slay that mysterious crash dragon. If using FreeAndNil() in the destructor seems to solve a crash or other memory corruption problems, then you should be digging deeper into the real cause. When I see this, the first question I ask is, why is the instance field being accessed after that instance was destroyed? That typically points to a design problem.</p>
<p>FreeAndNil itself isn’t the culprit here. There are plenty of cases where the use of FreeAndNil is appropriate. Mainly for those cases where one object uses internal objects, ephemerally. One common scenario is where you have a TWinControl component that wraps some external Windows control. Many times some control features can only be enabled/disabled by setting style bits during the creation of the handle. To change a feature like this, you have to destroy and recreate the handle. There may be some information that is stored down on the Windows control side which needs to be preserved. So you grab that information out of the handle prior to destroying and park that data in an object instance field. When the handle is then created again, the object can look at that field and if it is non-nil, it knows there was some cached or pre-loaded data available. This data is then read and pushed back out to the handle. Finally the instance can then be freed by FreeAndNil(). This way, when the destructor for the control runs you can simply use the normal “FCachedData.Free;” pattern since Free implies a nil check.</p>
<p>Of course there is no hard-and-fast rule that says you should not use FreeAndNil() in a destructor, but that little “fix” could be pointing out that some redesigning and refactoring may be in order.</p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/abauer/?p=38910&amp;akst_action=share-this" onclick="akst_share('38910', 'http%3A%2F%2Fblogs.embarcadero.com%2Fabauer%2F2010%2F02%2F05%2F38910%2F', 'A+case+against+FreeAndNil'); return false;" title="Post to del.icio.us, etc." id="akst_link_38910" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=A%20case%20against%20FreeAndNil&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fabauer%2F2010%2F02%2F05%2F38910%2F" id="akst_email_38910" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Haiti Relief: Borland Skateboard</title>
    <link>http://blogs.embarcadero.com/ao/2010/02/05/39071/</link>
    <comments>http://blogs.embarcadero.com/ao/2010/02/05/39071/#comments</comments>
    <pubDate>Fri, 05 Feb 2010 15:16:58 +0000</pubDate>
    <dc:creator>Anders Ohlsson</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/ao/?p=39071</guid>
    <description><![CDATA[I just added a one-of-a-kind Borland Skateboard!
 
]]></description>
      <content:encoded><![CDATA[<p><a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=200436312961">I just added a one-of-a-kind Borland Skateboard!</a></p>
<p> <img src='http://blogs.embarcadero.com/feeds/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/ao/?p=39071&amp;akst_action=share-this" onclick="akst_share('39071', 'http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F05%2F39071%2F', 'Haiti+Relief%3A+Borland+Skateboard'); return false;" title="Post to del.icio.us, etc." id="akst_link_39071" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Haiti%20Relief%3A%20Borland%20Skateboard&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F05%2F39071%2F" id="akst_email_39071" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Collector&#8217;s Edition Borland Conference Button Set</title>
    <link>http://blogs.embarcadero.com/ao/2010/02/04/39069/</link>
    <comments>http://blogs.embarcadero.com/ao/2010/02/04/39069/#comments</comments>
    <pubDate>Thu, 04 Feb 2010 15:51:21 +0000</pubDate>
    <dc:creator>Anders Ohlsson</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/ao/?p=39069</guid>
    <description><![CDATA[Featured item:

eBay Auction here - All proceeds go to Haitian Relief!
]]></description>
      <content:encoded><![CDATA[<p>Featured item:</p>
<p><a title="Borland Conference Button Set by XSiRebelAddict, on Flickr" href="http://www.flickr.com/photos/xsirebeladdict/4330103309/"><img src="http://farm5.static.flickr.com/4033/4330103309_0116e63d8b.jpg" alt="Borland Conference Button Set" width="500" height="333" /></a></p>
<p><a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=200435672715&amp;ssPageName=STRK:MESELX:IT">eBay Auction here - All proceeds go to Haitian Relief!</a></p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/ao/?p=39069&amp;akst_action=share-this" onclick="akst_share('39069', 'http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F04%2F39069%2F', 'Collector%26%238217%3Bs+Edition+Borland+Conference+Button+Set'); return false;" title="Post to del.icio.us, etc." id="akst_link_39069" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Collector%26%238217%3Bs%20Edition%20Borland%20Conference%20Button%20Set&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F04%2F39069%2F" id="akst_email_39069" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Hacking the TTouchKeyboard Part IV</title>
    <link>http://feedproxy.google.com/~r/ChrisBensenBlog/~3/G2NpleJ69iA/hacking-ttouchkeyboard-part-iv.html</link>
    <pubDate>Thu, 04 Feb 2010 07:00:00 +0000</pubDate>
    <dc:creator>Chris Bensen</dc:creator>
    <content:encoded><![CDATA[<a href="http://chrisbensen.blogspot.com/2009/12/hacking-ttouchkeyboard-part-i.html">Hacking the TTouchKeyboard Part I</a><br /><a href="http://chrisbensen.blogspot.com/2010/02/hacking-ttouchkeyboard-part-ii.html">Hacking the TTouchKeyboard Part II</a><br /><a href="http://chrisbensen.blogspot.com/2010/02/hacking-ttouchkeyboard-part-iii.html">Hacking the TTouchKeyboard Part III</a><br />Hacking the TTouchKeyboard Part IV (not published yet)<br />Hacking the TTouchKeyboard Part V (not published yet)<br /><br />Here is a quick off the top of my head documentation for the XML layout that is used by the keyboard compiler. If something doesn't behave as expected drop me a line with a comment or email so I can get it fixed.<br /><br /><br />This describes the schema and the attributes for the keyboard layout XML file.<br /><code><br />&lt;keyboard keyboardtype="Standard" keyboardname="Standard101" width=768" height="228" maxwidth="0" maxheight="0" minwidth="0" minheight="0"&gt;<br /></code><br />keyboardtype - this allows multiple keyboard layouts to contribute to an overall keyboard type. For instance, for Standard we have the Standard101, Standard102 and Standard 106 keyboard layouts. Each one specifies a different layout for the Standard keyboard layout depending on the keyboard's language. This becomes the value of the TTouchKeyboard.KeyboardLayout property.<br /><br />keyboardname - this is only used for humans to distinguish which keyboard layout is being used.<br /><br />width - this is the default width of the keyboard layout.<br /><br />height - is the default height of the keyboard layout.<br /><br />maxwidth - is the maxwidth constraint of the keyboard layout.<br /><br />minwidth - is the minwidth constraint of the keyboard layout.<br /><br />maxheight - is the maxheight constraint of the keyboard layout.<br /><br />minheight - is the minheight constraint of the keyboard layout.<br /><br /><code><br />&lt;language languagename="en" /&gt;<br /></code><br />languagename - specifies the two letter language code for the languages that this keyboard layout applies. When the system is searching for a keyboard layout for the current keyboard language it starts from the last keyboard layout registered, to allow developers to override the defaults, once a keyboardtype and language are found that keyboard layout is used.<br /><br /><code><br />&lt;row topmargin="0" bottommargin="2"&gt;<br /></code><br />topmargin - this is the padding between the key rows.<br /><br />bottommargin - this is the padding between the key rows.<br /><br /><code><br />&lt;key scancode="1" vk="200" caption="Esc" width="65" stretch="True" modifiername="fn" imageindex="3" toggle="True" mapscancode="42" mapvk="0" margin="5" doubletall="True" groupindex="1" combokeys="vk:12;vk:12;scancode:24;scancode:24"&gt;<br /></code><br />scancode - this is the Scan Code that is sent to the active window. The default value is 0. A valid scan code is greater than zero. Any value greater than zero will be sent as a key. If the value is 0 then it is key that does not have a scan code. Any key that does not have a scan code and or a vk is not a real key. If the value is less than 0 then it is also a fake key. This is useful for modifier keys.<br /><br />vk - Same as scancode above only for the vk. It is important to note that either one or both can be provided. If one isn't provided then the other will be determined by the OS.<br /><br />caption - this is the key caption to display.<br /><br />imageindex - this is a image that is displayed. -1 is the default which means the key caption is text. tab=0, shift=1, enter=2, backspace=3, up=4, down=5, left=6, right=7.<br /><br />width - this is how wide the key is. Since the keyboard is flow layout from the upper left hand following to the right and down it just gets the next available location. The width and height of the key will be the hit test area. The button will be drawn inside this region offset by the margins.<br /><br />height - Set the height of the key. The only valid value here is double the height of the row. Only one tall key is valid per row and only on the right hand side.<br /><br />leftmargin - is the margin to the left of the key.<br /><br />rightmargin - is the margin to the right of the key.<br /><br />stretch - in flow layout when resizing setting the stretch to True will tell the resize function to allow this key to take up all available space. Keys that are not stretch keys must have their appropriate proportions no matter the size of the keyboard while keys that are stretch keys will take up the available space.<br /><br />toggle - if a key is a toggle key then it can be pressed and stay's down. A second press will release the key and draw it normally.<br /><br />groupindex - toggle keys can be in a group. If two ore more keys are in the same group only one of them can be toggled at a time. When pressing a toggle key all the other toggle keys in the same group will be drawn normally while the newly pressed key will be pressed.<br /><br />combokeys - there are times when it is handy to generate a key sequence. The format is vk:# or scancode:# separated by a semicolon. The first time the vk or scancode is encountered it will trigger a down, the second occurrence it will be an up.<br /><br />mapscancode, mapvk - keys like the left and right shift keys or left and right ctrl keys have different scan codes and vks, so to show the same state on these keys one can provide an alternate vk or scancode values.<br /><br />modifiername - this tells the keyboard that this is a modifier key. When this key is toggled and a key has a modifier attribute then the key can change it's caption, scancode, vk and imageindex.<br /><br />publishedname - this is the name of the key caption override that is displayed in the object inspector under the CaptionOverrides property. This caption will override any and all captions for this key. Note that the developer can provide keyboard locale specific overrides programatically.<br /><br /><code><br />&lt;language languagename="fr" scancode="100" vk="2" imageindex="1" caption="AltGr" /&gt;<br /></code><br />languagename - specifies a language override for the key. If the keyboard language is fr then the scancode, vk, imageindex and caption will overridden with the values provided.<br /><br /> <code><br />&lt;modifier scancode="44" vk="0" scancode="20" vk="20" imageindex="2" caption="foo" modifiername="caps"&gt;<br /></code><br />modifiername - specifies an override for the key. If the modifier is toggled then the scancode, vk, imageindex and caption will overridden with the values provided.<br /><br /> <code><br />&lt;language languagename="fr" scancode="100" vk="2" imageindex="1" caption="AltGr" /&gt;<br />&lt;/modifier&gt;<br />&lt;/key><br />&lt;/row> &lt;/keyboard&gt;<br /></code><div class="blogger-post-footer">
<img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8857431988988627285-5543565837361314237?l=chrisbensen.blogspot.com' alt='' /></div><img src="http://feeds.feedburner.com/~r/ChrisBensenBlog/~4/G2NpleJ69iA" height="1" width="1"/>]]></content:encoded>
      </item>
  <item>
    <title>Delphi Developer Day IV en Español - 26 de febrero</title>
    <link>http://blogs.embarcadero.com/andreanolanusse/delphi-developer-day-iv-en-espanol/</link>
    <comments>http://blogs.embarcadero.com/andreanolanusse/delphi-developer-day-iv-en-espanol/#comments</comments>
    <pubDate>Thu, 04 Feb 2010 00:17:08 +0000</pubDate>
    <dc:creator>Andreano Lanusse</dc:creator>
    
		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[Spanish]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/andreanolanusse/?p=39388</guid>
    <description><![CDATA[



]]></description>
      <content:encoded><![CDATA[<p style="text-align: center"><a href="http://edn.embarcadero.com/es/article/40336"><img src="/files/2010/02/edmdddiv_2318.jpg" alt="" width="500" height="590" /></a></p>
<p style="text-align: center">
<p style="text-align: center"><a href="http://edn.embarcadero.com/es/article/40336"><br />
</a></p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/andreanolanusse/?p=39388&amp;akst_action=share-this" onclick="akst_share('39388', 'http%3A%2F%2Fblogs.embarcadero.com%2Fandreanolanusse%2Fdelphi-developer-day-iv-en-espanol%2F', 'Delphi+Developer+Day+IV+en+Espa%C3%B1ol+-+26+de+febrero'); return false;" title="Post to del.icio.us, etc." id="akst_link_39388" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Delphi%20Developer%20Day%20IV%20en%20Espa%C3%B1ol%20-%2026%20de%20febrero&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fandreanolanusse%2Fdelphi-developer-day-iv-en-espanol%2F" id="akst_email_39388" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Delphi Conference Online - Brasil - dia 25 de fevereiro</title>
    <link>http://blogs.embarcadero.com/andreanolanusse/delphi-conference-online-brasil-dia-25-de-fevereiro/</link>
    <comments>http://blogs.embarcadero.com/andreanolanusse/delphi-conference-online-brasil-dia-25-de-fevereiro/#comments</comments>
    <pubDate>Thu, 04 Feb 2010 00:12:04 +0000</pubDate>
    <dc:creator>Andreano Lanusse</dc:creator>
    
		<category><![CDATA[Delphi]]></category>

		<category><![CDATA[Events]]></category>

		<category><![CDATA[Portuguese]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/andreanolanusse/?p=39384</guid>
    <description><![CDATA[
]]></description>
      <content:encoded><![CDATA[<p style="text-align: center"><a href="http://edn.embarcadero.com/br/article/40335"><img src="/files/2010/02/convite1delphiconference_2315.jpg" alt="" width="500" height="427" /></a></p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/andreanolanusse/?p=39384&amp;akst_action=share-this" onclick="akst_share('39384', 'http%3A%2F%2Fblogs.embarcadero.com%2Fandreanolanusse%2Fdelphi-conference-online-brasil-dia-25-de-fevereiro%2F', 'Delphi+Conference+Online+-+Brasil+-+dia+25+de+fevereiro'); return false;" title="Post to del.icio.us, etc." id="akst_link_39384" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Delphi%20Conference%20Online%20-%20Brasil%20-%20dia%2025%20de%20fevereiro&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fandreanolanusse%2Fdelphi-conference-online-brasil-dia-25-de-fevereiro%2F" id="akst_email_39384" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Haiti Relief Auction: Signed Softball</title>
    <link>http://blogs.embarcadero.com/chrishesik/2010/02/03/35165/</link>
    <comments>http://blogs.embarcadero.com/chrishesik/2010/02/03/35165/#comments</comments>
    <pubDate>Wed, 03 Feb 2010 21:09:22 +0000</pubDate>
    <dc:creator>Chris Hesik</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/chrishesik/?p=35165</guid>
    <description><![CDATA[One of the "one-of-a-kind" items that I donated to the Borland Memorabilia Auction for Haitian Relief is now listed and ready for bids.
It is a softball signed by the the members of the winning softball team (who were mostly members of the Delphi and C++Builder engineering team) from the 2000 Company Softball League. You can [...]]]></description>
      <content:encoded><![CDATA[<p>One of the "one-of-a-kind" items that I donated to the <a href="http://cgi6.ebay.com/ws/eBayISAPI.dll?ViewSellersOtherItems&amp;userid=andersohlsson">Borland Memorabilia Auction for Haitian Relief</a> is now listed and ready for bids.</p>
<p>It is a softball signed by the the members of the winning softball team (who were mostly members of the Delphi and C++Builder engineering team) from the 2000 Company Softball League. You can read about this item on <a href="http://blogs.embarcadero.com/ao/2010/02/03/39067">Anders&#8217; blog</a> and you can view the auction <a href="http://cgi.ebay.com/Haiti-Relief-SIGNED-Borland-Championship-Softball_W0QQitemZ200435693904QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item2eaae5f950">here</a>.</p>
<p>Incidentally, 2000 was the last year that we had a company softball league, so we are still the reigning league champions :-).</p>
<p>I also donated a couple of unworn league championship t-shirts that we received after winning, and have asked Anders to include one of those for the winner of the softball auction.</p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/chrishesik/?p=35165&amp;akst_action=share-this" onclick="akst_share('35165', 'http%3A%2F%2Fblogs.embarcadero.com%2Fchrishesik%2F2010%2F02%2F03%2F35165%2F', 'Haiti+Relief+Auction%3A+Signed+Softball'); return false;" title="Post to del.icio.us, etc." id="akst_link_35165" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Haiti%20Relief%20Auction%3A%20Signed%20Softball&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fchrishesik%2F2010%2F02%2F03%2F35165%2F" id="akst_email_35165" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Random Thoughts on the Passing Scene #142</title>
    <link>http://blogs.embarcadero.com/nickhodges/2010/02/03/39356/</link>
    <comments>http://blogs.embarcadero.com/nickhodges/2010/02/03/39356/#comments</comments>
    <pubDate>Wed, 03 Feb 2010 19:55:26 +0000</pubDate>
    <dc:creator>Nick Hodges</dc:creator>
    
		<category><![CDATA[Random Thoughts]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/nickhodges/2010/02/03/39356</guid>
    <description><![CDATA[
The bidding is starting to pick up on our Haitian Relief auctions.&#160; Thanks very much to everyone who is generously bidding.
I have now officially gone crazily out of control in adding XMLDoc comments to the TSmiley code. Seriously.&#160;&#160; Help Insight will now provide more information that you might ever care to know.
Behold!&#160; The worlds most [...]]]></description>
      <content:encoded><![CDATA[<ul>
<li>The bidding is starting to pick up on <a href="http://shop.ebay.com/andersohlsson/m.html?_nkw=&amp;_armrs=1&amp;_from=&amp;_ipg=25c">our Haitian Relief auctions</a>.&#160; Thanks very much to everyone who is generously bidding.</li>
<li>I have now officially gone crazily out of control in adding XMLDoc comments to the <a href="https://sourceforge.net/projects/tsmiley/">TSmiley</a> code. Seriously.&#160;&#160; Help Insight will now provide more information that you might ever care to know.</li>
<li>Behold!&#160; <a href="http://cgi.ebay.com/Haiti-Relief-Borland-Delphi-Developers-Bumper-Sticker_W0QQitemZ200434151746QQcmdZViewItemQQptZLH_DefaultDomain_0?hash=item2eaace7142">The worlds most expensive bumper sticker!</a></li>
<li>Hey, you can help push the <a href="http://slashdot.org">Slashdot</a> article on our Haitian Relief efforts to the front page. <a href="http://slashdot.org/submission/1164318/Rare-Borland-Memorabilia-for-Haitian-Relief?art_pos=6">Push the little plus icon in the upper left on this page</a>.</li>
<li>Dude! Check out this <a href="http://cgi.ebay.com/Haiti-Relief-Borland-Quattro-Pro-Jacket-Size-L_W0QQitemZ200435668740QQcmdZViewItemQQptZUS_CSA_MC_Outerwear?hash=item2eaae59704">sweet shiny Quattro Pro jacket</a>!&#160; Wear it to the Disco this weekend!</li>
</ul>
<p class="akst_link"><a href="http://blogs.embarcadero.com/nickhodges/?p=39356&amp;akst_action=share-this" onclick="akst_share('39356', 'http%3A%2F%2Fblogs.embarcadero.com%2Fnickhodges%2F2010%2F02%2F03%2F39356%2F', 'Random+Thoughts+on+the+Passing+Scene+%23142'); return false;" title="Post to del.icio.us, etc." id="akst_link_39356" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Random%20Thoughts%20on%20the%20Passing%20Scene%20%23142&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fnickhodges%2F2010%2F02%2F03%2F39356%2F" id="akst_email_39356" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
  <gravatar>https://secure.gravatar.com/avatar/ad243151d19525c6e83a18d75c2eb3b6?r=g&amp;d=https%3a%2f%2fstatic.codegear.com%2fimages%2fno_avatar.jpg&amp;s=50</gravatar>
  </item>
  <item>
    <title>Haiti Relief: Championship Borland Softball</title>
    <link>http://blogs.embarcadero.com/ao/2010/02/03/39067/</link>
    <comments>http://blogs.embarcadero.com/ao/2010/02/03/39067/#comments</comments>
    <pubDate>Wed, 03 Feb 2010 19:08:09 +0000</pubDate>
    <dc:creator>Anders Ohlsson</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/ao/?p=39067</guid>
    <description><![CDATA[Chris Hesik, Delphi R&#38;D, has donated a very special item that is now up for sale. All proceeds go to Haitian Relief.
SIGNED Borland Softball League Championship Softball!!!
This item represents a fairy tale ending to a company softball league.
Letter from Chris Hesik:
2000 Inprise Softball League Champions “Virtual Base”
Championship Game Signed Game Ball (and a receipt from [...]]]></description>
      <content:encoded><![CDATA[<p>Chris Hesik, Delphi R&amp;D, has donated a <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=200435693904&amp;ssPageName=STRK:MESELX:IT">very special item</a> that is now up for sale. All proceeds go to Haitian Relief.</p>
<p><span style="font-weight: bold;font-size: medium"><a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=200435693904&amp;ssPageName=STRK:MESELX:IT">SIGNED Borland Softball League Championship Softball!!!</a></p>
<p>This item represents a fairy tale ending to a company softball league.</p>
<p>Letter from Chris Hesik:</p>
<p></span><span style="font-weight: bold;font-size: medium"><span style="font-size: small"><span style="font-style: italic">2000 Inprise Softball League Champions “Virtual Base”</span></p>
<p><span style="font-style: italic">Championship Game Signed Game Ball (and a receipt from the subsequent celebration at the Felton Round Table Pizza)</span></p>
<p><span style="font-style: italic">Date: 9/18/2000</span><br /><span style="font-style: italic">Score: 23-15</span></p>
<p><span style="font-style: italic">After having played and lost to the Inprise Sales team several times during the season, no one thought that Virtual Base, made up of mostly Delphi and C++Builder R&amp;D and QA Engineers, had much of a chance when the two teams met again in the League Championship game.  A strong first inning rally gave Virtual Base a large lead that lasted the entire game.</span></p>
<p><span style="font-style: italic">Roster:</span><br /><span style="font-style: italic">*Chris Hesik</span><br /><span style="font-style: italic">*Allen Bauer</span><br /><span style="font-style: italic">*Dave Wilhelm</span><br /><span style="font-style: italic">*Spencer Kimball</span><br /><span style="font-style: italic">*Jason Sprenger</span><br /><span style="font-style: italic">*Michael Swindell</span><br /><span style="font-style: italic">*Christine Ellis</span><br /><span style="font-style: italic">Ramesh Theivendran</span><br /><span style="font-style: italic">Terri Bartos</span><br /><span style="font-style: italic">Jeff Peters</span><br /><span style="font-style: italic">Ellie Peters</span><br /><span style="font-style: italic">Kurt "Gator" Algayar</span><br /><span style="font-style: italic">Karen Bauer</span><br /><span style="font-style: italic">Kenn Ellis</span></p>
<p><span style="font-style: italic">*Current Embarcadero Employee</span><br /></span></span></p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/ao/?p=39067&amp;akst_action=share-this" onclick="akst_share('39067', 'http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F03%2F39067%2F', 'Haiti+Relief%3A+Championship+Borland+Softball'); return false;" title="Post to del.icio.us, etc." id="akst_link_39067" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Haiti%20Relief%3A%20Championship%20Borland%20Softball&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F03%2F39067%2F" id="akst_email_39067" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>Great items JUST LISTED!!! For Haitian Relief.</title>
    <link>http://blogs.embarcadero.com/ao/2010/02/03/39065/</link>
    <comments>http://blogs.embarcadero.com/ao/2010/02/03/39065/#comments</comments>
    <pubDate>Wed, 03 Feb 2010 18:48:51 +0000</pubDate>
    <dc:creator>Anders Ohlsson</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/ao/?p=39065</guid>
    <description><![CDATA[Awesome new items listed!
New items include:
Delphi 1 - FIRST SHIP
Delphi 2 Standard - New In Box
Vintage Borland Quattro Pro Jacket
Vintage Borland OOP Jacket
Conference Button Set
And more!
]]></description>
      <content:encoded><![CDATA[<p><a href="http://cgi6.ebay.com/ws/eBayISAPI.dll?ViewSellersOtherItems&amp;userid=andersohlsson">Awesome new items listed!</a></p>
<p>New items include:</p>
<p>Delphi 1 - FIRST SHIP</p>
<p>Delphi 2 Standard - New In Box</p>
<p>Vintage Borland Quattro Pro Jacket</p>
<p>Vintage Borland OOP Jacket</p>
<p>Conference Button Set</p>
<p>And more!</p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/ao/?p=39065&amp;akst_action=share-this" onclick="akst_share('39065', 'http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F03%2F39065%2F', 'Great+items+JUST+LISTED%21%21%21+For+Haitian+Relief.'); return false;" title="Post to del.icio.us, etc." id="akst_link_39065" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Great%20items%20JUST%20LISTED%21%21%21%20For%20Haitian%20Relief.&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fao%2F2010%2F02%2F03%2F39065%2F" id="akst_email_39065" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
  <item>
    <title>DeHL, Delphi 2010 and Serialization</title>
    <link>http://alex.ciobanu.org/?p=285</link>
    <pubDate>Wed, 03 Feb 2010 06:33:31 +0000</pubDate>
    <dc:creator>Alexandru Ciobanu</dc:creator>
    <content:encoded><![CDATA[A few months have passed and I did not release a new version of DeHL yet. No, it&#8217;s not dead. I&#8217;ve just been busy with a delicate new feature &#8212; Serialization. This post will demonstrate the new capabilities of DeHL it&#8217;s advantages and and shortcomings.
But first &#8212; since the new releases will focus mostly on [...]]]></content:encoded>
      </item>
  <item>
    <title>Presenting at ESDC in March</title>
    <link>http://blogs.embarcadero.com/michaelrozlog/2010/02/03/37132/</link>
    <comments>http://blogs.embarcadero.com/michaelrozlog/2010/02/03/37132/#comments</comments>
    <pubDate>Wed, 03 Feb 2010 13:22:25 +0000</pubDate>
    <dc:creator>Michael Rozlog</dc:creator>
    
		<category><![CDATA[Uncategorized]]></category>

    <guid isPermaLink="false">http://blogs.embarcadero.com/michaelrozlog/?p=37132</guid>
    <description><![CDATA[You may ask yourself, what is ESDC?  Well, glad you asked&#8230; it is the new Enterprise Software Development Conference that is being held in San Mateo just outside of San Francisco, March 1 - 3.
Some of you may remember SD West or Software Development West, this was a who&#8217;s-who of software development, which included great [...]]]></description>
      <content:encoded><![CDATA[<p>You may ask yourself, what is ESDC?  Well, glad you asked&#8230; it is the new Enterprise Software Development Conference that is being held in San Mateo just outside of San Francisco, March 1 - 3.</p>
<p>Some of you may remember SD West or Software Development West, this was a who&#8217;s-who of software development, which included great speakers, good information, and people excited about learning.  Well due to the economy SD West was discontinued in 2009, but ESDC is here to take it&#8217;s place and move forward in providing cutting edge education and industry thought leaders in one great location.</p>
<p>So what will I be presenting?  On Wednesday March 3<sup>rd</sup>, from 11:30 to 12:45 I will be presenting on "<strong>Five Static Code Audits Every Developer Should Know - and Use</strong><strong>." </strong>As many of you know who read my blog, I think that both Audits and Metrics are vastly underused in our profession and I&#8217;m excited about showing developers that it is worth their time to learn, implement, and broadcast the results of good software design.  One of the main focuses with this demonstration/workshop&#8230; (I know it is only an hour, but I hope everybody leaves with information they can put to work immediately when they get back to work) is how audits fit into the Agile approach.</p>
<p><strong> </strong></p>
<p>Of course I know that I&#8217;m a value, (joke) however there are a ton of other great speakers at the conference including our own David I who will be presenting on<strong> "Software + Database Archeology (Part 1 &amp; 2)</strong><strong>" </strong>on Tuesday March 2<sup>nd</sup>, from 1:30 to 4:45 pm.  Plus, some of these that I will be attending:</p>
<p><strong> </strong></p>
<p style="padding-left: 30px"><strong>108 - The Productive Programmer </strong><br />
<strong>Neal Ford</strong><br />
The Productive Programmer consists of two parts: mechanics and practice. In the mechanics section, we&#8217;ll focus on four principles of productivity: acceleration, focus, automation and canonically. This session defines the principles and describes their use, but the primary focus of this class is to present real-world examples of how you can use these principles to make yourself a more productive programmer. The second part of this session teaches you 10 ways to improve your code, derived from the practices section. This class includes tons of examples, all culled from real-world projects.</p>
<p style="padding-left: 30px"><strong>202 - How to Suck a Little Less at Software Project Management </strong><br />
<strong>Larry O&#8217;Brien</strong><br />
Do you need to fine-tune your Kanban board to accurately reflect the unexpected absence of one of your pair programmers while maintaining your current six-week delivery iteration? If so, this is not the class for you. Are you, instead, dealing with a project that feels like it&#8217;s stuck in the mud, with delays cropping up constantly, taking one step forward and one step back, relying on the effort of superstar programmers and mandatory overtime? If so, you&#8217;ve got more company than you might think.</p>
<p style="padding-left: 30px">In this fast-paced talk, SD Times columnist Larry O&#8217;Brien will talk about increasing productivity and quality in a world of lowest-bid offshore contractors, over-hyped technology and, horror of horrors, clients who "did a little programming in college." What matters? Rapidly delivering value, establishing trust and developing for evolution. The lecture will be structured as a series of lightning talks on team and individual productivity, iterative development and delivery, coordinating a distributed development team, and the critical Agile techniques of unit testing and continuous integration.</p>
<p style="padding-left: 30px"><strong>304 - Principles of Test Driven Development </strong><br />
<strong>Robert C. Martin</strong><br />
Testing is not a verification technique. Testing is a design, documentation and specification technique that incidentally verifies that the software works as intended. This class discusses and demonstrates the disciplines and techniques of Test-Driven Development (TDD). Demonstrations are in Java using the JUnit and FITNESSE frameworks for Unit testing and Acceptance testing, respectively.</p>
<p style="padding-left: 30px"><strong>705 - Agile Modeling: No, It&#8217;s Not an Oxymoron </strong><br />
<strong>Terry Quatrani</strong><br />
So you have adopted an Agile process and think you don&#8217;t need to model. You should think again. One of the key principles of Agile development is communication. One of the best ways to facilitate communication is by using a model. Even though Agile modeling is different than traditional modeling, you will still be modeling. Requirements are needed in order to build the right system. Architecture is key; no one just sits down and writes code. Testing is imperative; "Test early, test often" is a mantra often heard. Come to this class to learn how modeling and, yes, even UML can be used effectively in an Agile development process.</p>
<p style="padding-left: 30px"><strong>802 - Comparing the Cloud: Google App Engine vs. Amazon&#8217;s EC2 </strong><br />
<strong>Andrew Glover</strong><br />
Several years ago, a few smart companies took advantage of the commoditization of hardware (and related software) by building systems made up of a lot of cheap machines, knowing that the entire infrastructure would continue to work even if individual machines broke at some point. Those smart companies-like Google and Amazon (to name a few)-have enormous infrastructures that they can literally rent out to people like you and me (and keep their core business running smoothly at the same time).</p>
<p style="padding-left: 30px">This class will teach you about Google&#8217;s and Amazon&#8217;s Cloud infrastructures, and the two are quite different. Google&#8217;s App Engine is more of a platform for developing Java Web applications. Amazon&#8217;s EC2 offering is less of a development platform per se and more of a generic infrastructure service that hosts virtual machines (which can be Linux- or Windows-based) on which you can run anything you&#8217;d like.</p>
<p style="padding-left: 30px">Open-source solutions combined with borrowed infrastructures are changing the character of Java development, letting teams deliver better software quickly and at a low cost. Come to this class to learn how it works, and how to get started.</p>
<p>Just don&#8217;t take my limited ones; here is a link to the conference catalog:<strong> <a href="http://www.go-esdc.com/pdf_files/ESDCcat.pdf">http://www.go-esdc.com/pdf_files/ESDCcat.pdf</a> </strong></p>
<p><strong> </strong></p>
<p>I know the economy is tough and I know budgets are tight, but if you are a software professional and you want to raise your development game, I think this is an excellent value for you and your company.  Remember, when asking the boss to attend a conference like this, you have to make a few promises and then follow-through if the company is paying for you to attend:</p>
<p><strong> </strong></p>
<ul>
<li>Summary      email at the end of each day to the boss and team
<ul>
<li>This       should include things learned and things that could be implemented in       your organization and how it could help</li>
<li>Any       summary information or links as value add</li>
</ul>
</li>
</ul>
<ul>
<li>You      have to have at least a 1 hour review of the conference when you return with      your boss and the team.  I recommend      using the summary emails as a great starting point for this review.</li>
</ul>
<ul>
<li>Finally,      try to put something you learned to use as soon as you get back and show      the boss the results.  This includes      even bad results, at least now you know that ‘x&#8217; sounds good but may not      work for you or your company.</li>
</ul>
<p>So if you can make it to San Mateo on March 1 - 3<sup>rd</sup>, I would recommend hanging out with us.  To register go here:  <a href="http://www.go-esdc.com/register.html">http://www.go-esdc.com/register.html</a> Early bird rates end 2/12/2010.</p>
<p>I hope to see you there, and yes I will be showing <strong>Delphi&#8230;</strong> plus, C++ and Java.</p>
<p class="akst_link"><a href="http://blogs.embarcadero.com/michaelrozlog/?p=37132&amp;akst_action=share-this" onclick="akst_share('37132', 'http%3A%2F%2Fblogs.embarcadero.com%2Fmichaelrozlog%2F2010%2F02%2F03%2F37132%2F', 'Presenting+at+ESDC+in+March'); return false;" title="Post to del.icio.us, etc." id="akst_link_37132" class="akst_share_link" rel="nofollow">Share This</a> | <a href="mailto:?subject=Presenting%20at%20ESDC%20in%20March&body=Have you seen this? http%3A%2F%2Fblogs.embarcadero.com%2Fmichaelrozlog%2F2010%2F02%2F03%2F37132%2F" id="akst_email_37132" class="akst_share_email" rel="nofollow">Email this page to a friend</a></p>]]></content:encoded>
      <wfw:commentRss></wfw:commentRss>
    </item>
</channel>
</rss>
