<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>random.geek() &#187; Java</title>
	<atom:link href="http://www.bencoleman.co.uk/category/development/java/feed" rel="self" type="application/rss+xml" />
	<link>http://www.bencoleman.co.uk</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 11 Jul 2010 09:41:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>SMS Toolkit</title>
		<link>http://www.bencoleman.co.uk/sms-toolkit</link>
		<comments>http://www.bencoleman.co.uk/sms-toolkit#comments</comments>
		<pubDate>Sun, 07 May 2006 17:50:52 +0000</pubDate>
		<dc:creator>Ben Coleman</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://ccgi.bencoleman.plus.com/blog/2006/05/07/jsms-control-center/</guid>
		<description><![CDATA[SMS Toolkit is a Java based GUI for interacting with mobile phones. It&#8217;s main purpose is to send, receive and read SMS messages. It uses the SMSLib API so is compatible with most phones available assuming there is a means to connect them to the PC (Cable, Bluetooth, IrDA), but see this post at the [...]]]></description>
			<content:encoded><![CDATA[<p>SMS Toolkit is a Java based GUI for interacting with mobile phones. It&#8217;s main purpose is to send, receive and read SMS messages. It uses the <a href="http://smslib.org/">SMSLib</a> API so is compatible with most phones available assuming there is a means to connect them to the PC (Cable, Bluetooth, IrDA), but see this <a href="http://smslib.org/forum/index.php?action=vthread&#038;forum=7&#038;topic=58">post</a> at the SMSLib forums for details of tested phones. Summary of Features:</p>
<ul>
<li>View the status and information about your phone/device.</li>
<li>Compose and send SMS messages</li>
<li>Reading, deleting, forwarding and replying to SMS messages</li>
<li>Command console for interacting with the phone directly via AT commands</li>
</ul>
<p><a title="Photo Sharing" href="http://www.flickr.com/photos/bencoleman/146846564/"><img width="240" height="179" alt="splash2" src="http://static.flickr.com/54/146846564_56c6a6d5c0_m.jpg" /></a> <a title="Photo Sharing" href="http://www.flickr.com/photos/bencoleman/146846012/"><img width="240" height="180" alt="screen-0000" src="http://static.flickr.com/51/146846012_c4312ef1d3_m.jpg" /></a><br />
<span id="more-45"></span> <a title="Photo Sharing" href="http://www.flickr.com/photos/bencoleman/146846045/"><img width="240" height="180" alt="screen-0002" src="http://static.flickr.com/56/146846045_fa11d1acc3_m.jpg" /></a> <a title="Photo Sharing" href="http://www.flickr.com/photos/bencoleman/146846030/"><img width="240" height="180" alt="screen-0001" src="http://static.flickr.com/52/146846030_543cdfb863_m.jpg" /></a></p>
<h2>Download</h2>
<p>Current Version 2.1</p>
<ul>
<li>Windows Installer &#8211; <a id="p50" href="http://files.bencoleman.co.uk/index.php?dir=blog/sms/&#038;file=setup-smstoolkit-2.1.exe">Setup SMS Toolkit  2.1</a></li>
<li>Unix &#8211; <a id="p51" href="http://files.bencoleman.co.uk/index.php?dir=blog/sms/&#038;file=SMSToolkit21.tar.gz">SMS Toolkit for Unix</a></li>
<li>Source Code &#8211; <a id="p52" href="http://files.bencoleman.co.uk/index.php?dir=blog/sms/&#038;file=SMS%20Toolkit%20Source.zip">Source Code</a></li>
</ul>
<h2>Pre-requisites</h2>
<p>The SMS Toolkit uses SMS Lib (<a href="http://smslib.org/">http://smslib.org/</a>), for Windows users I provide a compiled version of SMSLib and it’s supporting libraries (Sun Comm API and/or RxTx) This means Windows users have a choice, they can run either the Sun Comm API version (very, very highly recommended) or the RxTx version (not recommended). Unix users also have the choice but I don’t supply the files (See Installation below)</p>
<h2>Installation</h2>
<ul>
<li><strong>	Windows</strong></li>
</ul>
<p>There is a supplied installer which does all the hard work for you. Simply run the installer and follow the prompts. This will install all the pre-requisite required libraries and files, and create shortcuts to<br />
start the app.</p>
<ul>
<li><strong>	Unix (Linux, Solaris, OSX)</strong></li>
</ul>
<p>I don&#8217;t supply any installer, for the supporting libraries (SMSLib, Sun Comm or RxTx) you will also have to supply your own. I don’t have resources to test all the combinations of Unix and the differing libraries. Installation of SMS Lib is easy, and instructions are on the SMS Lib website here &#8211; <a href="http://smslib.org/installation_java.php">http://smslib.org/installation_java.php</a> which also covers the installation of RxTx and the Sun Comm API.</p>
<h2>Device Connection</h2>
<p>First of all you need to connect your device (this is most likely to be a mobile phone, however GSM modem devices such as the MC35 are supported too). The mechanisms and means to doing this are too numerous to document here. In all cases the only thing the SMS Toolkit needs to know is the COM or Serial port the device is attached to. In the case of cable connections this will be a real physical port (e.g. COM1) in the case of Bluetooth or IrDA connections this will be a virtual port created by the Bluetooth or IrDA software.</p>
<h2>Quick Start</h2>
<p>First click the &#8216;Device&#8217; button on the toolbar, this allows you to specify the serial port and the baud rate to connect on. Choose the port of the device (as explained above) and the baud rate can be left at 9600 or increased. I&#8217;ve never seen much difference with baud rate speeds but some devices may only support certain rates.</p>
<p><img src="http://static.flickr.com/49/146846074_fbc2a7977d_o.png" /></p>
<p>After this is done, click the &#8216;Connect&#8217; button on the main toolbar. If everything is OK then SMS Toolkit will connect and you will see your device details on the Device tab. If there was a problem connecting then you will see an error. The most likely causes will be the port you specified was incorrect or another application is using the port.</p>
<h2>SMS Functions</h2>
<p>Most of the functionality is pretty obvious, but I&#8217;ll cover a few potential problems.</p>
<p>If when you click the &#8216;Refresh&#8217; button on the inbox screen and no messages are shown, goto the SMS options and select which location you want to read from; either SIM card of your device or the internal memory of the device. Some devices store only on the SIM, some only in memory, and some use both. Try different options.</p>
<p>The same can happen when sending a message, if you get an error sending a message, try changing storage location in the SMS options dialog.</p>
<h2>Console</h2>
<p>This is intended for advanced users that wish to interact directly with their device via the AT command set.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bencoleman.co.uk/sms-toolkit/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Java Raytracer</title>
		<link>http://www.bencoleman.co.uk/java-raytracer</link>
		<comments>http://www.bencoleman.co.uk/java-raytracer#comments</comments>
		<pubDate>Mon, 27 Mar 2006 21:17:05 +0000</pubDate>
		<dc:creator>Ben Coleman</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ccgi.bencoleman.plus.com/blog/2006/03/27/java-raytracer/</guid>
		<description><![CDATA[All the content in this section has been lifted from my old website; the stuff here is pretty ancient but I was always rather proud of it so I&#8217;ve dragged it up (and the images from a long forgotten directory) and but it back on my new site. One day I&#8217;ll come back to this [...]]]></description>
			<content:encoded><![CDATA[<p>All the content in this section has been lifted from my old website; the stuff here is pretty ancient but I was always rather proud of it so I&#8217;ve dragged it up (and the images from a long forgotten directory) and but it back on my new site. One day I&#8217;ll come back to this project and carry on working on it (pah in my dreams!)</p>
<p><a href="http://picasaweb.google.com/benc.uk/RayTracer/photo#4973930659973758994"><img src="http://lh5.google.com/benc.uk/RQbzlQ0pABI/AAAAAAAAACM/qcQF5PCcGMM/61207406_cc314149ef_o.jpg?imgmax=288" /></a> <a href="http://picasaweb.google.com/benc.uk/RayTracer/photo#4973930665546940434"><img src="http://lh6.google.com/benc.uk/RQbzlllZABI/AAAAAAAAACU/f648i2N6Ko0/61207408_24bf9b79d2_o.jpg?imgmax=288" /></a> <a href="http://picasaweb.google.com/benc.uk/RayTracer/photo#4973930666876403730"><img src="http://lh4.google.com/benc.uk/RQbzlqiXABI/AAAAAAAAACc/7N1qIicY5Y0/61207410_8c92016678_o.jpg?imgmax=288" /></a> <a href="http://picasaweb.google.com/benc.uk/RayTracer/photo#4973930671955378194"><img src="http://lh4.google.com/benc.uk/RQbzl9dSABI/AAAAAAAAACk/wcP_jXgLMHw/61207482_7b5b97bca1_o.jpg?imgmax=288" /></a></p>
<p><span id="more-22"></span></p>
<h3>Introduction</h3>
<p>A ray tracer is an image rendering tool, which can generate very realistic images. It does this by modeling the physical properties of light and produces its images by casting (or tracing) rays of light through a modeled scene, as they would behave in the real world and projecting the results into an image. It is a mathematically intensive process, however by the implicit nature of the core algorithm it handles reflections, shadows and refractive transparency very well, things which other algorithms (say a scan line, z-buffered polygon renderer) would struggle with.</p>
<p>It is worth noting the images below were generated solely with the ray tracer and the entire project was coded from the &#8220;ground up&#8221; even down to the vector and matrix math routines as I wanted to develop my own libraries to get a better understanding of the mathematics.</p>
<h3>Source Code &#038; Notes</h3>
<p align="left">Source code? I&#8217;m not sure if you really want to be downloading this. It hasn&#8217;t been too good for my sanity, so I&#8217;m certain it won&#8217;t be to good for anyone else&#8217;s! Here it is anyway, for simple reference more than anything.</p>
<p align="left">The code is a bit of a mess, most of it has comments but some of it hasn&#8217;t; some bits make sense, some bits don&#8217;t, you get the general idea&#8230; <img src='http://www.bencoleman.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Basically I&#8217;m putting up it here for the curious and for anyone else writing a ray tracer. <em>Bear in mind that since writing this (back in 2001 or so) I have learnt <strong>a lot</strong> about Java, so this code is a little immature shall we say.</em></p>
<p><a id="p49" href="http://files.bencoleman.co.uk/index.php?dir=blog/&#038;file=Ray%20Tracer.zip">Ray Tracer Source Code</a></p>
<p align="left">The GUI currently does nothing, the scene is hard coded into the source and the textures code is fairly static. So a top list of stuff to do includes:</p>
<ul>
<li>
<p align="left"><strong>Refractive transparency &#8211; Done, but some objects don&#8217;t have &#8216;real&#8217; interiors yet. Cylinders are real pain.</strong></p>
</li>
<li>
<p align="left">Proper camera parameterization &#8211; Done, but hard coded</p>
</li>
<li>
<p align="left"><strong>Anti-aliasing &#8211; Done,  adaptive &#038; non-adaptive</strong></p>
</li>
<li>
<p align="left">More objects: Torus, Polygons, NURB surs, Superquadrics, Blobs etc.</p>
</li>
<li>
<p align="left">CSG</p>
</li>
<li>
<p align="left">Get the GUI doing good stuff, parser for scenes etc. (Use XML and JAXP)</p>
</li>
<li>
<p align="left">Better procedural and image based texturing</p>
</li>
<li>
<p align="left">Bump mapping and normal modification</p>
</li>
<li>
<p align="left">Loads of optimizations needed, multithreading</p>
</li>
<li>
<p align="left">Blah, blah, blah&#8230;</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.bencoleman.co.uk/java-raytracer/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Java Webserver</title>
		<link>http://www.bencoleman.co.uk/java-webserver</link>
		<comments>http://www.bencoleman.co.uk/java-webserver#comments</comments>
		<pubDate>Mon, 27 Mar 2006 20:44:39 +0000</pubDate>
		<dc:creator>Ben Coleman</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ccgi.bencoleman.plus.com/blog/2006/03/27/java-webserver/</guid>
		<description><![CDATA[This is a little webserver I wrote in Java. I wanted to embed a webserver into one of my other Java projects to save creating a thick GUI in Swing. This webserver is the result. It can also be used &#8216;standalone&#8217; to serve files from your hard-disk, for sharing or transfering stuff to other people. [...]]]></description>
			<content:encoded><![CDATA[<p>This is a little webserver I wrote in Java. I wanted to embed a webserver into one of my other Java projects to save creating a thick GUI in Swing. This webserver is the result. It can also be used &#8216;standalone&#8217; to serve files from your hard-disk, for sharing or transfering stuff to other people. When used standalone it only requires one file JAR to use and it can be started by simply double-clicking the JAR.</p>
<p><span id="more-19"></span><em><strong>Update</strong> &#8211; well I should have had a look round the web before I spent time writing this as <a href="http://jetty.mortbay.org/jetty/">Jetty</a> is what I should have used &#8211; ohh well! I learnt a lot about the internal workings of HTTP. In fact looking round the Jetty javadoc you&#8217;d have thought that I copied them given some of the main class names are the same &#8211; well I didn&#8217;t (in case you were wondering!) I&#8217;m leaving this up here for the curious, it&#8217;s not that my attempt is bad, just that Jetty is MUCH fuller featured</em></p>
<h3>Download</h3>
<p><a title="HTTP Server" id="p20" href="http://files.bencoleman.co.uk/index.php?dir=blog/&#038;file=HTTPServer-1.0.zip">Download HTTP Server 1.0</a></p>
<h3>Documentation</h3>
<p>1) To run as a standalone webserver simply copy the JAR file to where the directory where you want to serve files from, then double click the JAR file &#8211; easy as that! When it&#8217;s started a dialog should pop-up telling you the URL to access your web server</p>
<p>The &#8216;<em>server.properties</em>&#8216; file can be used to change the server settings but if it&#8217;s missing then the server runs with it&#8217;s internal defaults so it&#8217;s not required for the server to run. The default settings are</p>
<ul>
<li>http_tcp_port = 1975</li>
<li>http_doc_root =</li>
<li>http_log_dir = &#8216;http-logs/&#8217;</li>
<li>http_log_level = &#8216;CONFIG&#8217;</li>
<li>http_log_size = 1000000</li>
<li>http_log_count = 5</li>
<li>http_ka_enable = true</li>
<li>http_ka_time = 15</li>
</ul>
<p>2) Use the HTTPServer class in your own code to embed a HTTP server into your own Java project. Include the JAR file in your classpath and see the javadoc for more details on using the server.</p>
<h3>Java Documentation</h3>
<p><a href="/javadoc/httpserver/">Click here for the HTTPServer package javadocs and API reference<br />
</a></p>
<h3>License</h3>
<p>This software is distributed freely under the GPL license<br />
see <a href="http://www.gnu.org/licenses/gpl.html">http://www.gnu.org/licenses/gpl.html</a> for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bencoleman.co.uk/java-webserver/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MuVo Control Center</title>
		<link>http://www.bencoleman.co.uk/muvo-control-center</link>
		<comments>http://www.bencoleman.co.uk/muvo-control-center#comments</comments>
		<pubDate>Sat, 25 Mar 2006 09:41:36 +0000</pubDate>
		<dc:creator>Ben Coleman</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Music]]></category>

		<guid isPermaLink="false">http://ccgi.bencoleman.plus.com/blog/2006/03/25/muvo-control-center/</guid>
		<description><![CDATA[Looking though my statcounter/Google Analytics reports I noticed I was still getting hits for people looking for this software, no idea why anyone is using the MuVo Anyhow I stopped selling, supporting &#38; developing this ages ago but I&#8217;ll put it up the full version here for free download if you still want to use [...]]]></description>
			<content:encoded><![CDATA[<p>Looking though my statcounter/Google Analytics reports I noticed I was still getting hits for people looking for this software, no idea why anyone is using the MuVo <img src='http://www.bencoleman.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <br />Anyhow I stopped selling, supporting &amp; developing this ages ago but I&#8217;ll put it up  the full version here for free download if you still want to use it&#8230;</p>
<p>I&#8217;d put the source code up too, but that appears to have got lost somewhere <img src='http://www.bencoleman.co.uk/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p><img alt="Disk" id="image21" style="border: medium none ;" src="http://ccgi.bencoleman.plus.com/blog/wp-content/uploads/2006/03/3floppy_unmount.png" border="0" /> Download &#8211; <a id="p24" href="http://ccgi.bencoleman.plus.com/blog/wp-content/uploads/2006/03/Muvo%20Control%20Center%20Setup%20v0.9.exe">MuVo Control Center v0.9</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bencoleman.co.uk/muvo-control-center/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
