<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>

<channel>
	<title>Substance of Code</title>
	<atom:link href="http://www.substanceofcode.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.substanceofcode.com</link>
	<description>Software Developer Tommi Laukkanen</description>
	<pubDate>Fri, 18 Jul 2008 21:57:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6</generator>
	<language>en</language>
			<item>
		<title>Thanks Atlassian</title>
		<link>http://www.substanceofcode.com/2008/07/19/thanks-atlassian/</link>
		<comments>http://www.substanceofcode.com/2008/07/19/thanks-atlassian/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 21:22:29 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[Java]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://www.substanceofcode.com/?p=241</guid>
		<description><![CDATA[It was a nice suprise to find Atlassian&#8217;s Codegeist T-shirt from my mailbox the other day. This year I was only able to code a small plugin for JIRA called NetBeans JIRA Plugin. I got the idea for this plugin as I was reading a book, Rich Client Programming, which has a great value when [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Thanks Atlassian", url: "http://www.substanceofcode.com/2008/07/19/thanks-atlassian/" });</script>]]></description>
			<content:encoded><![CDATA[<p>It was a nice suprise to find Atlassian&#8217;s <a href="http://www.atlassian.com/codegeist/">Codegeist</a> T-shirt from my mailbox the other day. This year I was only able to code a small plugin for JIRA called <a href="http://confluence.atlassian.com/display/JIRAEXT/NetBeans+JIRA+Plugin"><em>NetBeans JIRA Plugin</em></a>. I got the idea for this plugin as I was reading a book, <a href="http://www.netbeans.org/books/rcp.html">Rich Client Programming</a>, which has a great value when you are programming rich desktop apps or plugins for NetBeans platform.</p>
<div id="attachment_244" class="wp-caption alignnone" style="width: 460px"><img class="size-full wp-image-244" title="atlassian-codegeist-t-shirt" src="http://www.substanceofcode.com/wp-content/uploads/2008/07/atlassian-codegeist.jpg" alt="" width="450" height="338" /><p class="wp-caption-text">Atlassian Codegeist T-Shirt</p></div>
<p>The plugin uses JIRA&#8217;s Web Service API to search, view and edit issues straight from the IDE. This is especially handy when you are writing a code to a specific issue and want to check some details or log work done for the issue.</p>
<p>The Atlassian Codegeist is a competition where everyone can write plugins for Atlassian products, such as <a href="http://www.atlassian.com/software/jira/">JIRA</a>, <a href="http://www.atlassian.com/software/bamboo/">Bamboo</a>, <a href="http://www.atlassian.com/software/confluence/">Confluence</a>, <a href="http://www.atlassian.com/software/fisheye/">FishEye</a>, <a href="http://www.atlassian.com/software/crucible/">Crucible</a> etc. I use those tools daily at work and I can truly say that they really improve the daily development process signifigantly.</p>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=Thanks+Atlassian&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2008%2F07%2F19%2Fthanks-atlassian%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2008/07/19/thanks-atlassian/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sending files to mobile phone using Bluetooth and OBEX</title>
		<link>http://www.substanceofcode.com/2008/06/20/sending-files-to-mobile-phone-using-bluetooth-and-obex/</link>
		<comments>http://www.substanceofcode.com/2008/06/20/sending-files-to-mobile-phone-using-bluetooth-and-obex/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 11:43:46 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Tips and Tricks]]></category>

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

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

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

		<guid isPermaLink="false">http://www.substanceofcode.com/?p=234</guid>
		<description><![CDATA[My previous posting &#8220;Using Bluetooth stack in desktop application&#8221; was quite a success if measured by the number of comments. It seems that there aren&#8217;t many tutorials or articles about the Desktop usage of Bluetooth.
Here is a next chapter in the same category: using Bluetooth to send files from a computer to a mobile phone.

Read [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Sending files to mobile phone using Bluetooth and OBEX", url: "http://www.substanceofcode.com/2008/06/20/sending-files-to-mobile-phone-using-bluetooth-and-obex/" });</script>]]></description>
			<content:encoded><![CDATA[<p>My previous posting &#8220;<a href="http://www.substanceofcode.com/2007/07/09/using-bluetooth-stack-in-desktop-application/">Using Bluetooth stack in desktop application</a>&#8221; was quite a success if measured by the number of comments. It seems that there aren&#8217;t many tutorials or articles about the Desktop usage of Bluetooth.</p>
<p>Here is a next chapter in the same category: using Bluetooth to send files from a computer to a mobile phone.</p>
<p><a href="http://www.substanceofcode.com/wp-content/uploads/2008/06/bluetooth-file-sender.jpg"><img class="alignnone size-full wp-image-235" title="bluetooth-file-sender" src="http://www.substanceofcode.com/wp-content/uploads/2008/06/bluetooth-file-sender.jpg" alt="Bluetooth file sender application" width="449" height="306" /></a></p>
<p>Read on if you are interested&#8230;</p>
<p><span id="more-234"></span></p>
<p>I wrote this small application so that I could send files (images) to my phone using the Bluetooth.</p>
<p><strong>Creating a new application</strong></p>
<p>I used NetBeans IDE to create this application. First I created a new Java application project. I created a following files for the app:</p>
<ul>
<li>ApplicationContext.java <em>- Contains list of devices near-by</em></li>
<li>ApplicationFrame.java - <em>Actual UI, extends JFrame</em></li>
<li>BluetoothBrowser.java <em>- Helper class to browse near-by devices</em></li>
<li>ListItem.java <em>- DAO class used by ApplicationFrame</em></li>
<li>Main.java <em>- Application entry point</em></li>
<li>SendFileTask.java - <em>The OBEX magic for sending a file</em></li>
</ul>
<p>I designed the UI with NetBeans IDE&#8217;s Matisse editor, which allows developer to design desktop user interfaces very easily.</p>
<p><a href="http://www.substanceofcode.com/wp-content/uploads/2008/06/netbeans_obex_bluetooth_sender.jpg"><img class="alignnone size-full wp-image-237" title="Designing OBEX file sender UI" src="http://www.substanceofcode.com/wp-content/uploads/2008/06/netbeans_obex_bluetooth_sender.jpg" alt="Designing OBEX file sender UI" width="450" height="324" /></a></p>
<p>Next I added code for searching devices when user presses the <em>Refresh</em> button. This was already discussed in the <a href="http://www.substanceofcode.com/2007/07/09/using-bluetooth-stack-in-desktop-application/">previous article</a>. Also simple coding was done for browsing the file when <em>Browse</em> button gets clicked.</p>
<p>Next step was to add the actual <em>business logic</em> for sending the file to a selected Bluetooth device when <em>Upload file to device</em> button is clicked.</p>
<p><strong>Code for upload button action performed</strong></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">// Get selected item from list</span></div>
</li>
<li class="li1">
<div class="de1">ListItem selectedItem =</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#40;</span>ListItem<span class="br0">&#41;</span> deviceList.<span class="me1">getSelectedValue</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">RemoteDevice device = selectedItem.<span class="me1">getDevice</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Build URL for the bluetooth device, note the port 9</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> url =</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="st0">&quot;btgoep://&quot;</span> + device.<span class="me1">getBluetoothAddress</span><span class="br0">&#40;</span><span class="br0">&#41;</span> + <span class="st0">&quot;:9&quot;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="co1">// Get file as bytes</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AFileInputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">FileInputStream</span></a> stream =</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AFileInputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">FileInputStream</span></a><span class="br0">&#40;</span>fileTextField.<span class="me1">getText</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AFile+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">File</span></a> f = <span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AFile+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">File</span></a><span class="br0">&#40;</span>fileTextField.<span class="me1">getText</span><span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> size = <span class="br0">&#40;</span><span class="kw4">int</span><span class="br0">&#41;</span> f.<span class="me1">length</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2"><span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> file = <span class="kw2">new</span> <span class="kw4">byte</span><span class="br0">&#91;</span>size<span class="br0">&#93;</span>;</div>
</li>
<li class="li1">
<div class="de1">stream.<span class="me1">read</span><span class="br0">&#40;</span>file<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Filename</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> filename = f.<span class="me1">getName</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Trigger the task in a different thread</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// so it won&#8217;t block the UI</span></div>
</li>
<li class="li1">
<div class="de1">SendFileTask task =</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">new</span> SendFileTask<span class="br0">&#40;</span>url, file, filename<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AThread+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Thread</span></a> thread = <span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AThread+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Thread</span></a><span class="br0">&#40;</span>task<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">task.<span class="me1">run</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>Next step was to write the code for sending a file using the OBEX protocol.</p>
<p><strong>Code for send file task<br />
</strong></p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="coMULTI">/*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp;* To change this template, choose Tools | Templates</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp;* and open the template in the editor.</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp;*/</span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">package</span> bluetoothfileexchange;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import java.io.OutputStream;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import javax.microedition.io.Connection;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import javax.microedition.io.Connector;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="co2">import javax.obex.ClientSession;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import javax.obex.HeaderSet;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="co2">import javax.obex.Operation;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">/**</span></div>
</li>
<li class="li2">
<div class="de2"><span class="coMULTI">&nbsp;*</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp;* @author Tommi Laukkanen (tlaukkanen at gmail dot com)</span></div>
</li>
<li class="li1">
<div class="de1"><span class="coMULTI">&nbsp;*/</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw2">class</span> SendFileTask <span class="kw2">implements</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ARunnable+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Runnable</span></a> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="kw2">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> btConnectionURL;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">private</span> <span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> file;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">private</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> filename;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">public</span> SendFileTask<span class="br0">&#40;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> url, <span class="kw4">byte</span><span class="br0">&#91;</span><span class="br0">&#93;</span> file, <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> filename<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">this</span>.<span class="me1">btConnectionURL</span> = url;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">this</span>.<span class="me1">file</span> = file;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">this</span>.<span class="me1">filename</span> = filename;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">public</span> <span class="kw4">void</span> run<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span> </div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">try</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AConnection+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Connection</span></a> connection =</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Connector.<span class="me1">open</span><span class="br0">&#40;</span> btConnectionURL <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// connection obtained</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// now, let&#8217;s create a session</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// and a headerset objects</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ClientSession cs =</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#40;</span>ClientSession<span class="br0">&#41;</span> connection;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HeaderSet hs = cs.<span class="me1">createHeaderSet</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// now let&#8217;s send the connect header</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cs.<span class="me1">connect</span><span class="br0">&#40;</span>hs<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hs.<span class="me1">setHeader</span><span class="br0">&#40;</span>HeaderSet.<span class="me1">NAME</span>, filename<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// content-type could be</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// checked from a filename</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hs.<span class="me1">setHeader</span><span class="br0">&#40;</span>HeaderSet.<span class="me1">TYPE</span>, <span class="st0">&quot;image/jpeg&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; hs.<span class="me1">setHeader</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HeaderSet.<span class="me1">LENGTH</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ALong+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Long</span></a><span class="br0">&#40;</span>file.<span class="me1">length</span><span class="br0">&#41;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AOperation+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Operation</span></a> putOperation = cs.<span class="me1">put</span><span class="br0">&#40;</span>hs<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AOutputStream+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">OutputStream</span></a> outputStream =</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; putOperation.<span class="me1">openOutputStream</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; outputStream.<span class="me1">write</span><span class="br0">&#40;</span>file<span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="co1">// file push complete</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; outputStream.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; putOperation.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cs.<span class="me1">disconnect</span><span class="br0">&#40;</span><span class="kw2">null</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; connection.<span class="me1">close</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw2">catch</span> <span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AException+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Exception</span></a> e<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; e.<span class="me1">printStackTrace</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="br0">&#125;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>That was it. Now when the application is run, user can send a selected file to a selected Bluetooth device. I get a normal &#8220;Message received&#8221; notification on my mobile phone, Nokia N80, when I send a new image file to the phone.</p>
<p>You can download the whole project along with source codes from <a href="http://www.substanceofcode.com/wp-content/uploads/2008/06/bluetoothfileexchange.zip">here</a>.</p>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=Sending+files+to+mobile+phone+using+Bluetooth+and+OBEX&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2008%2F06%2F20%2Fsending-files-to-mobile-phone-using-bluetooth-and-obex%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2008/06/20/sending-files-to-mobile-phone-using-bluetooth-and-obex/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mobile Trail Explorer v1.10</title>
		<link>http://www.substanceofcode.com/2008/05/06/mobile-trail-explorer-v110/</link>
		<comments>http://www.substanceofcode.com/2008/05/06/mobile-trail-explorer-v110/#comments</comments>
		<pubDate>Tue, 06 May 2008 19:42:37 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[Java]]></category>

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

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

		<guid isPermaLink="false">http://www.substanceofcode.com/?p=232</guid>
		<description><![CDATA[Lots of coding have been done for the next version of Mobile Trail Explorer. I&#8217;m happy to announce the release of version 1.10. This release contains many fixes such as loading/saving of trails. Previous version wasn&#8217;t necessarily able to load saved trails because of corrupted data.

Another nice feature is the ability to import both trails [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Mobile Trail Explorer v1.10", url: "http://www.substanceofcode.com/2008/05/06/mobile-trail-explorer-v110/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Lots of coding have been done for the next version of Mobile Trail Explorer. I&#8217;m happy to announce the release of version 1.10. This release contains many fixes such as loading/saving of trails. Previous version wasn&#8217;t necessarily able to load saved trails because of corrupted data.</p>
<p><a href="http://www.substanceofcode.com/wp-content/uploads/2008/05/mobile-trail-explorer-v110.jpg"><img class="alignnone size-full wp-image-233" title="mobile-trail-explorer-v110" src="http://www.substanceofcode.com/wp-content/uploads/2008/05/mobile-trail-explorer-v110.jpg" alt="Mobile Trail Explorer v1.10" width="450" height="272" /></a></p>
<p>Another nice feature is the ability to import both trails and waypoints from KML files so now you can create trail in Google Earth and import it to Mobile Trail Explorer where you can display it as a ghost trail that you can follow.</p>
<p>There is also a new feature for allowing you to post your location to web and create a web service that records your trails. <a href="http://code.google.com/p/mobile-trail-explorer/wiki/UserGuide">User guide</a> contains a bit more information about this. Location can be posted in the specified URL with query parameters like this:</p>
<p>&#8230;/record.php?lon=@LON@&amp;lat=@LAT@&amp;alt=@ALT@</p>
<p>It is very recommended to uninstall the previous version and it&#8217;s data before installing this release.</p>
<p>Here are release notes for the v1.10:</p>
<ul>
<li>Support varying screen sizes like rotating screen on N95</li>
<li>Improved startup time</li>
<li>Support for uploading position to web server</li>
<li>Scrolling (up/down) on the information screen</li>
<li>Fixed the saving/loading of trails using RMS</li>
<li>Import trails from KML files</li>
<li>Import waypoints from KML files</li>
<li>Fixed waypoint editing when handling quickly added or imported waypoints</li>
<p><font style="position: absolute;overflow: hidden;height: 0;width: 0"><a href="http://www.videnov.com/">??????</a></font>
</ul>
<p>Lots of great feature ideas have been shared in the <a href="http://groups.google.com/group/mobile-trail-explorer">Google Group discussions</a> so join the conversations if you have some feature needs in your mind.</p>
<p>You can download the binaries (JAR and JAD) from Mobile Trail Explorer <a href="http://www.substanceofcode.com/software/mobile-trail-explorer/">page</a><font style="position: absolute;overflow: hidden;height: 0;width: 0"><a href="http://kvantservice.com/">????????</a></font> and source code can be downloaded from Google Code project <a href="http://code.google.com/p/mobile-trail-explorer/downloads/list">page</a>.</p>
<p>Go ahead and start recording your trails!</p>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=Mobile+Trail+Explorer+v1.10&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2008%2F05%2F06%2Fmobile-trail-explorer-v110%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2008/05/06/mobile-trail-explorer-v110/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Analog clock service for web apps</title>
		<link>http://www.substanceofcode.com/2008/04/13/analog-clock-service-for-web-apps/</link>
		<comments>http://www.substanceofcode.com/2008/04/13/analog-clock-service-for-web-apps/#comments</comments>
		<pubDate>Sat, 12 Apr 2008 21:13:10 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[Java]]></category>

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

		<category><![CDATA[Tips and Tricks]]></category>

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

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

		<guid isPermaLink="false">http://www.substanceofcode.com/?p=227</guid>
		<description><![CDATA[I&#8217;m nowadays working in an international company which has offices in multiple countries. I was looking for a way to get our Confluence, Enterprise Wiki, to display current time in all of our offices in one page. I didn&#8217;t find any simple solutions as lots of services just provided me a chunk of HTML that [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Analog clock service for web apps", url: "http://www.substanceofcode.com/2008/04/13/analog-clock-service-for-web-apps/" });</script>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m nowadays working in an international company which has offices in multiple countries. I was looking for a way to get our Confluence, Enterprise Wiki, to display current time in all of our offices in one page. I didn&#8217;t find any simple solutions as lots of services just provided me a chunk of HTML that I could add to my page to create a dynamic clock but wiki syntax doesn&#8217;t really let me do that.</p>
<p>I&#8217;m a great fan of <a href="http://code.google.com/apis/chart/">Google Charts API</a>. Developers at Google have developed a really nice URL based API for the charting purposes. This was inspiration for me when I created Clock Service API for my own needs.</p>
<p>Clock Service is a simple servlet implementation that generates an image with the specified parameters. API can be used to define image size (s=100), timezone (tz=<a href="http://twiki.org/cgi-bin/xtra/tzdatepick.html">zone</a>), title (t=Helsinki) and 12h/24h format (f=24). With this I can use the following URLs to produce three different clock images for three different timezones.</p>
<pre>/clockservice/clock?tz=America/New_York&amp;s=150&amp;t=Atlanta&amp;f=12
/clockservice/clock?tz=Europe/Helsinki&amp;s=150&amp;t=Helsinki&amp;f=12
/clockservice/clock?tz=Australia/Sydney&amp;s=150&amp;t=Sydney&amp;f=12</pre>
<p>If you use those URLs in IMG tags then the result would look like this:</p>
<p><a href="http://www.substanceofcode.com/wp-content/uploads/2008/04/clock_atlanta.jpg"><img class="alignnone size-full wp-image-228" title="clock_atlanta" src="http://www.substanceofcode.com/wp-content/uploads/2008/04/clock_atlanta.jpg" alt="Clock (Atlanta)" width="150" height="150" /></a><a href="http://www.substanceofcode.com/wp-content/uploads/2008/04/clock_helsinki.jpg"><img class="alignnone size-full wp-image-229" title="clock_helsinki" src="http://www.substanceofcode.com/wp-content/uploads/2008/04/clock_helsinki.jpg" alt="Clock (Helsinki)" width="150" height="150" /></a><a href="http://www.substanceofcode.com/wp-content/uploads/2008/04/clock_sydney.jpg"><img class="alignnone size-full wp-image-230" title="clock_sydney" src="http://www.substanceofcode.com/wp-content/uploads/2008/04/clock_sydney.jpg" alt="Clock (Sydney)" width="150" height="150" /></a></p>
<p>The images above aren&#8217;t created dynamically as I don&#8217;t have any public servlet container available. </p>
<p>The code behind the service is really quite simple. There are only two classes <em>ClockServlet</em> and <em>Clock</em>. Servlet implementation is only used for parsing the parameters from the request and writing the bytes from <em>Clock.getImageData(..)</em> to the web response.</p>
<p>Timezones are handled using the Java&#8217;s <em>Calendar</em> and <em>TimeZone</em> classes like this:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ATimeZone+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">TimeZone</span></a> tz = <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ATimeZone+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">TimeZone</span></a>.<span class="me1">getTimeZone</span><span class="br0">&#40;</span><span class="st0">&quot;Europe/Helsinki&quot;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ACalendar+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Calendar</span></a> cal = <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ACalendar+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Calendar</span></a>.<span class="me1">getInstance</span><span class="br0">&#40;</span>tz<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> hour = cal.<span class="me1">get</span><span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ACalendar+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Calendar</span></a>.<span class="me1">HOUR</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw4">int</span> minute = cal.<span class="me1">get</span><span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ACalendar+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Calendar</span></a>.<span class="me1">MINUTE</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>You can find the source code and compiled WAR package from the application page, <a href="http://www.substanceofcode.com/software/analog-clock-service/">here</a>. Application is distributed under the <a href="http://commons.apache.org/license.html">Apache License v2.0</a>.</p>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=Analog+clock+service+for+web+apps&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2008%2F04%2F13%2Fanalog-clock-service-for-web-apps%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2008/04/13/analog-clock-service-for-web-apps/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Test driving NetBeans IDE 6.1 Beta</title>
		<link>http://www.substanceofcode.com/2008/04/08/test-driving-netbeans-ide-61-beta/</link>
		<comments>http://www.substanceofcode.com/2008/04/08/test-driving-netbeans-ide-61-beta/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 20:49:52 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Software Development]]></category>

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

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

		<guid isPermaLink="false">http://www.substanceofcode.com/?p=222</guid>
		<description><![CDATA[I&#8217;ve been using NetBeans IDE for quite a few years now. It has improved very nicely over the years and it have became a top player in the IDE field. If you are a Eclipse or IDEA developer I&#8217;d suggest you to at least try it out as it is not the same as it [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Test driving NetBeans IDE 6.1 Beta", url: "http://www.substanceofcode.com/2008/04/08/test-driving-netbeans-ide-61-beta/" });</script>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://www.netbeans.org">NetBeans IDE</a> for quite a few years now. It has improved very nicely over the years and it have became a top player in the IDE field. If you are a Eclipse or IDEA developer I&#8217;d suggest you to at least try it out as it is not the same as it was year before.</p>
<p><a href="http://www.substanceofcode.com/wp-content/uploads/2008/04/netbeans_61_splash.jpg"><img class="alignnone size-full wp-image-226" title="netbeans_61_splash" src="http://www.substanceofcode.com/wp-content/uploads/2008/04/netbeans_61_splash.jpg" alt="NetBeans IDE 6.1 Splash Screen" width="450" height="285" /></a></p>
<p>I&#8217;m eagerly waiting for the actual release as it is packed with useful features that will truly improve the development flow. Here are some of the features what I&#8217;m waiting for the most:</p>
<ul>
<li><strong>JavaScript support</strong> with semantic highlighting, code completion, type analysis, quick fixes, semantic checks and refactoring</li>
<li><strong>Spring framework support</strong> with features such as configuration file support, code completion and hyperlinks to speed navigation</li>
<li>New <strong>MySQL support</strong> in the Database Explorer to make it easier to create, launch and view MySQL databases</li>
<li>+lots of other features</li>
</ul>
<p>See some of the highlights in action after the jump.</p>
<p><span id="more-222"></span></p>
<p><strong>JavaScript Support</strong></p>
<p>I&#8217;ve been doing lots of web development lately so the JavaScript support is definitely coming handy. I especially like the code completion that feels to work very well. I listened Java Posse podcast few days ago and there Tor Norbye explained that the editor is indeed using semantic code completion so it will do a better job then most of the other JavaScript editors that only rely on the external index files in code completion.</p>
<p>Code completion also displays method documentation if available as seen here:</p>
<p><a href="http://www.substanceofcode.com/wp-content/uploads/2008/03/netbeans_61_javascript.jpg"><img class="alignnone size-full wp-image-223" title="netbeans_61_javascript" src="http://www.substanceofcode.com/wp-content/uploads/2008/03/netbeans_61_javascript.jpg" alt="JavaScript support in NetBeans IDE" width="450" height="333" /></a></p>
<p><strong>MySQL support</strong></p>
<p>It was clear that NetBeans would have a better <a href="http://www.mysql.com/">MySQL</a> support since the Sun Microsystems bought MySQL. It is now nicely integrated into the database management section in Services view:</p>
<p><a href="http://www.substanceofcode.com/wp-content/uploads/2008/04/netbeans_61_mysql.jpg"><img class="alignnone size-full wp-image-224" title="netbeans_61_mysql" src="http://www.substanceofcode.com/wp-content/uploads/2008/04/netbeans_61_mysql.jpg" alt="MySQL support in NetBeans IDE" width="450" height="248" /></a></p>
<p>Plus there are probably hundreds of minor tweaks and fixes that will make the IDE even better. You can read the full <a title="NetBeans IDE 6.1 Beta Information" href="http://www.netbeans.org/community/releases/61/">beta information</a> page to get full details. So to borrow some words from the movie Full Metal Jacket:</p>
<blockquote><p><em>This is my IDE, there are many like it, but this one is mine! :)<br />
</em></p></blockquote>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=Test+driving+NetBeans+IDE+6.1+Beta&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2008%2F04%2F08%2Ftest-driving-netbeans-ide-61-beta%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2008/04/08/test-driving-netbeans-ide-61-beta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Mobile Trail Explorer v1.9</title>
		<link>http://www.substanceofcode.com/2008/04/01/mobile-trail-explorer-v19/</link>
		<comments>http://www.substanceofcode.com/2008/04/01/mobile-trail-explorer-v19/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 20:00:38 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[Java]]></category>

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

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

		<category><![CDATA[java mobile-trail-explorer jsr179 release]]></category>

		<guid isPermaLink="false">http://www.substanceofcode.com/?p=225</guid>
		<description><![CDATA[I&#8217;m proud to announce the release of Mobile Trail Explorer v1.9. Big thanks for all contributors and team members. This version should fix some of the issues with the Sony Ericsson phones and add bunch of great features such as:

Trail is now projected using the mercator projection 
Both trail and map are now zoomed with [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Mobile Trail Explorer v1.9", url: "http://www.substanceofcode.com/2008/04/01/mobile-trail-explorer-v19/" });</script>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m proud to announce the release of Mobile Trail Explorer v1.9. Big thanks for all contributors and team members. This version should fix some of the issues with the Sony Ericsson phones and add bunch of great features such as:</p>
<ul>
<li>Trail is now projected using the mercator projection<a href="http://code.google.com/p/mobile-trail-explorer/issues/detail?id=68"> </a></li>
<li>Both trail and map are now zoomed with same keys (1 and 3)</li>
<li>File browser for importing trails and selecting export path</li>
<li>Logger can now write to the filesystem</li>
<li>Signal strength SNR key to Sky View and updated help screen</li>
<li>Change screen on space key as well as 0 key<a href="http://code.google.com/p/mobile-trail-explorer/issues/detail?id=56"> </a></li>
<li>Export and import waypoints</li>
</ul>
<p>One of the most wanted feature is the support for the internal GPS devices such as Nokia N95 and E90. This is now implemented in this version and it can be activated from the menu:</p>
<p style="padding-left: 30px;"><em>Settings &gt; Development Menu &gt; Use JSR179 (if available)</em></p>
<p>It would be great if N95, E90 and other JSR-179 device owners could test out this feature and report how it is working for them. This is something that will get me buying N95 (or N96) if we get it working correctly.</p>
<p>Go ahead and download the latest binaries from <a href="http://www.substanceofcode.com/software/mobile-trail-explorer/">here</a> or download the whole source from <a href="http://code.google.com/p/mobile-trail-explorer/downloads/list">here</a>. Don&#8217;t forget to send your feedback either to this blog post or to the Google Group of <a href="http://groups.google.com/group/mobile-trail-explorer">Mobile Trail Explorer</a>.</p>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=Mobile+Trail+Explorer+v1.9&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2008%2F04%2F01%2Fmobile-trail-explorer-v19%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2008/04/01/mobile-trail-explorer-v19/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twittering with Twim v1.0</title>
		<link>http://www.substanceofcode.com/2008/03/03/twittering-with-twim-v10/</link>
		<comments>http://www.substanceofcode.com/2008/03/03/twittering-with-twim-v10/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 21:09:52 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[Java]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.substanceofcode.com/2008/03/03/twittering-with-twim-v10/</guid>
		<description><![CDATA[I have made a small improvements to my mobile Twitter client that is called Twim. I contacted Twitter engineers and they helped me so that status updates will now have a correct source in style &#8220;&#8230; from Twim&#8221; as seen on my Twitter page. poker texas holdem,poker texas holdem gratis,texas holdem poker downloadsexy poker gratis7 [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Twittering with Twim v1.0", url: "http://www.substanceofcode.com/2008/03/03/twittering-with-twim-v10/" });</script>]]></description>
			<content:encoded><![CDATA[<p>I have made a small improvements to my mobile <a href="http://www.twitter.com">Twitter</a> client that is called <a href="http://www.substanceofcode.com/software/mobile-twitter-client-twim/">Twim</a>. I contacted Twitter engineers and they helped me so that status updates will now have a correct source in style &#8220;&#8230; from Twim&#8221; as seen on my Twitter <a href="http://twitter.com/tlaukkanen">page</a>. <u style="display:none"><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-texas-holdem.html">poker texas holdem,poker texas holdem gratis,texas holdem poker download</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/sexy-poker-gratis.html">sexy poker gratis</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/7-card-stud-gratis.html">7 card stud gratis</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/american-poker.html">american poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/giochi-da-poker.html">giochi da poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/texas-holdem-on-line.html">texas holdem on line</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/tornei-texas-holdem.html">tornei texas holdem</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-on-line-italiano.html">poker on line italiano</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-play-money.html">poker play money</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-da-scaricare-gratis.html">poker da scaricare gratis</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/strip-poker-flash.html">strip poker flash</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/pai-gow-poker.html">pai gow poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/gioco-poker-freeware.html">gioco poker freeware</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/street-poker-online.html">street poker online</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-tour-game.html">poker tour game</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/gioco-poker-texas.html">gioco poker texas</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/forum-poker-on-line.html">forum poker on line</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-machine-gratis.html">poker machine gratis</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-sexi-gratis.html">poker sexi gratis</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/free-omaha-poker.html">free omaha poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-hold.html">poker hold</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/torneo-poker-on-line.html">torneo poker on line</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/giochi-flash-poker.html">giochi flash poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-on-line-gratuito.html">poker on line gratuito</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/gioco-poker.html">gioco poker,gioco poker scaricare gratis,regole gioco poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-online-gratis.html">gioca poker online gratis,giochi online poker gratis,poker online gratis</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/eurobet-poker.html">eurobet poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-on-line.html">play poker on line,video poker on line,poker on line</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/giochare-omaha-poker-in-linea.html">giochare omaha poker in linea</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/texas-holdem-poker-regole.html">texas holdem poker regole</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/tornei-poker-gratis.html">tornei poker gratis</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/draw-poker-gold.html">draw poker gold</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/gioco-texas-holdem.html">gioco texas holdem</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/online-casino-poker.html">online casino poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/card-stud.html">card stud</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-pc-gratis.html">poker pc gratis</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/street-poker.html">street poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/texas-holdem-milano.html">texas holdem milano</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/il-poker.html">il poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/play-free-omaha-poker-online.html">play free omaha poker online</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-gioco-completo.html">poker gioco completo</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/play-omaha-poker.html">play omaha poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/gioca-poker-on-line.html">gioca poker on line</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-texano-on-line.html">poker texano on line</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-room.html">poker room</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/torneo-poker-online.html">torneo poker online</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/giochi-7-card-stud-gratis.html">giochi 7 card stud gratis</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/scaricare-gioco-poker.html">scaricare gioco poker</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-gratuito.html">poker gratuito</a><a href="http://www.mitchellfamily.co.nz/wp-content/1/poker-superstar-gratis.html">poker superstar gratis</a></u> You can also now check the transferred data amount from the about screen. Here is a photo of Twim running on my Nokia N80. As you can see, it also now displays the status time (e.g. 2 hours ago).</p>
<p><a href="http://www.substanceofcode.com/2008/03/03/twittering-with-twim-v10/running-twim-on-my-nokia-n80/" rel="attachment wp-att-220" title="Running Twim on my Nokia N80"><img src="http://www.substanceofcode.com/wp-content/uploads/2008/03/twitter-twim-on-n80.jpg" alt="Running Twim on my Nokia N80" /></a></p>
<p>So please upgrade your Twim to the latest<noscript>Variationen von <a href="http://www.pokeronline-germany.de/belustigung-poker-strategy.html">http://www.pokeronline-germany.de/belustigung-poker-strategy.html</a>.</noscript> version by downloading it from <a href="http://www.substanceofcode.com/software/mobile-twitter-client-twim/">here</a>. If you are a software developer you might be interested in looking at the source code that is available <a href="http://code.google.com/p/twim/">here</a> with the Apache License 2.0.</p>
<p>Please send me any feature suggestions, bug reports and Twitter feeds that I should be checking out :) Happy Twittering!</p>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=Twittering+with+Twim+v1.0&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2008%2F03%2F03%2Ftwittering-with-twim-v10%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2008/03/03/twittering-with-twim-v10/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Charting with JFreeChart</title>
		<link>http://www.substanceofcode.com/2008/01/27/charting-with-jfreechart/</link>
		<comments>http://www.substanceofcode.com/2008/01/27/charting-with-jfreechart/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 21:53:29 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Tips and Tricks]]></category>

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

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

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

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

		<guid isPermaLink="false">http://www.substanceofcode.com/2008/01/27/charting-with-jfreechart/</guid>
		<description><![CDATA[I&#8217;ve been coding dashboard applications lately with Java SE. I have used JFreeChart library to generate all pie, line and bar charts. The library is awesome and is also Open Source. It would be very nice to see similar projects in the .NET world.
It was very easy to create first charts with JFreeChart mostly because [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Charting with JFreeChart", url: "http://www.substanceofcode.com/2008/01/27/charting-with-jfreechart/" });</script>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been coding dashboard applications lately with Java SE. I have used <a href="http://www.jfree.org/jfreechart/">JFreeChart</a> library to generate all pie, line and bar charts. The library is awesome and is also Open Source. It would be very nice to see similar projects in the .NET world.</p>
<p>It was very easy to create first charts with JFreeChart mostly because it is so commonly used so there are many resources available in the Internet including tutorials and tips&amp;tricks.</p>
<p>Here is a small sample how to create a simple pie chart and use it in your Swing application:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">// First create dataset</span></div>
</li>
<li class="li1">
<div class="de1">DefaultPieDataset dataset = <span class="kw2">new</span> DefaultPieDataset<span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">dataset.<span class="me1">setValue</span><span class="br0">&#40;</span><span class="st0">&quot;Finland&quot;</span>, <span class="nu0">5300367</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">dataset.<span class="me1">setValue</span><span class="br0">&#40;</span><span class="st0">&quot;Sweden&quot;</span>, <span class="nu0">9107649</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">dataset.<span class="me1">setValue</span><span class="br0">&#40;</span><span class="st0">&quot;Norway&quot;</span>, <span class="nu0">4606363</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">dataset.<span class="me1">setValue</span><span class="br0">&#40;</span><span class="st0">&quot;Denmark&quot;</span>, <span class="nu0">5427459</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">dataset.<span class="me1">setValue</span><span class="br0">&#40;</span><span class="st0">&quot;Iceland&quot;</span>, <span class="nu0">309699</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Create chart using the ChartFactory</span></div>
</li>
<li class="li2">
<div class="de2">JFreeChart chart = ChartFactory.<span class="me1">createPieChart</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="st0">&quot;the Nordic countries&quot;</span>, <span class="co1">// Title</span></div>
</li>
<li class="li1">
<div class="de1">dataset, <span class="co1">// Dataset</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">false</span>, <span class="co1">// Don&#8217;t show legend</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">false</span>,</div>
</li>
<li class="li2">
<div class="de2"><span class="kw2">false</span><span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>The following code adjusts chart appearance and section colors. This is not mandatory but shows how easily you can customize the visual parts of the chart.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">// Adjust appearance (optional)</span></div>
</li>
<li class="li1">
<div class="de1">chart.<span class="me1">getTitle</span><span class="br0">&#40;</span><span class="br0">&#41;</span>.<span class="me1">setPaint</span><span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a>.<span class="me1">LIGHT_GRAY</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">chart.<span class="me1">setAntiAlias</span><span class="br0">&#40;</span><span class="kw2">true</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">PiePlot plot = <span class="br0">&#40;</span>PiePlot<span class="br0">&#41;</span>chart.<span class="me1">getPlot</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">plot.<span class="me1">setShadowPaint</span><span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a>.<span class="me1">DARK_GRAY</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">plot.<span class="me1">setBackgroundPaint</span><span class="br0">&#40;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AGradientPaint+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">GradientPaint</span></a><span class="br0">&#40;</span><span class="nu0">0</span>,<span class="nu0">0</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a>.<span class="me1">DARK_GRAY</span>,<span class="nu0">0</span>,<span class="nu0">100</span>,<a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a>.<span class="me1">GRAY</span><span class="br0">&#41;</span> <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">plot.<span class="me1">setLabelBackgroundPaint</span><span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a>.<span class="me1">GRAY</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">plot.<span class="me1">setLabelLinkPaint</span><span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a>.<span class="me1">LIGHT_GRAY</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li2">
<div class="de2">plot.<span class="me1">setLabelOutlinePaint</span><span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a>.<span class="me1">LIGHT_GRAY</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">plot.<span class="me1">setLabelShadowPaint</span><span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a>.<span class="me1">DARK_GRAY</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1">// Adjust section colors (optional)</span></div>
</li>
<li class="li1">
<div class="de1"><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a><span class="br0">&#91;</span><span class="br0">&#93;</span> colors = <span class="br0">&#123;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; <span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a><span class="br0">&#40;</span>0xB0CC99<span class="br0">&#41;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a><span class="br0">&#40;</span>0&#215;677E52<span class="br0">&#41;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a><span class="br0">&#40;</span>0xB7CA79<span class="br0">&#41;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a><span class="br0">&#40;</span>0xF6E8B1<span class="br0">&#41;</span>,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <span class="kw2">new</span> <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a><span class="br0">&#40;</span>0&#215;89725B<span class="br0">&#41;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="br0">&#125;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">for</span><span class="br0">&#40;</span><span class="kw4">int</span> i=<span class="nu0">0</span>; i&lt;dataset.<span class="me1">getItemCount</span><span class="br0">&#40;</span><span class="br0">&#41;</span>; i++<span class="br0">&#41;</span> <span class="br0">&#123;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; <a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AColor+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Color</span></a> sectionColor = colors<span class="br0">&#91;</span>i%colors.<span class="me1">length</span><span class="br0">&#93;</span>;</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; plot.<span class="me1">setSectionPaint</span><span class="br0">&#40;</span>i, sectionColor<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#125;</span></div>
</li>
</ol>
</div>
<p>That is all you have to do to create a chart object. Then if you wish to display this chart for example in your Swing application you&#8217;ll<noscript>Variationen von <a href="http://www.edsab.com">poker</a>.</noscript> need to do the following:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">ChartPanel chartPanel = <span class="kw2">new</span> ChartPanel<span class="br0">&#40;</span> chart <span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">yourPanel.<span class="me1">add</span><span class="br0">&#40;</span> chartPanel <span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>And this is the result:</p>
<p><img src="http://www.substanceofcode.com/wp-content/uploads/2008/01/jfreechart-example.jpg" alt="JFreeChart example of PieChart" /></p>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=Charting+with+JFreeChart&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2008%2F01%2F27%2Fcharting-with-jfreechart%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2008/01/27/charting-with-jfreechart/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fix for Sony Ericsson phones (MTE Beta)</title>
		<link>http://www.substanceofcode.com/2008/01/09/fix-for-sony-ericsson-phones-mte-beta/</link>
		<comments>http://www.substanceofcode.com/2008/01/09/fix-for-sony-ericsson-phones-mte-beta/#comments</comments>
		<pubDate>Tue, 08 Jan 2008 21:10:11 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[MIDlet]]></category>

		<category><![CDATA[sony-ericsson fix bug mobile-trail-explorer]]></category>

		<guid isPermaLink="false">http://www.substanceofcode.com/2008/01/09/fix-for-sony-ericsson-phones-mte-beta/</guid>
		<description><![CDATA[Lots of Mobile Trail Explorer users have complained that application doesn&#8217;t work with Sony Ericcson phones. Latest version (1.8) doesn&#8217;t even seem to start. Phone only displays &#8220;Operation Failed&#8221; error message.

Fortunately there are some active people in the community as one of the users discovered the source for the problem. He wrote the solution to [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "Fix for Sony Ericsson phones (MTE Beta)", url: "http://www.substanceofcode.com/2008/01/09/fix-for-sony-ericsson-phones-mte-beta/" });</script>]]></description>
			<content:encoded><![CDATA[<p>Lots of <a href="http://www.substanceofcode.com/software/mobile-trail-explorer/">Mobile Trail Explorer</a> users have complained that application doesn&#8217;t work with Sony Ericcson phones. Latest version (1.8) doesn&#8217;t even seem to start. Phone only displays &#8220;Operation Failed&#8221; error message.</p>
<p><img src="http://www.substanceofcode.com/wp-content/uploads/2008/01/fixed-sony-ericsson-bug.png" alt="Fixed Sony Ericsson bug" /></p>
<p>Fortunately there are some active people in the community as one of the users discovered the source for the problem. He wrote the <a href="http://code.google.com/p/mobile-trail-explorer/issues/detail?id=69#c2">solution</a> to the Google Code&#8217;s project site describing that the use of Samsung and Siemens specific APIs for the backlight feature was causing the trouble. When references were removed from the code base the application worked without problems.</p>
<blockquote><p><code>import com.samsung.util.LCDLight;<br />
import com.siemens.mp.game.Light;<br />
...</code></p></blockquote>
<p>Shortly after this I made the same changes to the code and I uploaded the fixed version for people to try out and I have already received multiple positive feedbacks from this change. Please try it out yourself and report back if the problems with the v1.8 are gone. Note: Unfortunately OutOfMemory exceptions are still there but hopefully we are also able to fix those in the future releases.</p>
<p>Download the beta v1.9 build <a href="http://www.substanceofcode.com/downloads/midlets/beta/TrailExplorer.jar">here</a>.</p>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=Fix+for+Sony+Ericsson+phones+%28MTE+Beta%29&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2008%2F01%2F09%2Ffix-for-sony-ericsson-phones-mte-beta%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2008/01/09/fix-for-sony-ericsson-phones-mte-beta/feed/</wfw:commentRss>
		</item>
		<item>
		<title>NetBeans Goodies</title>
		<link>http://www.substanceofcode.com/2007/12/21/netbeans-goodies/</link>
		<comments>http://www.substanceofcode.com/2007/12/21/netbeans-goodies/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 22:04:57 +0000</pubDate>
		<dc:creator>Tommi Laukkanen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Tips and Tricks]]></category>

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

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

		<guid isPermaLink="false">http://www.substanceofcode.com/2007/12/21/netbeans-goodies/</guid>
		<description><![CDATA[
I thought it was already Christmas as I just received a package from Sun Microsystems full of NetBeans goodies. I won these from the NetBeans.TV competition. Package included nice T-shirt, Rich Client Programming book, NetBeans pen, 1Gb memory stick and stress ball (or cube actually).
I have used NetBeans IDE 6.0 from the early daily builds [...]<script type="text/javascript">SHARETHIS.addEntry({ title: "NetBeans Goodies", url: "http://www.substanceofcode.com/2007/12/21/netbeans-goodies/" });</script>]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.substanceofcode.com/wp-content/uploads/2007/12/netbeans-goodies_450x338.JPG" alt="NetBeans Goodies" /></p>
<p>I thought it was already Christmas as I just received a package from Sun Microsystems full of NetBeans goodies. I won these from the <a href="http://www.netbeans.tv" title="NetBeans.tv">NetBeans.TV</a> competition. Package included nice T-shirt, Rich Client Programming book, NetBeans pen, 1Gb memory stick and stress ball (or cube actually).</p>
<p>I have used NetBeans IDE 6.0 from the early daily builds and participated into NetCAT 6.0 program which was very nice experience. Now I&#8217;m using the latest release version of the NetBeans IDE and I&#8217;m loving every minute of it! NetBeans team have done excellent job! Best IDE just got better :)</p>
<p>Go ahead and <a href="http://www.netbeans.com">download</a> the latest release if you haven&#8217;t tried it out already.</p>
<p><a href="http://sharethis.com/item?&wp=2.6&amp;publisher=10d00bbd-0af2-4bb9-b06b-87c3d104c3f3&amp;title=NetBeans+Goodies&amp;url=http%3A%2F%2Fwww.substanceofcode.com%2F2007%2F12%2F21%2Fnetbeans-goodies%2F">ShareThis</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.substanceofcode.com/2007/12/21/netbeans-goodies/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
