<?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>OpenTelegard BBS Project</title>
	<atom:link href="http://telegard.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://telegard.org</link>
	<description>Open Source BBS Project</description>
	<lastBuildDate>Tue, 17 May 2011 17:45:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Binary Snapshot Release 20110517 available for Download</title>
		<link>http://telegard.org/2011/05/binary-snapshot-release-20110517-available-for-download/</link>
		<comments>http://telegard.org/2011/05/binary-snapshot-release-20110517-available-for-download/#comments</comments>
		<pubDate>Tue, 17 May 2011 17:43:32 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=426</guid>
		<description><![CDATA[A new binary snapshot is available for download. You can get it here for Linux. http://telegard.org/snapshots/telegard20110517.tbz&#160; 19MB Bzipped2 Tar File Installation Instructions cd /opt tar -xjvf telegard20110517.tbz &#160; Follow the instructions in the INSTALL file &#160; This binary snapshot is provided as a way to get people interested in the project. Work has slowed dramatically [...]]]></description>
			<content:encoded><![CDATA[<p>A new binary snapshot is available for download. You can get it <a href="http://telegard.org/snapshots/telegard20110517.tbz">here</a> for Linux.</p>
<p>http://telegard.org/snapshots/telegard20110517.tbz&nbsp; 19MB Bzipped2 Tar File</p>
<p>Installation Instructions</p>
<p>cd /opt</p>
<p>tar -xjvf telegard20110517.tbz</p>
<p>&nbsp;</p>
<p>Follow the instructions in the INSTALL file</p>
<p>&nbsp;</p>
<p>This binary snapshot is provided as a way to get people interested in the project. Work has slowed dramatically recently, and we could use some fresh developers to help continue the work.</p>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2011/05/binary-snapshot-release-20110517-available-for-download/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>20110301 &#8211; Project Status Update &amp; Screenshots</title>
		<link>http://telegard.org/2011/03/20110301-project-status-update-screenshots/</link>
		<comments>http://telegard.org/2011/03/20110301-project-status-update-screenshots/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 22:52:34 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[Development Screenshots]]></category>
		<category><![CDATA[Project Status]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=417</guid>
		<description><![CDATA[Update Work has been slow lately due to my busy work schedule. I took on a new Job back in July, and since then have been travelling around North America. As a result, my free-time to work on this project has slowed, but not my determination. Since the last post, much progress has been made [...]]]></description>
			<content:encoded><![CDATA[<h3><u>Update</u></h3>
<p>Work has been slow lately due to my busy work schedule. I took on a new Job back in July, and since then have been travelling around North America. As a result, my free-time to work on this project has slowed, but not my determination. Since the last post, much progress has been made on the Message Areas. Screenshots posted here will show some of the functionality. There has been a lot of minor database changes as well, so if anyone is actually running the code on their own machines, they will either need to manually perform a schema change, or more easily, delete your existing databases and start fresh. In sticking with the Roadmap, the current goal is to get as much of the core functionality completed in order to reach a 1.0 release later this year. Subsequently, 2.0 will become a more feature enhanced version and include many refinements. Thanks to everyone who has offered their support for this project, and the fans who stop into the IRC chat room.</p>
<p>One important change, is support for the built-in editor is no longer available. The code remains, but the functionality has been disabled in favor of Nano which provides enhanced functionality such as being able to load and edit quoted text when replyin to a thread.</p>
<h3><strong><u>Commit Summary since last update</u></strong></h3>
<table id="logentries">
<tbody>
<tr class="blueRow0 revision_log" id="log-0">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/114" title="Show revision 114">114</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/114" title="Show revision 114">Fixed minor issue in DB model creation for USERS table.</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/114" title="Show revision 114">Fixed&nbsp;minor&nbsp;issue&nbsp;in&nbsp;DB&nbsp;model&nbsp;creation&nbsp;for&nbsp;USERS&nbsp;table.</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow1 revision_log" id="log-1">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/113" title="Show revision 113">113</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/113" title="Show revision 113">Updated h2 database version</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/113" title="Show revision 113">Updated&nbsp;h2&nbsp;database&nbsp;version</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow0 revision_log" id="log-2">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/112" title="Show revision 112">112</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/112" title="Show revision 112">Colorization and menu consolidation for Message Area &amp; Brows&#8230;</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/112" title="Show revision 112">Colorization&nbsp;and&nbsp;menu&nbsp;consolidation&nbsp;for&nbsp;Message&nbsp;Area&nbsp;&amp;&nbsp;Browser</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow1 revision_log" id="log-3">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/111" title="Show revision 111">111</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/111" title="Show revision 111">Message areas: Added Reply including quoting to browser, cle&#8230;</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/111" title="Show revision 111">Message&nbsp;areas:&nbsp;Added&nbsp;Reply&nbsp;including&nbsp;quoting&nbsp;to&nbsp;browser,&nbsp;cleaned&nbsp;up&nbsp;bug&nbsp;in&nbsp;&#39;view&#39;&nbsp;method.</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow0 revision_log" id="log-4">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/110" title="Show revision 110">110</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/110" title="Show revision 110">Minor work on Message Browser</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/110" title="Show revision 110">Minor&nbsp;work&nbsp;on&nbsp;Message&nbsp;Browser</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow1 revision_log" id="log-5">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/109" title="Show revision 109">109</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/109" title="Show revision 109">h2 jar was missing from recent commits, adding</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/109" title="Show revision 109">h2&nbsp;jar&nbsp;was&nbsp;missing&nbsp;from&nbsp;recent&nbsp;commits,&nbsp;adding</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow0 revision_log" id="log-6">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/108" title="Show revision 108">108</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/108" title="Show revision 108">Updated message browser menu and initial menu tpl</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/108" title="Show revision 108">Updated&nbsp;message&nbsp;browser&nbsp;menu&nbsp;and&nbsp;&nbsp;initial&nbsp;menu&nbsp;tpl</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow1 revision_log" id="log-7">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/107" title="Show revision 107">107</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/107" title="Show revision 107">Message Browser work started.</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/107" title="Show revision 107">Message&nbsp;Browser&nbsp;work&nbsp;started.<br />
					Minor&nbsp;bugfix&nbsp;in&nbsp;Signup</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow0 revision_log" id="log-8">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/106" title="Show revision 106">106</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/106" title="Show revision 106">Fixed minor bugs in signup routine:</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/106" title="Show revision 106">Fixed&nbsp;minor&nbsp;bugs&nbsp;in&nbsp;signup&nbsp;routine:<br />
					&nbsp;-&nbsp;Fixed&nbsp;Preferences&nbsp;being&nbsp;added&nbsp;during&nbsp;signup,&nbsp;which&nbsp;caused&nbsp;crashes&nbsp;during&nbsp;a&nbsp;user&#39;s&nbsp;first&nbsp;session<br />
					&nbsp;-&nbsp;Added&nbsp;Password&nbsp;Confirmation<br />
					&nbsp;-&nbsp;Minor&nbsp;template&nbsp;changes</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow1 revision_log" id="log-9">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/105" title="Show revision 105">105</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/105" title="Show revision 105">Minor fixes to ANSI_RESET based on improper background setti&#8230;</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/105" title="Show revision 105">Minor&nbsp;fixes&nbsp;to&nbsp;ANSI_RESET&nbsp;based&nbsp;on&nbsp;improper&nbsp;background&nbsp;setting&nbsp;in&nbsp;transparent&nbsp;terminals.</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow0 revision_log" id="log-10">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/104" title="Show revision 104">104</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/104" title="Show revision 104">Fixed bug in Message Areas with disabled areas</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/104" title="Show revision 104">Fixed&nbsp;bug&nbsp;in&nbsp;Message&nbsp;Areas&nbsp;with&nbsp;disabled&nbsp;areas</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow1 revision_log" id="log-11">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/103" title="Show revision 103">103</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/103" title="Show revision 103">Removed EMAIL placeholder and msgtype from MSGAREAS. Private&#8230;</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/103" title="Show revision 103">Removed&nbsp;EMAIL&nbsp;placeholder&nbsp;and&nbsp;msgtype&nbsp;from&nbsp;MSGAREAS.&nbsp;Private&nbsp;email&nbsp;is&nbsp;relatively&nbsp;worthless&nbsp;with&nbsp;Netmail.&nbsp;</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow0 revision_log" id="log-12">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/102" title="Show revision 102">102</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/102" title="Show revision 102">Minor fix to message menu</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/102" title="Show revision 102">Minor&nbsp;fix&nbsp;to&nbsp;message&nbsp;menu</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow1 revision_log" id="log-13">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/101" title="Show revision 101">101</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/101" title="Show revision 101">Pager now integrated into Tgtemplate::display</a></div>
<div class="long_description" style="display: none;"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/101" title="Show revision 101">Pager&nbsp;now&nbsp;integrated&nbsp;into&nbsp;Tgtemplate::display<br />
					Added&nbsp;some&nbsp;online&nbsp;help&nbsp;documents</a></p>
<div class="loading"><img src="http://bazaar.launchpad.net/static/images/spinner.gif" /></div>
</p></div>
</td>
</tr>
<tr class="blueRow0 revision_log" id="log-14">
<td class="revnro revnolink"><a href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/100" title="Show revision 100">100</a></td>
<td class="summcell">
<div class="short_description"><a class="link" href="http://bazaar.launchpad.net/%7Echris-tusa/telegard/devel/revision/100" title="Show revision 100">Fixed minor issues with TgEdit &amp; Nano</a></div>
</td>
</tr>
</tbody>
</table>
<h3><u>Screenshots</u></h3>
<p>Entering the message reader, then displaying the message list for the currently selected area:</p>
<p><a href="http://telegard.org/wp-content/uploads/2011/03/browser_list.png"><img alt="" class="alignnone size-full wp-image-419" height="586" src="http://telegard.org/wp-content/uploads/2011/03/browser_list.png" title="browser_list" width="881" /></a></p>
<p>Posting a NEW message to the current area:</p>
<p><a href="http://telegard.org/wp-content/uploads/2011/03/newpost.png"><img alt="" class="alignnone size-full wp-image-420" height="153" src="http://telegard.org/wp-content/uploads/2011/03/newpost.png" title="newpost" width="843" /></a></p>
<p>Messages are edited with restricted Nano by default:</p>
<p><a href="http://telegard.org/wp-content/uploads/2011/03/nanoeditor_tmpmode.png"><img alt="" class="alignnone size-full wp-image-422" height="228" src="http://telegard.org/wp-content/uploads/2011/03/nanoeditor_tmpmode.png" title="nanoeditor_tmpmode" width="999" /></a></p>
<p>Replying to an existing Post. Telegard automatically adds the &quot;RE:&quot; and asks if the user wants quoting:</p>
<p><a href="http://telegard.org/wp-content/uploads/2011/03/msgreply.png"><img alt="" class="alignnone size-full wp-image-421" height="293" src="http://telegard.org/wp-content/uploads/2011/03/msgreply.png" title="msgreply" width="896" /></a></p>
<p>Viewing a message. In this case, the one we just posted:</p>
<p><a href="http://telegard.org/wp-content/uploads/2011/03/msgview.png"><img alt="" class="alignnone size-full wp-image-423" height="521" src="http://telegard.org/wp-content/uploads/2011/03/msgview.png" title="msgview" width="879" /></a></p>
<p>&nbsp;</p>
<h3><u>What&#39;s Next?</u></h3>
<p>Next, work will be done of the FileAreas section to get working download functionality.</p>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2011/03/20110301-project-status-update-screenshots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Update 20110117</title>
		<link>http://telegard.org/2011/01/project-update-20110117/</link>
		<comments>http://telegard.org/2011/01/project-update-20110117/#comments</comments>
		<pubDate>Mon, 17 Jan 2011 16:39:52 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=413</guid>
		<description><![CDATA[Well, 2010 is in the not so distant past, and what a great year for this project. Lots of progress was made on the core engine, and funcitonality improvements. I&#39;d like to thank all of those folks who have been assisting with the tests on the Alpha server;&#160; your feedback, and suggestions are appreciated and [...]]]></description>
			<content:encoded><![CDATA[<p>Well, 2010 is in the not so distant past, and what a great year for this project. Lots of progress was made on the core engine, and funcitonality improvements. I&#39;d like to thank all of those folks who have been assisting with the tests on the Alpha server;&nbsp; your feedback, and suggestions are appreciated and respected., keep it up!&nbsp; Our IRC room has been getting more visitors lately, so thank you everyone for your support, even it its just to ask when the final release will be. I wish I had a better answer for that, but this project&#39;s scope is actually quite large. So what is happening since the last post in November and the last code commit?</p>
<h4>Research</h4>
<p>Yes, research! I&#39;ve been looking into some new toolkits for GUI development with the intention of creating an administration interface for the System Operators. What does this mean?&nbsp; One of the coolest parts of operating a BBS back in the day was watching your callers login to the system, and being able to interact with them via Chat or allow them to request chat via the &quot;Page Sysop&quot; feature. This is a rather complicated feature to implement based on the design of the Telegard/2 code, which acts more like a UNIX shell than a listening server. The original Telegard and other BBS&#39;s made this much more accessible as the modem and tty handlers provided this facility, but not so much on pseudo terminals provided via UNIX and SSH. However, I believe there is a way to implement at minimum a sort of WFC style interface with administration tools and chat features.&nbsp;&nbsp;</p>
<p>So to answer the question:<em> what kind of research have you been doing?</em></p>
<p>I&#39;ve been looking into toolkits for Swing programming. Swing is Java&#39;s GUI Widget framework. In particular, tols such as Griffon, MonkeyBars, Swiby, and Limelight. Each of these tools offers various ways of creating graphical interfaces using their own DSL. As of right now, testing is still on-going through Proof of Concept code.</p>
<h4>Next Code Push</h4>
<p>The next code push should be coming soon. The current goal is to get the message boards working entirely. Following this, work will resume of the file areas.</p>
<h4>IRC Update</h4>
<p>There have been some new regulars in #telegard, thanks for your ongoing support and keeping the project talk interesting.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2011/01/project-update-20110117/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>100th Code Commit</title>
		<link>http://telegard.org/2010/11/100th-code-commit/</link>
		<comments>http://telegard.org/2010/11/100th-code-commit/#comments</comments>
		<pubDate>Fri, 12 Nov 2010 00:26:09 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=405</guid>
		<description><![CDATA[Since 2010-04-12 when the project was re-started as Telegard/2, the source code tree is now at Revision 100. Here are some statistics about the project and the progress thus far: Total Files ruby: 62 (100.00%), ftl: 102 Templates SLOC Directory SLOC-by-Language (Sorted) 5181 lib ruby=5181 770 admin ruby=770 266 top_dir ruby=266 0 class (none) 0 [...]]]></description>
			<content:encoded><![CDATA[<p>Since 2010-04-12 when the project was re-started as Telegard/2, the source code tree is now at Revision 100. Here are some statistics about the project and the progress thus far:</p>
<p>Total Files</p>
<p>ruby: 62 (100.00%), ftl: 102 Templates</p>
<p>SLOC Directory SLOC-by-Language (Sorted)<br />
	5181 lib ruby=5181<br />
	770 admin ruby=770<br />
	266 top_dir ruby=266<br />
	0 class (none)<br />
	0 conf (none)<br />
	0 db (none)<br />
	0 tpls (none)</p>
<p>	Totals grouped by language (dominant language first):<br />
	ruby: 6217 (100.00%)</p>
<p>	Total Physical Source Lines of Code (SLOC) = 6,217<br />
	Development Effort Estimate, Person-Years (Person-Months) = 1.36 (16.35)<br />
	(Basic COCOMO model, Person-Months = 2.4 * (KSLOC**1.05))<br />
	Schedule Estimate, Years (Months) = 0.60 (7.23)<br />
	(Basic COCOMO model, Months = 2.5 * (person-months**0.38))<br />
	Estimated Average Number of Developers (Effort/Schedule) = 2.26<br />
	Total Estimated Cost to Develop = $ 184,035<br />
	(average salary = $56,286/year, overhead = 2.40).</p>
<p><span style="font-size:8px;">* generated using David A. Wheeler&#39;s &#39;SLOCCount&#39;.</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2010/11/100th-code-commit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JRuby vs MRI Ruby: Kernel.system() behavior with external Curses program</title>
		<link>http://telegard.org/2010/11/jruby-vs-mri-ruby-kernel-system-behavior-with-external-curses-program/</link>
		<comments>http://telegard.org/2010/11/jruby-vs-mri-ruby-kernel-system-behavior-with-external-curses-program/#comments</comments>
		<pubDate>Mon, 08 Nov 2010 20:24:20 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=399</guid>
		<description><![CDATA[** Update (20101110): The solution to the problem is to use JRuby&#39;s FFI library. This allows connecting directly to &#39;libc&#39; for calling POSIX execl. Nano support has been added to Telegard, and other editors may follow. Original Post In an effort to support external editors such as Nano, LE, NE, Joe, Jed, etc, I am [...]]]></description>
			<content:encoded><![CDATA[<h4><strong>** Update (20101110):</strong></h4>
<p>The solution to the problem is to use JRuby&#39;s FFI library. This allows connecting directly to &#39;libc&#39; for calling POSIX execl. Nano support has been added to Telegard, and other editors may follow.</p>
<p><strong>Original Post</strong></p>
<p>In an effort to support external editors such as Nano, LE, NE, Joe, Jed, etc, I am working on finding a solution to a problem that appears unique to Java. Since this project is written in JRuby, it also inherits this apparent flaw in the JVM when calling external programs. Please see the email below which I have sent out to the JRuby Users list. I will be tracking a solution (if one is found) on this post.</p>
<pre>Good Day,

I am writing a terminal program in JRuby, and I have a need to launch
an external Text editor, in particular &#39;nano&#39; or more speficially, &#39;/
bin/rnano&#39; which is the Restricted nano. I have also looked at other
editors, but it seems they all use Curses or NCurses to handle the
screen. I tested this on MRI and it works prefectly as expected.
During research I have found lots of information about how Java
handles external programs, and it seems like I/O is somewhat tricky
for calling external programs.

So I have 2 questions:

1) Depending on the Java version, external programs can be called
using:
a) Some examples use the java call &quot;Runtime.exec()&quot;
b) Newer versions use ProcessBuilder
Which does JRuby implement?

2) The programmer must handle then input and output streams so the
caller can transmit I/O to/from the executed external program. But
this doesn&#39;t seem to work with Curses programs under Java.

This far, here is what I have tested:
Test 1: The C or MRI Ruby Way
#!/usr/bin/env ruby
system(&quot;/bin/nano&quot;)

Test 2: The JRuby Way (same as test 1 but using JRuby)
#!/usr/bin/env jruby
system(&quot;/bin/nano&quot;)

Executes nano, displays the rendered nano editor screen, but any
subsequent input or output does not interact with the editor including
Nano&#39;s CTRL functions. Hitting CTRL-C terminates the program.

Test 3: The Java Way

import java.io.*;
import java.util.*;
public class DoProcessBuilder {
   public static void main(String args[]) throws IOException {
     if (args.length &lt;= 0) {
       System.err.println(&quot;Need command to run&quot;);
       System.exit(-1);
     }
     Process process = new ProcessBuilder(args).start();
     InputStream is = process.getInputStream();
     InputStreamReader isr = new InputStreamReader(is);
     BufferedReader br = new BufferedReader(isr);
     String line;
     System.out.printf(&quot;Output of running %s is:&quot;,
     Arrays.toString(args));
     while ((line = br.readLine()) != null) {
        System.out.println(line);
     }
  }
}

RESULTS:
When running the compiled version of test2. I run as &quot;java
DoProcessBuilder /bin/rnano&quot;. In either case of these tests under a
JVM, the curses application seems unusable.

Anyone have a suggestion on how to accomplish calling an NCurses
program correctly in JRuby/JAVA?
</pre>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2010/11/jruby-vs-mri-ruby-kernel-system-behavior-with-external-curses-program/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Updates 20101106</title>
		<link>http://telegard.org/2010/11/project-updates-20101106/</link>
		<comments>http://telegard.org/2010/11/project-updates-20101106/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 05:18:33 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=395</guid>
		<description><![CDATA[There has been a lot of work going into the project lately. Some of the key areas of focus have been around Security and Administration. Here are some of the more exciting bullet points from the most recent commits in no particular order: Trap CTRL-Z (SIGTSTP) POSIX Signal to prevent undesired breakout or stopping of [...]]]></description>
			<content:encoded><![CDATA[<p>There has been a lot of work going into the project lately. Some of the key areas of focus have been around <strong>Security</strong> and <strong>Administration</strong>.</p>
<p>Here are some of the more exciting bullet points from the most recent commits in no particular order:</p>
<ul>
<li>Trap CTRL-Z (SIGTSTP) POSIX Signal to prevent undesired breakout or stopping of process by an end-user.&nbsp;</li>
<li>Security Enhancement: No plain text passwords in configuration files. Created new &#39;module Security&#39; to handle various encryption methods.</li>
<li>Security Enhancement: H2 Database now uses a defined SA user &amp; password instead of blank values.</li>
<li>Added &#39;webremote&#39; to h2.init script to allow remote access to DB on demand</li>
<li>User preferences editor</li>
<li>Replaced JGoodies with Apache Commons Validation library.</li>
<li>Web Based administration tool intial groundwork completed based on Ramaze.</li>
<li>MidoriJS integration into WebAdmin</li>
<li>Upgraded H2 to 1.2.145</li>
<li>Renamed main configuration file to &#39;telegard.conf.yaml&#39;.</li>
<li>Added new configuration file &#39;security.conf.yaml&#39;.</li>
<li>Added Password Generator script.</li>
</ul>
<p>One of the most important changes made was the removal of &quot;<em>Clear-Text Passwords</em>&quot; from configuration files. This has 2 significant advantages:</p>
<ol>
<li>A remote intruder or user on the operating system cannot decipher the password string by simply viewing the file.</li>
<li>Passwords in memory are now encrypted strings instead of cleartext preventing a savy user from retrieving them from the heap.</li>
</ol>
<p><span style="font-size: 8px">Note: UserPasswords have always been stored encrypted in the database &#39;users&#39; table.</span></p>
<p>Also, a new Alpha Test Server has been setup for providing a testing ground for the latest working code snapshots. For information and access, please ask in the IRC channel.</p>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2010/11/project-updates-20101106/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screenshots 20101106 &#8211; Web Admin</title>
		<link>http://telegard.org/2010/11/screenshots-20101106-web-admin/</link>
		<comments>http://telegard.org/2010/11/screenshots-20101106-web-admin/#comments</comments>
		<pubDate>Sun, 07 Nov 2010 05:02:40 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=382</guid>
		<description><![CDATA[Lots of work has been going into the project lately. The following screenshots show the initial work on a Web-Based administration tool. The GUI is basic, and currently unrefined. It is based on Ramaze and heavily integrates with the Telegard/2 Libraries. &#160;]]></description>
			<content:encoded><![CDATA[<p>Lots of work has been going into the project lately. The following screenshots show the initial work on a Web-Based administration tool. The GUI is basic, and currently unrefined. It is based on Ramaze and heavily integrates with the Telegard/2 Libraries.</p>
</p>
<p><a href="http://telegard.org/wp-content/uploads/2010/11/main.png"><img alt="Web Admin Overview Page" class="size-full wp-image-383" src="http://telegard.org/wp-content/uploads/2010/11/main.png" style="height: 355px; width: 584px" title="webadmin_main" /></a></p>
<p>
<a href="http://telegard.org/wp-content/uploads/2010/11/bbs_bbs.png"><img alt="Web Admin BBS Settings" class="size-full wp-image-385" src="http://telegard.org/wp-content/uploads/2010/11/bbs_bbs.png" style="height: 313px; width: 671px; float: left" title="webadmin-bbs_bbs" /></a>
<a href="http://telegard.org/wp-content/uploads/2010/11/bbs_database.png"><img alt="Web Admin BBS Database Settings" class="size-full wp-image-386" height="279" src="http://telegard.org/wp-content/uploads/2010/11/bbs_database.png" title="webadmin-bbs_database" width="767" /></a>
<a href="http://telegard.org/wp-content/uploads/2010/11/bbs_login.png"><img alt="Web Admin BBS Login Settings" class="size-full wp-image-387" height="336" src="http://telegard.org/wp-content/uploads/2010/11/bbs_login.png" title="webadmin-bbs_login" width="766" /></a>
<a href="http://telegard.org/wp-content/uploads/2010/11/bbs_signup.png"><img alt="Web Admin BBS Signup Settings" class="size-full wp-image-388" height="568" src="http://telegard.org/wp-content/uploads/2010/11/bbs_signup.png" title="webadmin-bbs_signup" width="761" /></a>
<a href="http://telegard.org/wp-content/uploads/2010/11/msgarea_list.png"><img alt="Web Admin List of Message Areas" class="size-full wp-image-389" height="328" src="http://telegard.org/wp-content/uploads/2010/11/msgarea_list.png" title="webadmin-msgarea_list" width="759" /></a>
<a href="http://telegard.org/wp-content/uploads/2010/11/network_list.png"><img alt="Web Admin List of BBS Networks" class="size-full wp-image-390" height="246" src="http://telegard.org/wp-content/uploads/2010/11/network_list.png" title="network_list" width="758" /></a>
<a href="http://telegard.org/wp-content/uploads/2010/11/network_tgnet_view.png"><img alt="Web Admin Details for TGnet Network" class="size-full wp-image-391" height="263" src="http://telegard.org/wp-content/uploads/2010/11/network_tgnet_view.png" title="network_tgnet_view" width="759" /></a>
<a href="http://telegard.org/wp-content/uploads/2010/11/usermgr.png"><img alt="Web Admin User Manager" class="size-full wp-image-392" height="189" src="http://telegard.org/wp-content/uploads/2010/11/usermgr.png" title="webadmin-usermgr" width="764" /></a>
<a href="http://telegard.org/wp-content/uploads/2010/11/user_details.png"><img alt="Web Admin Details for User" class="size-full wp-image-393" height="619" src="http://telegard.org/wp-content/uploads/2010/11/user_details.png" title="user_details" width="765" /></a>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2010/11/screenshots-20101106-web-admin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Screenshots 20101022</title>
		<link>http://telegard.org/2010/10/screenshots-20101022/</link>
		<comments>http://telegard.org/2010/10/screenshots-20101022/#comments</comments>
		<pubDate>Sat, 23 Oct 2010 03:30:03 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=375</guid>
		<description><![CDATA[This month, lots of work has gone into Message Areas. With this, the planning for TGnet (Telegard Network) has also been introduced into the code. TGnet is a Roadmap item which will allow OpenTelegard BBS systems to share content across a distributed network, similar to FidoNET or WWIVnet, but using modern protocols designed specifically for [...]]]></description>
			<content:encoded><![CDATA[<p>This month, lots of work has gone into Message Areas. With this, the planning for TGnet (Telegard Network) has also been introduced into the code. TGnet is a Roadmap item which will allow OpenTelegard BBS systems to share content across a distributed network, similar to FidoNET or WWIVnet, but using modern protocols designed specifically for this project.&nbsp;</p>
<p>Here are some screenshots of recent new functionality:</p>
<a href="http://telegard.org/wp-content/uploads/2010/10/shortcutkeys.png"><img alt="" class="size-full wp-image-376" height="139" src="http://telegard.org/wp-content/uploads/2010/10/shortcutkeys.png" title="shortcutkeys" width="743" /></a>
<p>Notice the ability to <strong>Toggle Menus</strong> and <strong>Toggle Pager</strong>.</p>
<p>&nbsp;</p>
<a href="http://telegard.org/wp-content/uploads/2010/10/msgarealist.png"><img alt="" class="size-full wp-image-377" src="http://telegard.org/wp-content/uploads/2010/10/msgarealist.png" style="height: 430px; width: 700px" title="msgarealist" /></a>
</p>
<p><a href="http://telegard.org/wp-content/uploads/2010/10/networkmsgarea.png"><img alt="" class="size-full wp-image-378" height="275" src="http://telegard.org/wp-content/uploads/2010/10/networkmsgarea.png" title="networkmsgarea" width="603" /></a>
<p>This screenshot shows an uncolorized (incomplete) template. If the area is not Network, the template hides that section.</p>
<p>&nbsp;</p>
<a href="http://telegard.org/wp-content/uploads/2010/10/menutogglehelp.png"><img alt="" class="size-full wp-image-379" src="http://telegard.org/wp-content/uploads/2010/10/menutogglehelp.png" style="height: 617px; width: 700px" title="menutogglehelp" /></a>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2010/10/screenshots-20101022/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>20101012 &#8211; Project Status Update</title>
		<link>http://telegard.org/2010/10/20101012-project-status-update/</link>
		<comments>http://telegard.org/2010/10/20101012-project-status-update/#comments</comments>
		<pubDate>Wed, 13 Oct 2010 04:38:53 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=372</guid>
		<description><![CDATA[Work continues on various areas of the software. In the last update, I talked mostly about some of the work happening in the FileAreas. This work is important, but has been put on hold to work on the Email and Messaging Areas. The primary reason for this change of focus is due to the fact [...]]]></description>
			<content:encoded><![CDATA[<p>Work continues on various areas of the software. In the last update, I talked mostly about some of the work happening in the FileAreas. This work is important, but has been put on hold to work on the Email and Messaging Areas. The primary reason for this change of focus is due to the fact that more work must be done on the administration tools before File Areas can be completed. The administration tools requires far more work, and without functioning user front-ends, would be more difficult to program. This is the opposite approach of the original OpenTelegard/1 project where I first wrote the administration tools and later moved to the front-end. &nbsp;</p>
<p>Other changes are minor revision updates within the Toolchain. Java version 1.6.0_22 is now released, as is JRuby 1.5.3</p>
<p>Don&#39;t forget to stop by our IRC channel &nbsp;#telegard &nbsp;@ &nbsp;irc.FreeNode.Net</p>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2010/10/20101012-project-status-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interactively working with the Telegard Source Code through jIRB</title>
		<link>http://telegard.org/2010/10/interactively-working-with-the-telegard-source-code-through-jirb/</link>
		<comments>http://telegard.org/2010/10/interactively-working-with-the-telegard-source-code-through-jirb/#comments</comments>
		<pubDate>Wed, 13 Oct 2010 04:31:12 +0000</pubDate>
		<dc:creator>telegardian</dc:creator>
				<category><![CDATA[JRuby]]></category>

		<guid isPermaLink="false">http://telegard.org/?p=370</guid>
		<description><![CDATA[A new wiki document has been posted describing how developers and testers can debug Telegard interactively using the JRuby IRB shell. &#160;http://kenai.com/projects/telegard/pages/Dev-interacting-jirb]]></description>
			<content:encoded><![CDATA[<p>A new wiki document has been posted describing how developers and testers can debug Telegard interactively using the JRuby IRB shell.</p>
<p><a href="http://kenai.com/projects/telegard/pages/Dev-interacting-jirb">&nbsp;http://kenai.com/projects/telegard/pages/Dev-interacting-jirb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://telegard.org/2010/10/interactively-working-with-the-telegard-source-code-through-jirb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

