<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/1.5.1.3" -->
<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>TeamSuperGood</title>
	<link>http://blog.teamsupergood.com</link>
	<description>The Best Software Engineering Team on the Web</description>
	<pubDate>Fri, 17 Aug 2007 05:27:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=1.5.1.3</generator>
	<language>en</language>

		<item>
		<title>Project Demo</title>
		<link>http://blog.teamsupergood.com/2006/04/13/project-demo/</link>
		<comments>http://blog.teamsupergood.com/2006/04/13/project-demo/#comments</comments>
		<pubDate>Thu, 13 Apr 2006 16:34:43 +0000</pubDate>
		<dc:creator>Nadia</dc:creator>
		
	<category>Marketing</category>
		<guid>http://blog.teamsupergood.com/2006/04/13/project-demo/</guid>
		<description><![CDATA[	It&#8217;s done! Last week was the capstone project demonstrations. We&#8217;ve been so busy completing the project that we haven&#8217;t had enough opportunities to blog. We&#8217;re sorry!
	TeamSuperGood demonstrated all the great functionalities of Impresario. We kicked butt and we looked good doing it (in our team shirts)! We had lots of people interested in the project. [...]]]></description>
			<content:encoded><![CDATA[	<p>It&#8217;s done! Last week was the capstone project demonstrations. We&#8217;ve been so busy completing the project that we haven&#8217;t had enough opportunities to blog. We&#8217;re sorry!</p>
	<p>TeamSuperGood demonstrated all the great functionalities of Impresario. We kicked butt and we looked good doing it (in our team shirts)! We had lots of people interested in the project. Many SOEN 390 students have shown interest in extending the project and we are also developing our own plan on what functionalities we would like to add. A fellow TeamSuperGoodmate is working on making a demo available online, so stay tuned for that!</p>
	<p>I&#8217;d like to take this opportunity to thank those who helped us with the project through their various contributions and insight: Candy, Mustafa and Dr. Constantinides.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/04/13/project-demo/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>XMLUtil</title>
		<link>http://blog.teamsupergood.com/2006/04/08/xmlutil/</link>
		<comments>http://blog.teamsupergood.com/2006/04/08/xmlutil/#comments</comments>
		<pubDate>Sun, 09 Apr 2006 01:34:12 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
		
	<category>Uncategorized</category>
	<category>Java</category>
	<category>XML</category>
		<guid>http://blog.teamsupergood.com/2006/04/08/xmlutil/</guid>
		<description><![CDATA[	During the development of Impresario, we&#8217;ve built many many utilities to help us. One of the utility was the XMLUtil. The javax&#8217;s XML tutorial isn&#8217;t too helpful. We went through many hours of research and finally compiled a set of functions that allows us to convert strings to Documents, convert Documents to File, validate documents, [...]]]></description>
			<content:encoded><![CDATA[	<p>During the development of Impresario, we&#8217;ve built many many utilities to help us. One of the utility was the XMLUtil. The javax&#8217;s XML tutorial isn&#8217;t too helpful. We went through many hours of research and finally compiled a set of functions that allows us to convert strings to Documents, convert Documents to File, validate documents, convert File to Documents, etc. If anyone need this util, please comment on this post and leave me your email address. Once I get your info, I will contact you and delete your post from the list of comments (I will only delete if it has your contact info, but don&#8217;t expect me to delete it on the same day you post it!).</p>
	<p>(This includes the person I talked to on Friday about the XMLUtil. If you&#8217;re reading this, please give me your email again because the one I have does not work. Thanks.)
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/04/08/xmlutil/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Prepared Statements, Again!</title>
		<link>http://blog.teamsupergood.com/2006/03/28/prepared-statements-again/</link>
		<comments>http://blog.teamsupergood.com/2006/03/28/prepared-statements-again/#comments</comments>
		<pubDate>Tue, 28 Mar 2006 17:25:36 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
		
	<category>Programming</category>
	<category>Java</category>
	<category>MySQL</category>
		<guid>http://blog.teamsupergood.com/2006/03/28/prepared-statements-again/</guid>
		<description><![CDATA[	Okay, earlier this year I figured out that the reason for our binary data problems when retrieving stored files from the database was the use of PreparedStatement. Well, we don&#8217;t use it for files, however we do still use it in so many other plaves in our code. We kept getting some recurring errors the [...]]]></description>
			<content:encoded><![CDATA[	<p>Okay, earlier this year I figured out that the reason for our binary data problems when retrieving stored files from the database was the use of PreparedStatement. Well, we don&#8217;t use it for files, however we do still use it in so many other plaves in our code. We kept getting some recurring errors the most common one being that the placeholders had not been bound with objects before running the statment. Basically, PrepareCall() failed. We stepped through multiple times until we found an example where the error was found and found that in fact, there was no problem with the bound SQL generated by the PreparedStatement. So the error was being thrown for absolutely no reason that we could fathom. So, I did the exact same fix as for the binary data retrieval bugs and it fixed the problem. There seems to be major problems with the PreparedStatement calls and so now we just grab the sql that has been prepared, and then run it directly. For those who don&#8217;t remember how this was done, here is some sample code:</p>
	<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-comment">//Prepare the statement
</span><span class="hl-identifier">PreparedStatement statement</span><span class="hl-default"> = </span><span class="hl-identifier">prepareStatement</span><span class="hl-brackets">(</span><span class="hl-identifier">query</span><span class="hl-code">, </span><span class="hl-identifier">variables</span><span class="hl-code">, </span><span class="hl-identifier">values</span><span class="hl-brackets">)</span><span class="hl-default">;

</span><span class="hl-comment">//Strip out the object information
</span><span class="hl-identifier">String statementString</span><span class="hl-default"> = </span><span class="hl-identifier">statement</span><span class="hl-default">.</span><span class="hl-identifier">toString</span><span class="hl-brackets">()</span><span class="hl-default">;
</span><span class="hl-identifier">statementString</span><span class="hl-default"> = </span><span class="hl-identifier">statementString</span><span class="hl-default">.</span><span class="hl-identifier">substring</span><span class="hl-brackets">(</span><span class="hl-identifier">statementString</span><span class="hl-code">.</span><span class="hl-identifier">indexOf</span><span class="hl-brackets">(</span><span class="hl-quotes">'</span><span class="hl-string">-</span><span class="hl-quotes">'</span><span class="hl-brackets">)</span><span class="hl-code">+</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-default">;

</span><span class="hl-comment">//Original query execution
//return statement.executeQuery();

</span><span class="hl-reserved">return </span><span class="hl-identifier">statement</span><span class="hl-default">.</span><span class="hl-identifier">executeQuery</span><span class="hl-brackets">(</span><span class="hl-identifier">statementString</span><span class="hl-brackets">)</span><span class="hl-default">;</span></pre></div></div>
	<p>Just as some notes, prepareStatement() takes the query and binds all the values to the string. The next line gets the value of the PreparedStatement as a string.  This will yield something similar to this:</p>
	<blockquote><p>
com.mysql.jdbc.ServerPreparedStatement[3] - call impr_linkable_object_find_connected_by_type(2, &#8216;org.impresario.core&#8217;, &#8216;user&#8217;, &#8216;org.impresario.core&#8217;, &#8216;project&#8217;)</p></blockquote>
	<p>As you can see, there is information about the object before you get the sql. The following line strips everything before that first <strong>-</strong> so that you are left with only the sql call itself which is then executed independently as a string.</p>
	<p>Suddenly, we no longer have that annoying problem popping up. <img src='http://blog.teamsupergood.com/wp-images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/03/28/prepared-statements-again/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>We&#8217;ve got fans!</title>
		<link>http://blog.teamsupergood.com/2006/03/17/weve-got-fans/</link>
		<comments>http://blog.teamsupergood.com/2006/03/17/weve-got-fans/#comments</comments>
		<pubDate>Sat, 18 Mar 2006 01:12:41 +0000</pubDate>
		<dc:creator>SwordAngel</dc:creator>
		
	<category>Team</category>
		<guid>http://blog.teamsupergood.com/2006/03/17/weve-got-fans/</guid>
		<description><![CDATA[	A few of the team ran down to grab some free food from Reggie&#8217;s today. And we bumped into two of our fans, Frank and My-An. It feels so nice to know people appreciate our work. Thank you. =)
	

]]></description>
			<content:encoded><![CDATA[	<p>A few of the team ran down to grab some free food from Reggie&#8217;s today. And we bumped into two of our fans, Frank and My-An. It feels so nice to know people appreciate our work. Thank you. =)</p>
	<p><img src="http://gallery.kalunite.net/d/92-2/DSC01843.JPG" alt="Frank and My-An" width="448" height="336" />
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/03/17/weve-got-fans/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Adopting standards</title>
		<link>http://blog.teamsupergood.com/2006/03/17/adopting-standards/</link>
		<comments>http://blog.teamsupergood.com/2006/03/17/adopting-standards/#comments</comments>
		<pubDate>Fri, 17 Mar 2006 23:36:39 +0000</pubDate>
		<dc:creator>SwordAngel</dc:creator>
		
	<category>Technology</category>
		<guid>http://blog.teamsupergood.com/2006/03/17/adopting-standards/</guid>
		<description><![CDATA[	I&#8217;ve written a little post about the frustrations and things to looks out for when adopting a standard. I&#8217;m not going to mirror the whole article here so I&#8217;ll just give you a link to the post on my personal blog: The Horrors of Adopting Standards.

]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;ve written a little post about the frustrations and things to looks out for when adopting a standard. I&#8217;m not going to mirror the whole article here so I&#8217;ll just give you a link to the post on my personal blog: <a href="http://kalunite.net/?p=22">The Horrors of Adopting Standards</a>.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/03/17/adopting-standards/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Using Prototype.js and PeriodicalExecuter</title>
		<link>http://blog.teamsupergood.com/2006/03/14/using-prototypejs-and-periodicalexecuter/</link>
		<comments>http://blog.teamsupergood.com/2006/03/14/using-prototypejs-and-periodicalexecuter/#comments</comments>
		<pubDate>Wed, 15 Mar 2006 03:15:52 +0000</pubDate>
		<dc:creator>Ahmed</dc:creator>
		
	<category>HTML</category>
	<category>Programming</category>
		<guid>http://blog.teamsupergood.com/2006/03/14/using-prototypejs-and-periodicalexecuter/</guid>
		<description><![CDATA[	Use PeriodicalExecuter to execute a method every x seconds.

]]></description>
			<content:encoded><![CDATA[	<p>Use PeriodicalExecuter to execute a method every x seconds.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/03/14/using-prototypejs-and-periodicalexecuter/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>How about this bug?</title>
		<link>http://blog.teamsupergood.com/2006/03/13/how-about-this-bug/</link>
		<comments>http://blog.teamsupergood.com/2006/03/13/how-about-this-bug/#comments</comments>
		<pubDate>Tue, 14 Mar 2006 04:14:27 +0000</pubDate>
		<dc:creator>Ahmed</dc:creator>
		
	<category>Programming</category>
		<guid>http://blog.teamsupergood.com/2006/03/13/how-about-this-bug/</guid>
		<description><![CDATA[	Ok, so I select the list of projects, then I select a specific project.
	Ok, so only one person is in that project, nice, I click on him and look at his list of projects.
	huh? They don’t match!

So Soen390 has Ka Lun as a Manager, Ka Lun shows that he is the a Contribute on Soen490, [...]]]></description>
			<content:encoded><![CDATA[	<blockquote><p><del datetime="2006-03-14T04:56:57+00:00">Ok, so I select the list of projects, then I select a specific project.</del></p>
	<p><del datetime="2006-03-14T04:56:57+00:00">Ok, so only one person is in that project, nice, I click on him and look at his list of projects.</del></p>
	<p><del datetime="2006-03-14T04:56:57+00:00">huh? They don’t match!<br />
</del><br />
<del datetime="2006-03-14T04:56:57+00:00">So <em><strong>Soen390</strong></em> has Ka Lun as a Manager, Ka Lun shows that he is the a Contribute on <em><strong>Soen490</strong></em>, So why doesn’t he know about his Soen390?</del></p></blockquote>
	<p>My Bad, I introduced that bug by through some of the test code I inserted while debugging another bug. (Lower level code has funky higher level consequences)
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/03/13/how-about-this-bug/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>How to sign a Java Applet</title>
		<link>http://blog.teamsupergood.com/2006/02/20/how-to-sign-a-java-applet/</link>
		<comments>http://blog.teamsupergood.com/2006/02/20/how-to-sign-a-java-applet/#comments</comments>
		<pubDate>Mon, 20 Feb 2006 23:55:28 +0000</pubDate>
		<dc:creator>Eric</dc:creator>
		
	<category>Uncategorized</category>
	<category>Technology</category>
	<category>Java</category>
		<guid>http://blog.teamsupergood.com/2006/02/20/how-to-sign-a-java-applet/</guid>
		<description><![CDATA[	This is a tutorial on how to sign a Java Applet to allow it to bypass the security of the JVM. Here
	Summary:
* To create a certificate:
keytool -genkey -alias myKeyAlias -keypass myKeypassword -keystore mykeystoreFileName.bin -storepass publicKeykeystorePassword
	* To sign the applet (it has to be a .jar file):
jarsigner -keystore mykeystoreFileName.bin MyApplet.jar myKeyAlias
	* To verify if the applet [...]]]></description>
			<content:encoded><![CDATA[	<p>This is a tutorial on how to sign a Java Applet to allow it to bypass the security of the JVM. <a href="http://www.ericsson.com/mobilityworld/sub/open/technologies/open_development_tips/docs/odt_sign_applets">Here</a></p>
	<p>Summary:<br />
* To create a certificate:<br />
keytool -genkey -alias myKeyAlias -keypass myKeypassword -keystore mykeystoreFileName.bin -storepass publicKeykeystorePassword</p>
	<p>* To sign the applet (it has to be a .jar file):<br />
jarsigner -keystore mykeystoreFileName.bin MyApplet.jar myKeyAlias</p>
	<p>* To verify if the applet is correctly signed:<br />
jarsigner -verify MyApplet.jar</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/02/20/how-to-sign-a-java-applet/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>Bloody MySQL</title>
		<link>http://blog.teamsupergood.com/2006/02/12/bloody-mysql/</link>
		<comments>http://blog.teamsupergood.com/2006/02/12/bloody-mysql/#comments</comments>
		<pubDate>Mon, 13 Feb 2006 02:31:34 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
		
	<category>Technology</category>
	<category>Programming</category>
	<category>Java</category>
	<category>MySQL</category>
		<guid>http://blog.teamsupergood.com/2006/02/12/bloody-mysql/</guid>
		<description><![CDATA[	Well, some of you might know that we were planning on storing files in the database. I have been back and forwards with MySQL developerd for a cpl of months now with respect to an error I was having retrieving binary data from the database.  All non text (as in writing) bytes would be [...]]]></description>
			<content:encoded><![CDATA[	<p>Well, some of you might know that we were planning on storing files in the database. I have been back and forwards with MySQL developerd for a cpl of months now with respect to an error I was having retrieving binary data from the database.  All non text (as in writing) bytes would be translated into ASCII 63 (the question mark)&#8230; I originally thought it was a server problem but no dice&#8230; We then moved on to ConnectorJ problems and one of the developers came up  with code that did work. I did not understand and played with it then realised the one thing I did that they did not.</p>
	<p>PREPAREDSTATEMENTS!!!!</p>
	<p>If you use a preparedStatement in java so you can use placeholders and whatnot, do not retrieve binary data. If you would like to see this in action just follow the following code. The first run will show you the data being retrieved mutated, then, instead of getting rs from the prepared statement, uncomment the commented out line and get it from an executequery method on a specific string. <b>Voila</b> Everything works! So basically, if you would like to retrieve binary data, do not create the prepared statment and then run it as this will not work. </p>
	<div class="hl-surround" style="height:280px;"><div class="hl-main"><pre><span class="hl-reserved">public </span><span class="hl-types">static void </span><span class="hl-identifier">main2</span><span class="hl-brackets">(</span><span class="hl-identifier">String</span><span class="hl-brackets">[] </span><span class="hl-identifier">args</span><span class="hl-brackets">) </span><span class="hl-reserved">throws </span><span class="hl-identifier">Exception </span><span class="hl-brackets">{

	</span><span class="hl-identifier">Connection db</span><span class="hl-code"> = </span><span class="hl-identifier">DbRegistry</span><span class="hl-code">.</span><span class="hl-identifier">getDbConnection</span><span class="hl-brackets">()</span><span class="hl-code">;
	</span><span class="hl-identifier">Statement stmt</span><span class="hl-code"> = </span><span class="hl-identifier">db</span><span class="hl-code">.</span><span class="hl-identifier">createStatement</span><span class="hl-brackets">()</span><span class="hl-code">;
	</span><span class="hl-identifier">stmt</span><span class="hl-code">.</span><span class="hl-identifier">executeUpdate</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">DROP TABLE IF EXISTS bytesTest;</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
	</span><span class="hl-identifier">stmt</span><span class="hl-code">.</span><span class="hl-identifier">executeUpdate</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">CREATE TABLE bytesTest(field1 blob)</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;

	</span><span class="hl-types">byte </span><span class="hl-identifier">counter</span><span class="hl-code"> = </span><span class="hl-identifier">Byte</span><span class="hl-code">.</span><span class="hl-identifier">MIN_VALUE</span><span class="hl-code">;
		
	</span><span class="hl-types">byte</span><span class="hl-brackets">[] </span><span class="hl-identifier">allBytesOriginal</span><span class="hl-code"> = </span><span class="hl-reserved">new </span><span class="hl-types">byte</span><span class="hl-brackets">[</span><span class="hl-number">256</span><span class="hl-brackets">]</span><span class="hl-code">;
		
	</span><span class="hl-reserved">for </span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-number">256</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">) {
		</span><span class="hl-identifier">allBytesOriginal</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> = </span><span class="hl-identifier">counter</span><span class="hl-code">++;
	</span><span class="hl-brackets">}

	</span><span class="hl-identifier">PreparedStatement pStmt</span><span class="hl-code"> = </span><span class="hl-identifier">db</span><span class="hl-code">.</span><span class="hl-identifier">prepareStatement</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">INSERT INTO bytesTest VALUES (?)</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
	</span><span class="hl-identifier">pStmt</span><span class="hl-code">.</span><span class="hl-identifier">setBytes</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-code">, </span><span class="hl-identifier">allBytesOriginal</span><span class="hl-brackets">)</span><span class="hl-code">;
	</span><span class="hl-identifier">pStmt</span><span class="hl-code">.</span><span class="hl-identifier">executeUpdate</span><span class="hl-brackets">()</span><span class="hl-code">;

	</span><span class="hl-identifier">pStmt</span><span class="hl-code"> = </span><span class="hl-identifier">db</span><span class="hl-code">.</span><span class="hl-identifier">prepareStatement</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">SELECT SUBSTRING(field1,1, ?) FROM bytesTest</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;		
	</span><span class="hl-identifier">pStmt</span><span class="hl-code">.</span><span class="hl-identifier">setInt</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-code">,</span><span class="hl-number">300</span><span class="hl-brackets">)</span><span class="hl-code">;
	</span><span class="hl-identifier">ResultSet rs</span><span class="hl-code">= </span><span class="hl-identifier">pStmt</span><span class="hl-code">.</span><span class="hl-identifier">executeQuery</span><span class="hl-brackets">()</span><span class="hl-code">;
		
</span><span class="hl-comment">//    ResultSet rs = stmt.executeQuery(&quot;SELECT SUBSTRING(field1,1, 300) FROM bytesTest&quot;);

	</span><span class="hl-identifier">rs</span><span class="hl-code">.</span><span class="hl-identifier">next</span><span class="hl-brackets">()</span><span class="hl-code">;

	</span><span class="hl-types">byte</span><span class="hl-brackets">[] </span><span class="hl-identifier">retrBytes</span><span class="hl-code"> = </span><span class="hl-identifier">rs</span><span class="hl-code">.</span><span class="hl-identifier">getBytes</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">;

	</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">retrBytes</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code"> != </span><span class="hl-identifier">allBytesOriginal</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-brackets">) {
		</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Bytes not same length</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
		</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">exit</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">;
	</span><span class="hl-brackets">}

	</span><span class="hl-reserved">for </span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">retrBytes</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">) {
		</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">retrBytes</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> != </span><span class="hl-identifier">allBytesOriginal</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]) {
			</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Bytes differed at position </span><span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">i</span><span class="hl-code">
					+ </span><span class="hl-quotes">&quot;</span><span class="hl-string">, retrieved </span><span class="hl-quotes">&quot;</span><span class="hl-code">
					+ </span><span class="hl-identifier">Integer</span><span class="hl-code">.</span><span class="hl-identifier">toHexString</span><span class="hl-brackets">(</span><span class="hl-identifier">retrBytes</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> &amp; </span><span class="hl-number">0xff</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span><span class="hl-string"> , sent </span><span class="hl-quotes">&quot;</span><span class="hl-code">
					+ </span><span class="hl-identifier">Integer</span><span class="hl-code">.</span><span class="hl-identifier">toHexString</span><span class="hl-brackets">(</span><span class="hl-identifier">allBytesOriginal</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> &amp; </span><span class="hl-number">0xff</span><span class="hl-brackets">))</span><span class="hl-code">;
		</span><span class="hl-brackets">}
	}
		
	</span><span class="hl-identifier">Blob asBlob</span><span class="hl-code"> = </span><span class="hl-identifier">rs</span><span class="hl-code">.</span><span class="hl-identifier">getBlob</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">;
	</span><span class="hl-types">byte</span><span class="hl-brackets">[] </span><span class="hl-identifier">blobBytes</span><span class="hl-code"> = </span><span class="hl-identifier">asBlob</span><span class="hl-code">.</span><span class="hl-identifier">getBytes</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-code">, </span><span class="hl-number">256</span><span class="hl-brackets">)</span><span class="hl-code">;
	
	</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">blobBytes</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code"> != </span><span class="hl-identifier">allBytesOriginal</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-brackets">) {
		</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Bytes not same length</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">;
		</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">exit</span><span class="hl-brackets">(</span><span class="hl-number">1</span><span class="hl-brackets">)</span><span class="hl-code">;
	</span><span class="hl-brackets">}
	
	</span><span class="hl-reserved">for </span><span class="hl-brackets">(</span><span class="hl-types">int </span><span class="hl-identifier">i</span><span class="hl-code"> = </span><span class="hl-number">0</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code"> &lt; </span><span class="hl-identifier">blobBytes</span><span class="hl-code">.</span><span class="hl-identifier">length</span><span class="hl-code">; </span><span class="hl-identifier">i</span><span class="hl-code">++</span><span class="hl-brackets">) {
		</span><span class="hl-reserved">if </span><span class="hl-brackets">(</span><span class="hl-identifier">blobBytes</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> != </span><span class="hl-identifier">allBytesOriginal</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]) {
			</span><span class="hl-identifier">System</span><span class="hl-code">.</span><span class="hl-identifier">out</span><span class="hl-code">.</span><span class="hl-identifier">println</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">Bytes differed at position </span><span class="hl-quotes">&quot;</span><span class="hl-code"> + </span><span class="hl-identifier">i</span><span class="hl-code">
				+ </span><span class="hl-quotes">&quot;</span><span class="hl-string">, retrieved </span><span class="hl-quotes">&quot;</span><span class="hl-code">
				+ </span><span class="hl-identifier">Integer</span><span class="hl-code">.</span><span class="hl-identifier">toHexString</span><span class="hl-brackets">(</span><span class="hl-identifier">blobBytes</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> &amp; </span><span class="hl-number">0xff</span><span class="hl-brackets">)</span><span class="hl-code"> + </span><span class="hl-quotes">&quot;</span><span class="hl-string"> , sent </span><span class="hl-quotes">&quot;</span><span class="hl-code">
				+ </span><span class="hl-identifier">Integer</span><span class="hl-code">.</span><span class="hl-identifier">toHexString</span><span class="hl-brackets">(</span><span class="hl-identifier">allBytesOriginal</span><span class="hl-brackets">[</span><span class="hl-identifier">i</span><span class="hl-brackets">]</span><span class="hl-code"> &amp; </span><span class="hl-number">0xff</span><span class="hl-brackets">))</span><span class="hl-code">;
		</span><span class="hl-brackets">}
	}
}</span></pre></div></div>
	<p>A quick workaround that I devised was this following blurp of code: (This works if you have the same version of prepared statements as I do and the - seperates the blurp from toString() from the executable SQL statement.) You may need to edit it yourself and customize to you preparedstatement.</p>
	<p>In the following code:<br />
<strong>selectStatement</strong> is a preparedStatement that has all its placeholders set and is ready for execution.<br />
<strong>execQuery </strong>is a String that you build to extract the actual sql statement from the selectStatement.toString()</p>
	<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-identifier">String execQuery</span><span class="hl-default">= </span><span class="hl-identifier">selectStatement</span><span class="hl-default">.</span><span class="hl-identifier">toString</span><span class="hl-brackets">()</span><span class="hl-default">;
				
</span><span class="hl-identifier">ResultSet rs</span><span class="hl-default">= </span><span class="hl-identifier">selectStatement</span><span class="hl-default">.</span><span class="hl-identifier">executeQuery</span><span class="hl-brackets">(</span><span class="hl-identifier">execQuery</span><span class="hl-code">.</span><span class="hl-identifier">substring</span><span class="hl-brackets">(</span><span class="hl-identifier">execQuery</span><span class="hl-code">.</span><span class="hl-identifier">indexOf</span><span class="hl-brackets">(</span><span class="hl-quotes">&quot;</span><span class="hl-string">-</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">)</span><span class="hl-code">+</span><span class="hl-number">2</span><span class="hl-brackets">))</span><span class="hl-default">;</span></pre></div></div>
	<p>The bug raised at MySQL can be found here:<br />
<a href="http://bugs.mysql.com/15735" target="_blank">http://bugs.mysql.com/15735</a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/02/12/bloody-mysql/feed/</wfw:commentRSS>
	</item>
		<item>
		<title>TSG + Impresario Logos!</title>
		<link>http://blog.teamsupergood.com/2006/02/11/tsg-impresario-logos-2/</link>
		<comments>http://blog.teamsupergood.com/2006/02/11/tsg-impresario-logos-2/#comments</comments>
		<pubDate>Sun, 12 Feb 2006 01:44:33 +0000</pubDate>
		<dc:creator>Dominique</dc:creator>
		
	<category>Uncategorized</category>
	<category>Marketing</category>
		<guid>http://blog.teamsupergood.com/2006/02/11/tsg-impresario-logos-2/</guid>
		<description><![CDATA[	I made a logo from Nadia&#8217;s awesome little sketch. Let me know what you think and how I could make them even better!
	Eric, notice the red. I think its an awesome color&#8230; much more punch then the blue I had going on before!
	
	

]]></description>
			<content:encoded><![CDATA[	<p>I made a logo from Nadia&#8217;s awesome little sketch. Let me know what you think and how I could make them even better!</p>
	<p>Eric, notice the red. I think its an awesome color&#8230; much more punch then the blue I had going on before!</p>
	<p><img src="http://www.grrly.net/soen490/tsg.gif" alt="TSG logo" /></p>
	<p><img src="http://www.grrly.net/soen490/impresario.gif" alt="TSG impresario logo" />
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.teamsupergood.com/2006/02/11/tsg-impresario-logos-2/feed/</wfw:commentRSS>
	</item>
	</channel>
</rss>
