<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUcCRng5eyp7ImA9WhRUGEQ.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305</id><updated>2012-01-29T19:11:07.623-08:00</updated><title>Code Tips</title><subtitle type="html">Things I Learn along the way in controlling the computer.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://codintips.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/blogspot/rLdNw" /><feedburner:info uri="blogspot/rldnw" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DU4MQ3s8fCp7ImA9WhZXEko.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-2382698248129180777</id><published>2011-05-01T10:52:00.000-07:00</published><updated>2011-05-01T12:26:22.574-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-05-01T12:26:22.574-07:00</app:edited><title>Battling Base64 Uploads on #GAE</title><content type="html">I can't believe it, I seem to be battle multiple fronts of erros in my code, trying to get base64 uploaded to #GAE. &lt;br /&gt;
&lt;br /&gt;
My eclipse Jetty dev posts aren't pulling out of any parameters from the post. This is really firing me up. I am having to divert to my virtual box windows install to try to distinguish if its eclipse or my code. It appears something is broken on the jetty stuff b/c I can see the content come or the payload. &lt;br /&gt;
&lt;br /&gt;
Oh, how I wish I could just get my parameters back with a click of a key. Something went wrong and I have no idea what happened.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Couple Hours Later:&lt;br /&gt;
ahhhh I got it working after messing with the classpath setup. I'm not sure what it was yet.&lt;br /&gt;
&lt;br /&gt;
Another Hour goes by:&lt;br /&gt;
Maybe its a fluke. I updated the mac jvm and still the same thing, no parameters.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-2382698248129180777?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/r1j1KX7WgF_Jm6qPGvyG2ai6foY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r1j1KX7WgF_Jm6qPGvyG2ai6foY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/r1j1KX7WgF_Jm6qPGvyG2ai6foY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/r1j1KX7WgF_Jm6qPGvyG2ai6foY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/WWM6egxm4RQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/2382698248129180777/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=2382698248129180777" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2382698248129180777?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2382698248129180777?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/WWM6egxm4RQ/battling-base64-uploads-on-gae.html" title="Battling Base64 Uploads on #GAE" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2011/05/battling-base64-uploads-on-gae.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AMRno6fyp7ImA9Wx9VEEg.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-106045444851198714</id><published>2011-01-26T06:23:00.000-08:00</published><updated>2011-01-26T06:23:07.417-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-26T06:23:07.417-08:00</app:edited><title>Encoding URL delimiters (for GWT)</title><content type="html">This is what I do to encode a parameter for my querystring:&lt;br /&gt;
&lt;br /&gt;
&lt;title&gt;&lt;/title&gt;   &lt;style type="text/css"&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #941067}
span.s1 {color: #941067}
span.s2 {color: #000000}
span.s3 {color: #492cfa}
span.Apple-tab-span {white-space:pre}
&lt;/style&gt;   &lt;br /&gt;
&lt;div class="p1"&gt;&lt;span class="s1"&gt;public&lt;/span&gt; &lt;span class="s1"&gt;static&lt;/span&gt; String encodeUrlDelimiters(String s) {&lt;/div&gt;&lt;div class="p2"&gt;&lt;span class="s1"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/span&gt;if&lt;/span&gt; (s == &lt;span class="s1"&gt;null&lt;/span&gt;) {&lt;/div&gt;&lt;div class="p3"&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;return&lt;span class="s2"&gt; &lt;/span&gt;null&lt;span class="s2"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="p3"&gt;&lt;span class="s2"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/span&gt;&lt;/div&gt;&lt;div class="p2"&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt; &amp;nbsp;&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;";"&lt;/span&gt;, &lt;span class="s3"&gt;"%2F"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;"/"&lt;/span&gt;, &lt;span class="s3"&gt;"%2F"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;":"&lt;/span&gt;, &lt;span class="s3"&gt;"%3A"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;"\\?"&lt;/span&gt;, &lt;span class="s3"&gt;"%3F"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;"&amp;amp;"&lt;/span&gt;, &lt;span class="s3"&gt;"%26"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;"\\="&lt;/span&gt;, &lt;span class="s3"&gt;"%3D"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;"\\+"&lt;/span&gt;, &lt;span class="s3"&gt;"%2B"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;"\\$"&lt;/span&gt;, &lt;span class="s3"&gt;"%24"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;","&lt;/span&gt;, &lt;span class="s3"&gt;"%2C"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; s = s.replaceAll(&lt;span class="s3"&gt;"#"&lt;/span&gt;, &lt;span class="s3"&gt;"%23"&lt;/span&gt;);&lt;/div&gt;&lt;div class="p2"&gt;&lt;span class="Apple-tab-span"&gt;	&lt;/span&gt; &amp;nbsp;&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="s1"&gt;return&lt;/span&gt; s;&lt;/div&gt;&lt;div class="p1"&gt;}&lt;/div&gt;&lt;div class="p1"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="p1"&gt;This is how I use it:&lt;/div&gt;&lt;div class="p1"&gt;&lt;title&gt;&lt;/title&gt;   &lt;style type="text/css"&gt;
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco}
p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; color: #941067}
p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco; min-height: 15.0px}
span.s1 {color: #941067}
span.s2 {color: #2221c8}
span.s3 {color: #000000}
span.s4 {color: #492cfa}
&lt;/style&gt;   &lt;/div&gt;&lt;div class="p1"&gt;&lt;span class="s1"&gt;private&lt;/span&gt; String getGoogleLoginUrl() {&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="s1"&gt;if&lt;/span&gt; (&lt;span class="s2"&gt;cp&lt;/span&gt;.getAccessToken() == &lt;span class="s1"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; &lt;span class="s2"&gt;cp&lt;/span&gt;.getAccessToken().getThirdPartyLoginData() == &lt;span class="s1"&gt;null&lt;/span&gt;) {&lt;/div&gt;&lt;div class="p2"&gt;&lt;span class="s3"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/span&gt;return&lt;span class="s3"&gt; &lt;/span&gt;null&lt;span class="s3"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div class="p3"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; String domain = GWT.getHostPageBaseURL();&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; String path = Window.Location.getPath();&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; String qs = Window.Location.getQueryString();&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; String historyToken = History.getToken();&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="s1"&gt;if&lt;/span&gt; (qs == &lt;span class="s1"&gt;null&lt;/span&gt;) {&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; qs = &lt;span class="s4"&gt;""&lt;/span&gt;;&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="s1"&gt;if&lt;/span&gt; (domain.matches(&lt;span class="s4"&gt;".*/"&lt;/span&gt;) == &lt;span class="s1"&gt;true&lt;/span&gt;) {&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; domain = domain.substring(0,domain.length()-1);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div class="p3"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; String url = domain + path + qs + &lt;span class="s4"&gt;"#"&lt;/span&gt; + historyToken;&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; url = URL.encode(url);&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; url = Global_String.encodeUrlDelimiters(url);&lt;/div&gt;&lt;div class="p3"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; String baseUrl = &lt;span class="s2"&gt;cp&lt;/span&gt;.getAccessToken().getThirdPartyLoginData().getGoogleLoginUrl();&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; baseUrl = baseUrl.replaceAll(&lt;span class="s4"&gt;"=%2F.*"&lt;/span&gt;, &lt;span class="s4"&gt;"="&lt;/span&gt; + url);&lt;/div&gt;&lt;div class="p3"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;div class="p1"&gt;&amp;nbsp; &amp;nbsp; &lt;span class="s1"&gt;return&lt;/span&gt; baseUrl;&lt;/div&gt;&lt;div class="p1"&gt;}&lt;/div&gt;&lt;br /&gt;
&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-106045444851198714?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3ONlGEisUE5hGS658LajSY5hMpI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3ONlGEisUE5hGS658LajSY5hMpI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3ONlGEisUE5hGS658LajSY5hMpI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3ONlGEisUE5hGS658LajSY5hMpI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/KNeulUC2Zl4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/106045444851198714/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=106045444851198714" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/106045444851198714?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/106045444851198714?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/KNeulUC2Zl4/encoding-url-delimiters-for-gwt.html" title="Encoding URL delimiters (for GWT)" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2011/01/encoding-url-delimiters-for-gwt.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EGRn4zeyp7ImA9Wx9VEEg.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-7852105035193077224</id><published>2011-01-26T06:20:00.000-08:00</published><updated>2011-01-26T06:20:27.083-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2011-01-26T06:20:27.083-08:00</app:edited><title>javax-usb deployment</title><content type="html">&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Control USB using Java. Observe and Listen to USB Events with Java. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;1. download http://sourceforge.net/projects/javax-usb/files/ ri-linux&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;2. $ export JAVA_HOME=/usr/lib/jvm/java-6-sun  ;echo $JAVA_HOME&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace; white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;3. /usr/lib/jvm/java-6-sun/include/linux$ sudo ln -s ../jni.h&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;4. compile the c interface  $ ./javax-usb-ri-linux/jni/make&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Reference&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://javax-usb.org/ - main site&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: monospace;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;http://javax-usb.cvs.sourceforge.net/javax-usb/javax-usb-ri-linux/ - source&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-7852105035193077224?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/a9IHOwHvgq6L5hlBWjsz-YAf1a4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/a9IHOwHvgq6L5hlBWjsz-YAf1a4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/a9IHOwHvgq6L5hlBWjsz-YAf1a4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/a9IHOwHvgq6L5hlBWjsz-YAf1a4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/pHkjgcL2feY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/7852105035193077224/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=7852105035193077224" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/7852105035193077224?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/7852105035193077224?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/pHkjgcL2feY/javax-usb-deployment.html" title="javax-usb deployment" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2011/01/javax-usb-deployment.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEENQ3k7eip7ImA9Wx5SGU8.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-3055516526039299798</id><published>2010-08-15T19:44:00.000-07:00</published><updated>2010-08-15T19:44:52.702-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-15T19:44:52.702-07:00</app:edited><title>This Advertising Combination Made Me Laugh!!!</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/_YueNl44ixDY/TGimFrNg_GI/AAAAAAAAE2E/cL-Ql8iTRXs/s1600/funny+ads.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_YueNl44ixDY/TGimFrNg_GI/AAAAAAAAE2E/cL-Ql8iTRXs/s320/funny+ads.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-3055516526039299798?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/HHaVbuAfy2__NDTs0iRW5rcX-r4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HHaVbuAfy2__NDTs0iRW5rcX-r4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/HHaVbuAfy2__NDTs0iRW5rcX-r4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/HHaVbuAfy2__NDTs0iRW5rcX-r4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/jJ45J2mcEZo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/3055516526039299798/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=3055516526039299798" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/3055516526039299798?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/3055516526039299798?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/jJ45J2mcEZo/this-advertising-combination-made-me.html" title="This Advertising Combination Made Me Laugh!!!" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_YueNl44ixDY/TGimFrNg_GI/AAAAAAAAE2E/cL-Ql8iTRXs/s72-c/funny+ads.png" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/08/this-advertising-combination-made-me.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ECQHsyeip7ImA9WxFXFU4.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-2504960109951133897</id><published>2010-05-22T07:47:00.000-07:00</published><updated>2010-05-22T07:47:41.592-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-22T07:47:41.592-07:00</app:edited><title>Eclipse Donation</title><content type="html">Eclipse is the best IDE I have ever used. So I donated when they asked :).&lt;br /&gt;
&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.eclipse.org/helios/friends.php"&gt;http://www.eclipse.org/helios/friends.php&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div&gt;&lt;img src="http://www.eclipse.org/donate/images/friendslogo.jpg" /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-2504960109951133897?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/TbmfP5NcsE_2EwD_pSWkm3Earno/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TbmfP5NcsE_2EwD_pSWkm3Earno/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/TbmfP5NcsE_2EwD_pSWkm3Earno/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/TbmfP5NcsE_2EwD_pSWkm3Earno/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/mv1s_FW-wrY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/2504960109951133897/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=2504960109951133897" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2504960109951133897?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2504960109951133897?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/mv1s_FW-wrY/eclipse-donation.html" title="Eclipse Donation" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/05/eclipse-donation.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DU8CSX48cCp7ImA9WxFXEEo.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-6864509733823533535</id><published>2010-05-16T23:29:00.000-07:00</published><updated>2010-05-16T23:31:08.078-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-16T23:31:08.078-07:00</app:edited><title>Daughter crawled behind the server</title><content type="html">&lt;a href="http://4.bp.blogspot.com/_YueNl44ixDY/S_DiSSGsW0I/AAAAAAAAEzQ/07pTUoadMg4/s1600/Photo+on+2010-05-16+at+21.46+%234.jpg"&gt;&lt;img alt="" border="0" src="http://4.bp.blogspot.com/_YueNl44ixDY/S_DiSSGsW0I/AAAAAAAAEzQ/07pTUoadMg4/s320/Photo+on+2010-05-16+at+21.46+%234.jpg" style="clear: both; float: left; margin: 0px 10px 10px 0;" /&gt;&lt;/a&gt;While I was sitting at my desk, my daughter crawled under the server and stood up behind it. She thought she was pretty cool because it got my attention. I didn't have my camera, so I used photobooth on my mac book pro.&lt;br /&gt;
&lt;div style="clear: both; text-align: LEFT;"&gt;&lt;a href="http://picasa.google.com/blogger/" target="ext"&gt;&lt;img align="middle" alt="Posted by Picasa" border="0" src="http://photos1.blogger.com/pbp.gif" style="-moz-background-clip: initial; -moz-background-inline-policy: initial; -moz-background-origin: initial; background: transparent none repeat scroll 0% 50%; border: 0px none; padding: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-6864509733823533535?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/00xfttwJzlWE6VjyIapkuRyIbjo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/00xfttwJzlWE6VjyIapkuRyIbjo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/00xfttwJzlWE6VjyIapkuRyIbjo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/00xfttwJzlWE6VjyIapkuRyIbjo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/lLmiTL-DA-8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/6864509733823533535/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=6864509733823533535" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6864509733823533535?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6864509733823533535?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/lLmiTL-DA-8/daughter-crawled-behind-servermy.html" title="Daughter crawled behind the server" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_YueNl44ixDY/S_DiSSGsW0I/AAAAAAAAEzQ/07pTUoadMg4/s72-c/Photo+on+2010-05-16+at+21.46+%234.jpg" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/05/daughter-crawled-behind-servermy.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A08HRns-eSp7ImA9WxFQE0o.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-8244220949197339304</id><published>2010-05-08T21:37:00.001-07:00</published><updated>2010-05-08T21:37:17.551-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-08T21:37:17.551-07:00</app:edited><title>Pushing Forward</title><content type="html">Saturday, my GoneVertical.com development day. I set out to write more code and move the project forward at every possible chance I get. I keep finding it takes a huge amount of initiative and will power when I sit down during these sessions to write code. Today, my right arm, pointer and index finger&amp;nbsp;muscles&amp;nbsp;are burning from dragging on the mouse track pad all week. I am also suffering some kind of back injury from working out side a month ago and this is creating some tingling in the same arm and leg. Even though I suffer from aches, pains and tiredness, I strive to code on and try my best to move forward. Yet, second guessing and questioning occurs twice as much when the labor seems 10 times as hard and pushing though this is a challenge but not impossible. Small incremental task achievements are&amp;nbsp;critical&amp;nbsp;for me during theses stages to push through.&lt;br /&gt;
&lt;br /&gt;
Today I did make progress despite all my pain in the arm and back. I'm making progress with GoneVertical integration into my core-engine. Someday I hope to look back and say, it was good to keep pushing on despite everything.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-8244220949197339304?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/KT6eJQ5o2daC0IZT9siqvFFII6k/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KT6eJQ5o2daC0IZT9siqvFFII6k/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/KT6eJQ5o2daC0IZT9siqvFFII6k/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/KT6eJQ5o2daC0IZT9siqvFFII6k/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/O-ZRon_gyO8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/8244220949197339304/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=8244220949197339304" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/8244220949197339304?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/8244220949197339304?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/O-ZRon_gyO8/pushing-forward.html" title="Pushing Forward" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/05/pushing-forward.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUUMSH0ycSp7ImA9WxFQEU8.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-841301400244674440</id><published>2010-05-05T23:20:00.000-07:00</published><updated>2010-05-05T23:28:09.399-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-05T23:28:09.399-07:00</app:edited><title>GWT + GAE + Gadget Timestamp Converter Application</title><content type="html">I built a Google Web Toolkit application which can be quickly compiled for the Google App Engine and IGoogle. I made a source project then included it into a GAE and Gadget project so I didn't have to change compiling techniques depending on which I wanted to build it for. This actually ended up to be very easy to deploy the application this way.&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://www.google.com/ig/directory?url=demogwtdatetimegadget.appspot.com/demogwtdatetime_gadget/org.gonevertical.demo.client.DemoGwtDateTime_Gadget.gadget.xml"&gt;http://www.google.com/ig/directory?url=demogwtdatetimegadget.appspot.com/demogwtdatetime_gadget/org.gonevertical.demo.client.DemoGwtDateTime_Gadget.gadget.xml &lt;/a&gt;&amp;nbsp;- IGoogle Gadget&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://demogwtdatetimegae.appspot.com/"&gt;http://demogwtdatetimegae.appspot.com&lt;/a&gt; - GAE Example&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://gwt-examples.googlecode.com/"&gt;http://gwt-examples.googlecode.com&lt;/a&gt; &amp;nbsp;- Find the source in the DateTime Converter&lt;br /&gt;
&lt;br /&gt;
&lt;a href="http://code.google.com/p/gwt-examples/wiki/project_Gadget"&gt;http://code.google.com/p/gwt-examples/wiki/project_Gadget&lt;/a&gt; &amp;nbsp;- gadget examples&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-841301400244674440?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Qt_mPJoeq3fJon2rg1YRnKdnsgU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Qt_mPJoeq3fJon2rg1YRnKdnsgU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Qt_mPJoeq3fJon2rg1YRnKdnsgU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Qt_mPJoeq3fJon2rg1YRnKdnsgU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/osvrUBEnB-M" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/841301400244674440/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=841301400244674440" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/841301400244674440?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/841301400244674440?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/osvrUBEnB-M/gwt-gae-gadget-timestamp-converter.html" title="GWT + GAE + Gadget Timestamp Converter Application" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/05/gwt-gae-gadget-timestamp-converter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0AEQn46fSp7ImA9WxFQEEo.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-514770862652932121</id><published>2010-05-05T09:08:00.000-07:00</published><updated>2010-05-05T09:08:23.015-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-05T09:08:23.015-07:00</app:edited><title>Made a new GWT Demo - DateTime converter</title><content type="html">Last night I made a new GWT date timestamp converter.&lt;br /&gt;
&lt;br /&gt;
demo: &amp;nbsp;&lt;a href="http://demogwtdatetimegae.appspot.com/"&gt;http://demogwtdatetimegae.appspot.com/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
This will convert an epoch javascript or unix time stamp.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-514770862652932121?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-26ZFlowOKRmK5ct9oehyupEbIE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-26ZFlowOKRmK5ct9oehyupEbIE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-26ZFlowOKRmK5ct9oehyupEbIE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-26ZFlowOKRmK5ct9oehyupEbIE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/Glx-59UJnIc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/514770862652932121/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=514770862652932121" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/514770862652932121?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/514770862652932121?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/Glx-59UJnIc/made-new-gwt-demo-datetime-converter.html" title="Made a new GWT Demo - DateTime converter" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/05/made-new-gwt-demo-datetime-converter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUcFR3g6eyp7ImA9WxFRGUk.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-6740998109211304662</id><published>2010-05-03T21:06:00.000-07:00</published><updated>2010-05-03T21:23:36.613-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-03T21:23:36.613-07:00</app:edited><title>Intel X-25e SSD For MySQL Database</title><content type="html">&lt;a href="http://3.bp.blogspot.com/_YueNl44ixDY/S9-dPGuJL0I/AAAAAAAAEx8/AbUSKcjGnKM/s1600/0502091017.jpg"&gt;&lt;img alt="" border="0" src="http://3.bp.blogspot.com/_YueNl44ixDY/S9-dPGuJL0I/AAAAAAAAEx8/AbUSKcjGnKM/s320/0502091017.jpg" style="clear: both; float: left; margin: 0px 10px 10px 0;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_YueNl44ixDY/S9-dPYFY0tI/AAAAAAAAEyE/3mYRKNmVu5c/s1600/0503091727.jpg"&gt;&lt;img alt="" border="0" src="http://3.bp.blogspot.com/_YueNl44ixDY/S9-dPYFY0tI/AAAAAAAAEyE/3mYRKNmVu5c/s320/0503091727.jpg" style="clear: both; float: left; margin: 0px 10px 10px 0;" /&gt;&lt;/a&gt;I setup two servers a master and a slave with 3 Intel &amp;nbsp;X-25e SSD 64GB hard drives each in a Raid 0 configuration on Dell Poweredge Servers. I use them at Verizon for one of the sales metrics applications.&lt;br /&gt;
&lt;br /&gt;
I use a Ubuntu, Apache Tomcat with MySQL and the Google Web Toolkit to serve up the app. With Java's concurrency I can multi-thread queries concurrently data stored on these drives very quickly. I can easily hit 3000+ concurrent SQL seeks load balanced which is around 6000+ seeks a second to both servers at the same time. The web server and 2 database servers are AMD 64bit 8 core, can't remember all the stats.&lt;br /&gt;
&lt;a href="http://4.bp.blogspot.com/_YueNl44ixDY/S9-dPmJIFbI/AAAAAAAAEyM/EIIJixIj7bY/s1600/0502091016.jpg"&gt;&lt;img alt="" border="0" src="http://4.bp.blogspot.com/_YueNl44ixDY/S9-dPmJIFbI/AAAAAAAAEyM/EIIJixIj7bY/s320/0502091016.jpg" style="clear: both; float: left; margin: 0px 10px 10px 0;" /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://3.bp.blogspot.com/_YueNl44ixDY/S9-dQG3RUzI/AAAAAAAAEyU/yCFqfOkIElw/s1600/0502091016a.jpg"&gt;&lt;img alt="" border="0" src="http://3.bp.blogspot.com/_YueNl44ixDY/S9-dQG3RUzI/AAAAAAAAEyU/yCFqfOkIElw/s320/0502091016a.jpg" style="clear: both; float: left; margin: 0px 10px 10px 0;" /&gt;&lt;/a&gt;I think the only thing that I can bog down the server are range queries like SELECT UserId FROM employee WHERE UserId IN (SELECT UserId FROM employee_data WHERE value='b'). &amp;nbsp;Changing the sql to a join query fixes this. Seeking an entire record set is no problem and even better is seeking a multi-milion indexed record set. Talk about a kick in the pants.&lt;br /&gt;
&lt;br /&gt;
Another worthy note is how fast it takes to dump a database on these. A 10GB &amp;nbsp;takes around a minute, and maybe less than 30 minutes to load. Where as, on 15k rpms raid 5, I noticed it takes around an hour or more.&lt;br /&gt;
&lt;br /&gt;
Moving files around on these bad boys is ridiculously fast.&lt;br /&gt;
&lt;br /&gt;
These hard drives overall are impressive and I am not sure I have hit there limit yet to what they can do. There lot of fun to work with.&lt;iframe align="left" frameborder="0" marginheight="0" marginwidth="0" scrolling="no" src="http://rcm.amazon.com/e/cm?t=foreclo07-20&amp;amp;o=1&amp;amp;p=8&amp;amp;l=bpl&amp;amp;asins=B001OV54IW&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="align: left; height: 245px; padding-right: 10px; padding-top: 5px; width: 131px;"&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;div style="clear: both; text-align: LEFT;"&gt;&lt;a href="http://picasa.google.com/blogger/" target="ext"&gt;&lt;img align="middle" alt="Posted by Picasa" border="0" src="http://photos1.blogger.com/pbp.gif" style="-moz-background-clip: initial; -moz-background-inline-policy: initial; -moz-background-origin: initial; background: transparent none repeat scroll 0% 50%; border: 0px none; padding: 0px;" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-6740998109211304662?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/mG_0d_511RuKnWjMJZgHnzb0lic/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mG_0d_511RuKnWjMJZgHnzb0lic/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/mG_0d_511RuKnWjMJZgHnzb0lic/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/mG_0d_511RuKnWjMJZgHnzb0lic/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/4c_WtRNJ97o" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/6740998109211304662/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=6740998109211304662" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6740998109211304662?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6740998109211304662?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/4c_WtRNJ97o/intel-x-25e-ssd-for-mysql-database.html" title="Intel X-25e SSD For MySQL Database" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_YueNl44ixDY/S9-dPGuJL0I/AAAAAAAAEx8/AbUSKcjGnKM/s72-c/0502091017.jpg" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/05/intel-x-25e-ssd-for-mysql-database.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIGR3c7eSp7ImA9WxFRGEo.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-2284440023008792566</id><published>2010-05-03T00:08:00.000-07:00</published><updated>2010-05-03T00:08:46.901-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-05-03T00:08:46.901-07:00</app:edited><title>DBCP Pool Broken Pipe</title><content type="html">What may look like a broken pipe may actually be a SQL Statement failure. I have found in the cases where SQL statements are incorrect will cause a Broken Pipe to throw. It can cause anything trying to connect using the connection ont that pool to throw an exception too. &lt;br /&gt;
&lt;br /&gt;
Add Log4J and watch your SQL Statements. First check file descriptors before you get carried away with this, although this is pretty easy to do. Add logging to your exceptions so you can easily identify your errors. &lt;br /&gt;
&lt;br /&gt;
What to check:&lt;br /&gt;
1. check OS Max file descriptors, this is usually the case&lt;br /&gt;
2. if you raised the file descriptors, you may have a bad SQL statement causing the error. Seeing the stack trace isn't always clear to determine which sql statement threw the event.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-2284440023008792566?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/l1ciQF4PxkE5vyo0SwSrPhLwh60/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l1ciQF4PxkE5vyo0SwSrPhLwh60/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/l1ciQF4PxkE5vyo0SwSrPhLwh60/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/l1ciQF4PxkE5vyo0SwSrPhLwh60/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/_uUXQ6tWXH0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/2284440023008792566/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=2284440023008792566" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2284440023008792566?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2284440023008792566?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/_uUXQ6tWXH0/dbcp-pool-broken-pipe.html" title="DBCP Pool Broken Pipe" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/05/dbcp-pool-broken-pipe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkUFQHo4fSp7ImA9WxFREkk.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-8103223257374304940</id><published>2010-04-25T18:05:00.000-07:00</published><updated>2010-04-25T18:10:11.435-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-25T18:10:11.435-07:00</app:edited><title>Delete .svn Recursively - When copying projects</title><content type="html">Did you copy a eclipse project, and need to delete all the .svn directories. When svn cleanup ./directory/path doesn't work.&lt;br /&gt;&lt;br /&gt;Use in Terminal:&lt;br /&gt;sudo rm -rf `find . -type d -name .svn`&lt;br /&gt;&lt;br /&gt;FYI:&lt;br /&gt;pwd # see what directory your in&lt;br /&gt;ls -la # see all the files including the hidden&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-8103223257374304940?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/I6aZuEWg692gdn8cMCYlPLzapz4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/I6aZuEWg692gdn8cMCYlPLzapz4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/I6aZuEWg692gdn8cMCYlPLzapz4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/I6aZuEWg692gdn8cMCYlPLzapz4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/2m39bY2peC4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/8103223257374304940/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=8103223257374304940" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/8103223257374304940?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/8103223257374304940?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/2m39bY2peC4/delete-svn-recursively-when-copying.html" title="Delete .svn Recursively - When copying projects" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/04/delete-svn-recursively-when-copying.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04FRHs9cCp7ImA9WxFTFkU.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-3407027183668398747</id><published>2010-04-07T16:09:00.000-07:00</published><updated>2010-04-07T16:11:55.568-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-07T16:11:55.568-07:00</app:edited><title>GWT Horizontal Events Panel</title><content type="html">Have you wanted to add event observation/Listening handlers to a panel? This is and easy way to observe events in a GWT HorizontalPanel. Gwt 1.6, 2.0, 2.01, 2.02, 2.03+...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;// easy extend and observe mouse events on a gwt horizontal panel widget&lt;/div&gt;&lt;div&gt;&lt;div&gt;public class HorizontalEventPanel extends HorizontalPanel implements HasMouseOverHandlers, HasMouseOutHandlers {&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;public HorizontalEventPanel() {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;sinkEvents(Event.MOUSEEVENTS);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;  public HandlerRegistration addMouseOverHandler(MouseOverHandler handler) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;  return addDomHandler(handler, MouseOverEvent.getType());&lt;/div&gt;&lt;div&gt;  }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;  public HandlerRegistration addMouseOutHandler(MouseOutHandler handler) {&lt;/div&gt;&lt;div&gt;  &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;return addDomHandler(handler, MouseOutEvent.getType());&lt;/div&gt;&lt;div&gt;  }&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-3407027183668398747?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RRayPM_k7OOai-PY1BETt4PzslU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RRayPM_k7OOai-PY1BETt4PzslU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RRayPM_k7OOai-PY1BETt4PzslU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RRayPM_k7OOai-PY1BETt4PzslU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/i9oFxM51_zY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/3407027183668398747/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=3407027183668398747" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/3407027183668398747?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/3407027183668398747?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/i9oFxM51_zY/gwt-horizontal-events-panel.html" title="GWT Horizontal Events Panel" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/04/gwt-horizontal-events-panel.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0MGRX86cSp7ImA9WxFTFU0.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-8160453494643291101</id><published>2010-04-05T16:12:00.001-07:00</published><updated>2010-04-05T16:17:04.119-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-04-05T16:17:04.119-07:00</app:edited><title>MySql Connection Really Slow?</title><content type="html">If your MySql connection is really slow? Do you think its JDBC or Bandwidth sucking the speed? Are you going crazy checking wireshark for packet problems? Did you see Malformed Packet? Has the server been on for months? Did you get an update? &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before you check all that, make sure your Reverse DNS is setup, so MySql can authenticate you fast. On linux, add your workstation to the list in /etc/hosts 192.168.1.70 workstationHostName.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;***** Check Reverse DNS ***** before you get into the deep debugging.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-8160453494643291101?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8JpE7sQTTvXlaoqPOaGjr1pAFAM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8JpE7sQTTvXlaoqPOaGjr1pAFAM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8JpE7sQTTvXlaoqPOaGjr1pAFAM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8JpE7sQTTvXlaoqPOaGjr1pAFAM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/w4cQO8B6PhI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/8160453494643291101/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=8160453494643291101" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/8160453494643291101?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/8160453494643291101?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/w4cQO8B6PhI/mysql-connection-really-slow.html" title="MySql Connection Really Slow?" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/04/mysql-connection-really-slow.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMERXs9fip7ImA9WxBVFkk.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-335432804999278293</id><published>2010-02-19T20:45:00.000-08:00</published><updated>2010-02-19T21:06:44.566-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-19T21:06:44.566-08:00</app:edited><title>Make DBCP Connection Pool Using Tomcat Resource Context</title><content type="html">Setup JDBC DBCP (data base connection pooling) for use with any Java class. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Reference:&lt;/div&gt;&lt;div&gt;http://code.google.com/p/parsecsv2sql/source/browse/trunk/Csv2Sql/src/org/gonevertical/dts/lib/pooling/SetupInitialContext.java&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How I set it up:&lt;/div&gt;&lt;div&gt;&lt;div&gt;public DatabaseConnection(boolean pool) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;File executionlocation = null;&lt;/div&gt;&lt;div&gt;    try {&lt;/div&gt;&lt;div&gt;      executionlocation = new File(DatabaseConnection.class.getProtectionDomain().getCodeSource().getLocation().toURI());&lt;/div&gt;&lt;div&gt;    } catch (URISyntaxException e) {&lt;/div&gt;&lt;div&gt;      e.printStackTrace();&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;    String execPath = executionlocation.getParent();&lt;/div&gt;&lt;div&gt;    &lt;/div&gt;&lt;div&gt;    execPath = StringUtil.getValue("(.*?)/war", execPath);&lt;/div&gt;&lt;div&gt;    &lt;/div&gt;&lt;div&gt;    String path = execPath + "/war/META-INF/context.xml";  &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;String contextXmlPath = path;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;String tmpPath = "/home/branflake2267/tmp";&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;// make my own context&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;SetupInitialContext ic = new SetupInitialContext(tmpPath);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ic.setContextXmlFileLocation(contextXmlPath);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ic.run();&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;context = ic.getInitialContext();&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-335432804999278293?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hPSmZ9k4esb4Y9UbZelpIlLd36M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hPSmZ9k4esb4Y9UbZelpIlLd36M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hPSmZ9k4esb4Y9UbZelpIlLd36M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hPSmZ9k4esb4Y9UbZelpIlLd36M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/BuN7uDc1-2U" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/335432804999278293/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=335432804999278293" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/335432804999278293?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/335432804999278293?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/BuN7uDc1-2U/make-dbcp-connection-pool-using-tomcat.html" title="Make DBCP Connection Pool Using Tomcat Resource Context" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/02/make-dbcp-connection-pool-using-tomcat.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEHRHk-eyp7ImA9WxBVFUg.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-944301163199169422</id><published>2010-02-18T21:47:00.000-08:00</published><updated>2010-02-18T21:50:35.753-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-18T21:50:35.753-08:00</app:edited><title>Rough Java DBCP Connection Pool Context Example Setup</title><content type="html">&lt;div&gt;Setting up initial context for DBCP connection pool.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;public static void test() {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;System.setProperty(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;System.setProperty(Context.PROVIDER_URL, "file:///Users/branflake2267/tmp");&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;InitialContext ic = null;&lt;/div&gt;&lt;div&gt;    try {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    ic = new InitialContext();&lt;/div&gt;&lt;div&gt;    } catch (NamingException e) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    e.printStackTrace();&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;// Construct BasicDataSource reference&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Reference ref = new Reference("javax.sql.DataSource", "org.apache.commons.dbcp.BasicDataSourceFactory", null);&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("driverClassName", "com.mysql.jdbc.Driver"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("type", "javax.sql.DataSource"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("url", "jdbc:mysql://ark/system?autoReconnect=true"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("username", "Web"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("password", "pass*7"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("removeAbandoned", "true"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("removeAbandonedTimeout", "90"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("logAbandoned", "true"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("maxActive", "1000"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("maxIdle", "30"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;ref.add(new StringRefAddr("maxWait", "900"));&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;try {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    ic.rebind("jdbc/basic", ref);&lt;/div&gt;&lt;div&gt;    } catch (NamingException e) {&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    e.printStackTrace();&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;InitialContext ic2 = null;&lt;/div&gt;&lt;div&gt;    try {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    ic2 = new InitialContext();&lt;/div&gt;&lt;div&gt;    } catch (NamingException e) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    e.printStackTrace();&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;    &lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;DataSource ds = null;&lt;/div&gt;&lt;div&gt;    try {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    ds = (DataSource) ic2.lookup("jdbc/basic");&lt;/div&gt;&lt;div&gt;    } catch (NamingException e) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    e.printStackTrace();&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Connection conn = null;&lt;/div&gt;&lt;div&gt;    try {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    conn = ds.getConnection();&lt;/div&gt;&lt;div&gt;    } catch (SQLException e) {&lt;/div&gt;&lt;div&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;e.printStackTrace();&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;try {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    conn.close();&lt;/div&gt;&lt;div&gt;    } catch (SQLException e) {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    e.printStackTrace();&lt;/div&gt;&lt;div&gt;    }&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-944301163199169422?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/g2t1hn0d1HmMOpjeu4WsgBCB3yE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g2t1hn0d1HmMOpjeu4WsgBCB3yE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/g2t1hn0d1HmMOpjeu4WsgBCB3yE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/g2t1hn0d1HmMOpjeu4WsgBCB3yE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/DHBhVuOLnKw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/944301163199169422/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=944301163199169422" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/944301163199169422?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/944301163199169422?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/DHBhVuOLnKw/rough-java-dbcp-connection-pool-context.html" title="Rough Java DBCP Connection Pool Context Example Setup" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/02/rough-java-dbcp-connection-pool-context.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkUHQXw6eyp7ImA9WxBVFUg.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-6305985636007382711</id><published>2010-02-18T21:10:00.000-08:00</published><updated>2010-02-18T21:43:50.213-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-18T21:43:50.213-08:00</app:edited><title>MySql Communication Failure and Aborted Connections</title><content type="html">Have you got an error like this using MySql?&lt;div&gt;1. Communications link failure&lt;/div&gt;&lt;div&gt;2. Aborted connection&lt;/div&gt;&lt;div&gt;3. Last packet sent to the server was 0 ms ago.&lt;/div&gt;&lt;div&gt;4. Too many connections&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Things you can do to figure out whats going on with mysql connections.&lt;/div&gt;&lt;div&gt;1. See how many connections are currently connected with this query: SHOW PROCESSLIST;&lt;/div&gt;&lt;div&gt;2. Check /etc/mysql/my.cnf max connection limit: max_connections = 100 #100 by default&lt;/div&gt;&lt;div&gt;3. Are you running out of file descriptors, check by: ulimit -a #by default its a 1000 on Ubuntu&lt;/div&gt;&lt;div&gt;4. Run your mysql queries and check the active sockets: netstat -na | grep 3306&lt;/div&gt;&lt;div&gt;5. set the file descriptor limits in /etc/security/limits.conf&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When rapidly connecting and reconnecting to mysql database you may find that you run out of max connections to start with. The next thing you run out of is file descriptors because each time you connect and cleanly close the tcp socket it will wait to close the connection so that stray packets to not wonder in after you closed it. You can see if this is happening by checking ulimit -a and then watching how many are in time_wait with netstat -na while running your queries. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When you run out of file descriptors (sockets) to open up, mysql will crash and abort all the connections which could be caused on the sending and/or receiving server. MySql can handle thousands of connections at one time, although it may not be the most efficient process due to the authorization and setup cost, it gets the job done. I would recommend using connection pooling which saves time with reuse and keeping them ready to go when needed. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you want to solve the communications failure with out pooling, raise the file descriptors limit to over 24000 or whatever number you determine suite your needs. Remember you will need alot more file descriptors than actual connections because of time_waits after a socket closes. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-6305985636007382711?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/9MRD0kL1UCqUrexUbJ9wADy2BqA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9MRD0kL1UCqUrexUbJ9wADy2BqA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/9MRD0kL1UCqUrexUbJ9wADy2BqA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/9MRD0kL1UCqUrexUbJ9wADy2BqA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/jLCTm0BTpdw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/6305985636007382711/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=6305985636007382711" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6305985636007382711?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6305985636007382711?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/jLCTm0BTpdw/mysql-communication-failure-and-aborted.html" title="MySql Communication Failure and Aborted Connections" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/02/mysql-communication-failure-and-aborted.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQGSH84eip7ImA9WxBVEks.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-1844062146179351309</id><published>2010-02-15T09:05:00.001-08:00</published><updated>2010-02-15T10:58:49.132-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-15T10:58:49.132-08:00</app:edited><title>MySql Open Tables and Max Linux Open Files</title><content type="html">Ubuntu linux default max open files (limit) is 1000 and if your hitting mysql with huge amount of queries at one time, you may hit the open files limit. I also run into this problem with development with eclipse and having to open so many java classes.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Reference to whats happening&lt;/div&gt;&lt;div&gt;http://dev.mysql.com/doc/refman/5.0/en/table-cache.html&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Check to see what the limits are:&lt;/div&gt;&lt;div&gt;ulimit -a&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Change the open files limit:&lt;/div&gt;&lt;div&gt;sudo pico /etc/security/limits.conf&lt;/div&gt;&lt;div&gt;#add - the file open integers are huge due to my deployment, choose your own&lt;/div&gt;&lt;div&gt;&lt;div&gt;mysql  soft    nofile           24000&lt;/div&gt;&lt;div&gt;mysql  hard   nofile           32000&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;sudo reboot&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-1844062146179351309?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/dvkbHlTXVW5CcEFA_L7D2DVJ8uU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dvkbHlTXVW5CcEFA_L7D2DVJ8uU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/dvkbHlTXVW5CcEFA_L7D2DVJ8uU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/dvkbHlTXVW5CcEFA_L7D2DVJ8uU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/8AHXttwvk1Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/1844062146179351309/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=1844062146179351309" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/1844062146179351309?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/1844062146179351309?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/8AHXttwvk1Y/mysql-open-tables-and-max-linux-open.html" title="MySql Open Tables and Max Linux Open Files" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/02/mysql-open-tables-and-max-linux-open.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEEEQng_cCp7ImA9WxBWFEo.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-2406846651429170956</id><published>2010-02-06T08:04:00.000-08:00</published><updated>2010-02-06T08:10:03.648-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-02-06T08:10:03.648-08:00</app:edited><title>Two Gateways on Ubuntu, Split access.</title><content type="html">I set my Ubuntu server with to private gateways, which had access too two public ip addresses.  I wanted to receive requests to the web tomcat and apache servers from both networks. This is how I configured my split access on my server to have traffic come in through both private subnets and sent out through the ip that it came in on.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;#!/bin/sh&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# split access&lt;/div&gt;&lt;div&gt;# http://lartc.org/howto/lartc.rpdb.multiple-links.html#AEN268&lt;/div&gt;&lt;div&gt;# http://tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.rpdb.multiple-links.html&lt;/div&gt;&lt;div&gt;# GoneVertical.org&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# 1. One creates two additional routing tables, say T1 and T2. These are added in /etc/iproute2/rt_tables. Then you set up routing in these tables as follows:&lt;/div&gt;&lt;div&gt;# echo 1 T1 &gt;&gt; /etc/iproute2/rt_tables&lt;/div&gt;&lt;div&gt;# echo 2 T2 &gt;&gt; /etc/iproute2/rt_tables&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# interface&lt;/div&gt;&lt;div&gt;IF0=lo&lt;/div&gt;&lt;div&gt;IF1=eth0&lt;/div&gt;&lt;div&gt;IF2=eth1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# ips&lt;/div&gt;&lt;div&gt;IP1=192.168.12.100&lt;/div&gt;&lt;div&gt;IP2=192.168.10.100&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# gateways&lt;/div&gt;&lt;div&gt;P1=192.168.12.1&lt;/div&gt;&lt;div&gt;P2=192.168.10.1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# ip network&lt;/div&gt;&lt;div&gt;P0_NET=0.0.0.0&lt;/div&gt;&lt;div&gt;P1_NET=192.168.12.0&lt;/div&gt;&lt;div&gt;P2_NET=192.168.10.0&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;#echo $IF0 $IF1 $IF2&lt;/div&gt;&lt;div&gt;#echo $IP1 $IP2&lt;/div&gt;&lt;div&gt;#echo $P0_NET $P1_NET $P2_NET&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# create routing tables&lt;/div&gt;&lt;div&gt;ip route add $P1_NET dev $IF1 src $IP1 table T1&lt;/div&gt;&lt;div&gt;ip route add default via $P1 table T1&lt;/div&gt;&lt;div&gt;ip route add $P2_NET dev $IF2 src $IP2 table T2&lt;/div&gt;&lt;div&gt;ip route add default via $P2 table T2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# create routing for local requests&lt;/div&gt;&lt;div&gt;# not sure if i need this&lt;/div&gt;&lt;div&gt;#ip route add $P0_NET     dev $IF0 table T1&lt;/div&gt;&lt;div&gt;#ip route add $P2_NET     dev $IF2 table T1&lt;/div&gt;&lt;div&gt;#ip route add 127.0.0.0/8 dev lo   table T1&lt;/div&gt;&lt;div&gt;#ip route add $P0_NET     dev $IF0 table T2&lt;/div&gt;&lt;div&gt;#ip route add $P1_NET     dev $IF1 table T2&lt;/div&gt;&lt;div&gt;#ip route add 127.0.0.0/8 dev lo   table T2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# main routing table&lt;/div&gt;&lt;div&gt;ip route add $P1_NET dev $IF1 src $IP1&lt;/div&gt;&lt;div&gt;ip route add $P2_NET dev $IF2 src $IP2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# default route preference&lt;/div&gt;&lt;div&gt;ip route add default via $P1&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# routing rules&lt;/div&gt;&lt;div&gt;ip rule add from $IP1 table T1&lt;/div&gt;&lt;div&gt;ip rule add from $IP2 table T2&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-2406846651429170956?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NiblgypdVnYBSXNrZ7c7KCpPtXg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NiblgypdVnYBSXNrZ7c7KCpPtXg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NiblgypdVnYBSXNrZ7c7KCpPtXg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NiblgypdVnYBSXNrZ7c7KCpPtXg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/wl5AphEbh6Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/2406846651429170956/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=2406846651429170956" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2406846651429170956?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2406846651429170956?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/wl5AphEbh6Q/two-gateways-on-ubuntu-split-access.html" title="Two Gateways on Ubuntu, Split access." /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>1</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/02/two-gateways-on-ubuntu-split-access.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4EQ3g_cCp7ImA9WxBQFUQ.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-4554694340262570478</id><published>2010-01-15T14:31:00.000-08:00</published><updated>2010-01-15T14:35:02.648-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-01-15T14:35:02.648-08:00</app:edited><title>Add more JVM memory in tomcat on ubuntu 9.10</title><content type="html">&lt;div&gt;I tried to change CATALINA_OPTS AND JAVA_OPTS with no success in increasing memory for my tomcat6 on ubuntu 9.10. I tried in /etc/enviroment, I tried export CATALINA_OPTS AND JAVA_OPTS="-xMX1024M" with no success. But I found you can edit the init.d/tomcat6 and works great.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- permgen size is the application size, or how much memory you need for the application &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- xmx max memory size that will be needed for operation of the application&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;#change the attributes in: /etc/init.d/tomcat6&lt;/div&gt;&lt;div&gt;&lt;div&gt;if [ -z "$JAVA_OPTS" ]; then&lt;/div&gt;&lt;div&gt;        JAVA_OPTS="-Djava.awt.headless=true -Xmx1024m -XX:MaxPermSize=256m"&lt;/div&gt;&lt;div&gt;fi&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-4554694340262570478?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/8rxYvIWSiA02UIJAiXKSFMVEkCc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8rxYvIWSiA02UIJAiXKSFMVEkCc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/8rxYvIWSiA02UIJAiXKSFMVEkCc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/8rxYvIWSiA02UIJAiXKSFMVEkCc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/ALfAawScQBE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/4554694340262570478/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=4554694340262570478" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/4554694340262570478?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/4554694340262570478?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/ALfAawScQBE/add-more-jvm-memory-in-tomcat-on-ubuntu.html" title="Add more JVM memory in tomcat on ubuntu 9.10" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>4</thr:total><feedburner:origLink>http://codintips.blogspot.com/2010/01/add-more-jvm-memory-in-tomcat-on-ubuntu.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DkMDSHo-fip7ImA9WxNaE0o.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-6472263404658933907</id><published>2009-11-27T18:09:00.000-08:00</published><updated>2009-11-27T18:14:39.456-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-11-27T18:14:39.456-08:00</app:edited><title>Share Libraries with All Servlet Application in Tomcat6</title><content type="html">When including jar libraries with Tomcat. Don't double include and do it in the right directory.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Every time I want to share a library with all Tomcat6 applications on Ubuntu 8.10+ stick the library in : /usr/share/tomcat6/lib &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For instance I am using this library: /usr/share/tomcat6/lib/RXTXcomm.jar -&gt; /usr/share/java/RXTXcomm.jar&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For  some reason, when I stick the library in /var/lib/tomcat6/lib has no include value. And if you stick the libraries in both it can create a problem, especially with RXTXcomm. So whats the deal, do both directories include, and what order, and does that matter?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have been frustrated with the fact there are two locations to stick libraries for tomcat. I'll have to find why later. Not enough time to discover why now.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-6472263404658933907?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/qgBIrpJHA49RIBL7YxRf4CB-zPE/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qgBIrpJHA49RIBL7YxRf4CB-zPE/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/qgBIrpJHA49RIBL7YxRf4CB-zPE/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/qgBIrpJHA49RIBL7YxRf4CB-zPE/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/fD43rx-g4EQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/6472263404658933907/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=6472263404658933907" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6472263404658933907?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6472263404658933907?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/fD43rx-g4EQ/share-libraries-with-all-servlet.html" title="Share Libraries with All Servlet Application in Tomcat6" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2009/11/share-libraries-with-all-servlet.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QAR3w7fSp7ImA9WxJVEkg.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-7292885545515433722</id><published>2009-06-28T21:54:00.001-07:00</published><updated>2009-06-28T21:55:46.205-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-28T21:55:46.205-07:00</app:edited><title>Teach your Kids to Code</title><content type="html">Now this is really cool and it works great on Ubuntu 9.04.&lt;br /&gt;&lt;br /&gt;Scratch - &lt;a href="http://scratch.mit.edu/"&gt;http://scratch.mit.edu/&lt;/a&gt; Teach your kids to program.&lt;br /&gt;&lt;br /&gt;Check it out, my kids really like doing stuff in this program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-7292885545515433722?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/fpj7cRQ6sOn4kThOdhlLH1ZoDqo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fpj7cRQ6sOn4kThOdhlLH1ZoDqo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/fpj7cRQ6sOn4kThOdhlLH1ZoDqo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/fpj7cRQ6sOn4kThOdhlLH1ZoDqo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/-rHVlmRdqhs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/7292885545515433722/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=7292885545515433722" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/7292885545515433722?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/7292885545515433722?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/-rHVlmRdqhs/teach-your-kids-to-code.html" title="Teach your Kids to Code" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2009/06/teach-your-kids-to-code.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4FRHk6cCp7ImA9WxJVEU4.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-1064418037763627468</id><published>2009-06-27T13:33:00.000-07:00</published><updated>2009-06-27T13:35:15.718-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-27T13:35:15.718-07:00</app:edited><title>Run Java via Shell Using GWT Classes</title><content type="html">When I want to cron a process in the background using my gwt application classes I do something like this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;BASE="/home/design/workspace/GV/war/WEB-INF";&lt;br /&gt;&lt;br /&gt;# classes&lt;br /&gt;MYCP="$BASE/classes:"&lt;br /&gt;&lt;br /&gt;# jars&lt;br /&gt;MYCP="$MYCP$BASE/lib:"&lt;br /&gt;MYCP="$MYCP$BASE/lib/commons-codec-1.3.jar:"&lt;br /&gt;MYCP="$MYCP$BASE/lib/commons-lang-2.4.jar:"&lt;br /&gt;MYCP="$MYCP$BASE/lib/gwt-servlet.jar:"&lt;br /&gt;MYCP="$MYCP$BASE/lib/log4j-1.2.15.jar:"&lt;br /&gt;MYCP="$MYCP$BASE/lib/mail.jar:"&lt;br /&gt;MYCP="$MYCP$BASE/lib/mysql-connector-java-5.1.5-bin.jar"&lt;br /&gt;&lt;br /&gt;# debug output&lt;br /&gt;echo "debug classes: "&lt;br /&gt;echo $MYCP&lt;br /&gt;echo ""&lt;br /&gt;&lt;br /&gt;# run the java&lt;br /&gt;#java -cp $MYCP com.gonevertical.test.Run_Test_DB_Conn;&lt;br /&gt;java -cp $MYCP com.gonevertical.test.Run_Test_Email;&lt;br /&gt;exit;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-1064418037763627468?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/6-8SQNNxh72x0dBMimBDdQSgN-U/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6-8SQNNxh72x0dBMimBDdQSgN-U/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/6-8SQNNxh72x0dBMimBDdQSgN-U/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/6-8SQNNxh72x0dBMimBDdQSgN-U/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/QK2IluVVxzE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/1064418037763627468/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=1064418037763627468" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/1064418037763627468?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/1064418037763627468?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/QK2IluVVxzE/run-java-via-shell-using-gwt-classes.html" title="Run Java via Shell Using GWT Classes" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2009/06/run-java-via-shell-using-gwt-classes.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YCQXg5fyp7ImA9WxJVEkg.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-2882347949661206366</id><published>2009-06-27T12:23:00.000-07:00</published><updated>2009-06-28T21:52:40.627-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-28T21:52:40.627-07:00</app:edited><title>Change Ubuntu TimeZone</title><content type="html">I had a problem with Eclipse timezone looking for /usr/lib/jvm/ia32-java-6-sun-1.6.0.13/jre/lib/zi/Canada/Pacific. I selected Vancouver instead of Las Angeles.&lt;br /&gt;&lt;br /&gt;I changed the time zone for my system by doing this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# change ubuntu timezone&lt;br /&gt;dpkg-reconfigure tzdata&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-2882347949661206366?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kBLrIfS8bV3za8v_JJz7kwjNJvk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kBLrIfS8bV3za8v_JJz7kwjNJvk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kBLrIfS8bV3za8v_JJz7kwjNJvk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kBLrIfS8bV3za8v_JJz7kwjNJvk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/h3cpEYC9aD0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/2882347949661206366/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=2882347949661206366" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2882347949661206366?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/2882347949661206366?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/h3cpEYC9aD0/change-ubunhtu-timezone.html" title="Change Ubuntu TimeZone" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2009/06/change-ubunhtu-timezone.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEMGQXY6fip7ImA9WxJWGU0.&quot;"><id>tag:blogger.com,1999:blog-4620635454488775305.post-6444441771400225288</id><published>2009-06-24T20:54:00.000-07:00</published><updated>2009-06-24T21:00:20.816-07:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-06-24T21:00:20.816-07:00</app:edited><title>MySql 6.11 Compile on Ubuntu 9.04</title><content type="html">&lt;span style="font-weight: bold;"&gt;MySql install notes on Ubuntu 9.04&lt;/span&gt;&lt;br /&gt;If you use this, you may have to read in between the lines here and there. I wasn't able to get the icc already compiled version to work b/c of a syntax error with my_print_defaults. But I compiled it from source and its working perfect. The sub-query system is so much faster, its unbelievable. I recommend using the mysql6-falcon alpha linux source install.&lt;br /&gt;&lt;br /&gt;Compile Mysql6-falcon for ubuntu 9.04.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# http://www.howtoforge.com/mysql5_debian_sarge&lt;br /&gt;# http://mapopa.blogspot.com/2009/03/compiling-mysql6.html&lt;br /&gt;&lt;br /&gt;# get mysql source&lt;br /&gt;&lt;br /&gt;# copy source - compile from this - do this incase you mess up&lt;br /&gt;cp -R mysql-6.0.10-alpha mysql6&lt;br /&gt;&lt;br /&gt;cd ./mysql6&lt;br /&gt;&lt;br /&gt;sudo apt-get install build-essential&lt;br /&gt;sudo apt-get install lib64ncurses5 libncurses5 libncurses5-dbg libncurses-dev&lt;br /&gt;sudo apt-get install autoconf libtool&lt;br /&gt;&lt;br /&gt;# auto configure&lt;br /&gt;autoreconf -vif&lt;br /&gt;&lt;br /&gt;# configure options&lt;br /&gt;#./configure --help&lt;br /&gt;&lt;br /&gt;#it was weird it stuck some stuff in the data directory that probably shouldn't be there but is fixable afterwords. I moved it to basedir/share/mysql&lt;br /&gt;./configure --prefix=/srv/mysql6 --datadir=/mnt/ssd/mysql&lt;br /&gt;#./configure --prefix=/srv/mysql6_11 #upgrading to .11&lt;br /&gt;&lt;br /&gt;make&lt;br /&gt;&lt;br /&gt;sudo make install&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# copied my.cnf to /etc/mysql/my.cnf and linked /etc/my.cnf&lt;br /&gt;# set [mysqld] datadir=/srv/mysql6 basedir=/srv/ssd/mysql&lt;br /&gt;&lt;br /&gt;# add user and group&lt;br /&gt;# set perimissions where needed&lt;br /&gt;&lt;br /&gt;# setup the default system&lt;br /&gt;./bin/mysql_install_db --user=mysql --basedir=/srv/mysql6 --builddir=/home/branflake2267/downloads/mysql6b --datadir=/mnt/ssd/mysql&lt;br /&gt;#./bin/mysql_install_db --user=mysql --basedir=/srv/mysql6_11 --builddir=/home/branflake2267/downloads/mysql-6.0.11-alpha&lt;br /&gt;&lt;br /&gt;# add hash next to skip-federated - notate it&lt;br /&gt;&lt;br /&gt;#add ./share/mysql/mysql.server to /etc/init.d/mysql.server&lt;br /&gt;&lt;br /&gt;# change basedir and datadir in mysql.server&lt;br /&gt;&lt;br /&gt;# link ./bin/mysql to /usr/bin/mysql&lt;br /&gt;&lt;br /&gt;# start server&lt;br /&gt;sudo /etc/init.d/mysql.server start&lt;br /&gt;&lt;br /&gt;# mysql - no password exists for root localhost user yet&lt;br /&gt;./bin/mysql -uroot -p&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# add user&lt;br /&gt;CREATE USER 'Branflake2267'@'localhost' IDENTIFIED BY 'password*7';&lt;br /&gt;GRANT ALL PRIVILEGES ON *.* TO 'Branflake2267'@'localhost' WITH GRANT OPTION;&lt;br /&gt;flush privileges;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#mysqls help./b&lt;br /&gt;shell&gt; groupadd mysql&lt;br /&gt;shell&gt; useradd -g mysql mysql&lt;br /&gt;shell&gt; gunzip &lt;&gt; cd mysql-VERSION&lt;br /&gt;shell&gt; ./configure --prefix=/usr/local/mysql&lt;br /&gt;shell&gt; make&lt;br /&gt;shell&gt; make install&lt;br /&gt;shell&gt; cp support-files/my-medium.cnf /etc/my.cnf&lt;br /&gt;shell&gt; cd /usr/local/mysql&lt;br /&gt;shell&gt; chown -R mysql .&lt;br /&gt;shell&gt; chgrp -R mysql .&lt;br /&gt;shell&gt; bin/mysql_install_db --user=mysql&lt;br /&gt;shell&gt; chown -R root .&lt;br /&gt;shell&gt; chown -R mysql var&lt;br /&gt;shell&gt; bin/mysqld_safe --user=mysql &amp;amp;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;My data project wiki notes - &lt;a href="http://code.google.com/p/parsecsv2sql/w/edit/mysql6_falcon_install"&gt;http://code.google.com/p/parsecsv2sql/w/edit/mysql6_falcon_install&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4620635454488775305-6444441771400225288?l=codintips.blogspot.com' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/zpwy7dqKK8CrqcIZq2TCuDhwYgI/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zpwy7dqKK8CrqcIZq2TCuDhwYgI/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/zpwy7dqKK8CrqcIZq2TCuDhwYgI/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/zpwy7dqKK8CrqcIZq2TCuDhwYgI/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/blogspot/rLdNw/~4/WbNgVleBqD8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://codintips.blogspot.com/feeds/6444441771400225288/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=4620635454488775305&amp;postID=6444441771400225288" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6444441771400225288?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/4620635454488775305/posts/default/6444441771400225288?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/blogspot/rLdNw/~3/WbNgVleBqD8/mysql-611-compile-on-ubuntu-904.html" title="MySql 6.11 Compile on Ubuntu 9.04" /><author><name>Brandon Donnelson</name><uri>https://profiles.google.com/111739836936169749229</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh5.googleusercontent.com/-3SkZTA48LeY/AAAAAAAAAAI/AAAAAAAAKNM/hkV2Ma-sa98/s512-c/photo.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://codintips.blogspot.com/2009/06/mysql-611-compile-on-ubuntu-904.html</feedburner:origLink></entry></feed>

