<?xml version='1.0' encoding='UTF-8'?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-99407871110147588</id><updated>2008-12-09T18:52:27.634-07:00</updated><title type='text'>Version 2 Software, LLC</title><subtitle type='html'></subtitle><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/blog.html'/><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.version2software.com/blog/atom.xml'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>15</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-5887844888070358690</id><published>2008-12-09T18:08:00.005-07:00</published><updated>2008-12-09T18:52:27.656-07:00</updated><title type='text'>Openfire Administration Book Review</title><content type='html'>&lt;a href="http://www.packtpub.com/step-by-step-guide-to-openfire-administration/book"&gt;&lt;img src="http://images.packtpub.com/images/100x123/1847195261.png" alt="Openfire Administration" style="float:left;padding:10px;" /&gt;&lt;/a&gt;&lt;span style="font-style:italic;"&gt;&lt;a href="http://www.packtpub.com/step-by-step-guide-to-openfire-administration/book"&gt;Openfire Administration&lt;/a&gt;&lt;/span&gt;, written by Mayank Sharma, is a very easy-to-read and approachable book about the installation and administration of Openfire. While the developers of Openfire have done an excellent job of making the various features of the Openfire interface as easy-to-use as possible, the book assists in explaining what all the various features mean and how they can best be implemented. The book also benefits from the meticulous work put into the Openfire interface by including a large number of screen shots to help show, in detail, many of the features that are discussed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Openfire Administration&lt;/span&gt; is broken out into eleven chapters, with sample topics spanning: what instant messaging is and how an organization can benefit from it; the actual installation and configuration Openfire; how to administer Openfire; managing and organizing users; connecting Openfire to a directory service, such as Active Directory and OpenLDAP; connecting to external instant messaging networks, such as Yahoo!, MSN and AOL; arching conversations; scaling Openfire; and using various plugins, including how to setup an online help desk.&lt;br /&gt;&lt;br /&gt;In addition to the aforementioned topics, &lt;span style="font-style:italic;"&gt;Openfire Administration&lt;/span&gt; also contains three appendixes: 1) for Spark, "the official Openfire client"; 2) for using Openfire's multi-user chat options; and 3) for preparing for the actual deployment of an instant messaging server in an organization.&lt;br /&gt;&lt;br /&gt;While &lt;span style="font-style:italic;"&gt;Openfire Administratio&lt;/span&gt;n falls into the technical category of books, and is very much geared towards System Administrators, there are sections that non-technical, end users would find very useful, as well. Chapter 2 and Appendix B both examine the basics (and beyond) of how to use Spark client; while Chapter 1 and Appendix C ask a lot of questions, such as, "Who should be allowed to use the organizations instant messaging system?", "What sort of security and oversight is needed?" and "What should be addressed before the actual deployment or use of any instant messaging system?"&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Openfire Administration&lt;/span&gt; is a very informative book that provides not only the technical aspects of installing and managing Openfire but also some of the larger issues that come with deploying an instant messaging solution within an organization. Organizations looking to deploy Openfire would be well served by having a copy of &lt;span style="font-style:italic;"&gt;Openfire Administration&lt;/span&gt; on their technical bookshelf.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/5887844888070358690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=5887844888070358690' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/5887844888070358690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/5887844888070358690'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2008/12/openfire-administration-book-review.html' title='Openfire Administration Book Review'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-5452122763115093010</id><published>2008-11-21T14:06:00.001-07:00</published><updated>2008-11-21T14:10:52.316-07:00</updated><title type='text'>Whiteboard Sparkplug Version 0.0.5 Released</title><content type='html'>This is a bug-fix release:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Fix the multiple invitation problem.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Fix the stack trace problem when exiting Spark.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Thank you to those of you who provided feedback and code snippets in our V2 Whiteboard Group.&lt;br /&gt;&lt;br /&gt;The Version 2 Team</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/5452122763115093010/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=5452122763115093010' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/5452122763115093010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/5452122763115093010'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2008/11/whiteboard-sparkplug-version-005.html' title='Whiteboard Sparkplug Version 0.0.5 Released'/><author><name>Larry</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-8248300804807024911</id><published>2008-11-07T14:28:00.007-07:00</published><updated>2008-11-09T10:08:36.121-07:00</updated><title type='text'>Openfire Administration Book Sample Chapter</title><content type='html'>About a week ago I received my copy of &lt;a href="http://www.packtpub.com/step-by-step-guide-to-openfire-administration/book"&gt;Openfire Administration&lt;/a&gt; from Packt Publishing. I'll have a full review of the book soon but in the mean time I wanted to post a &lt;a href="http://www.version2software.com/blog/sample_chapter.pdf"&gt;sample chapter&lt;/a&gt; for people to look at and read for themselves. Enjoy! </content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/8248300804807024911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=8248300804807024911' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/8248300804807024911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/8248300804807024911'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2008/11/openfire-administration-book-sample.html' title='Openfire Administration Book Sample Chapter'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-2487781541433147447</id><published>2007-10-11T16:04:00.000-06:00</published><updated>2007-10-11T16:20:22.848-06:00</updated><title type='text'>Whiteboard Sparkplug Version 0.0.4 Released</title><content type='html'>Several significant features are included in this release. Please refer to the &lt;a href="http://www.version2software.com/downloads/whiteboard/0.0.4/changelog.html"&gt;change log&lt;/a&gt; for the features and &lt;a href="http://spreadsheets.google.com/ccc?key=prztcixk89W_zfOZ-MrqJLg"&gt;issue numbers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Here are the highlights:&lt;ul&gt;&lt;li&gt;Provide users with an opportunity to save a whiteboard prior to closing a whiteboard or creating a new one.&lt;/li&gt;&lt;li&gt;Added an invitation layer when starting a new one-on-one (i.e., non-group) whiteboard session.&lt;/li&gt;&lt;li&gt;Added a notification layer to alert whiteboard session participants when a new whiteboard is created or an existing one is closed.&lt;/li&gt;&lt;li&gt;Reworked the property dialog so that a shape's color and opacity can be set in one place and are updated on-the-fly.&lt;/li&gt;&lt;li&gt;Give ability to resize a shape by dragging a shape's selection handles.&lt;/li&gt;&lt;li&gt;Support for more graphic types for creating image shapes.&lt;/li&gt;&lt;li&gt;Track world and screen coordinates in the status bar as the mouse is moved.&lt;/li&gt;&lt;li&gt;Add the ability to export a drawing as an image.&lt;/li&gt;&lt;/ul&gt;We hope you enjoy the changes. As always, we look forward to hearing from you. We especially want to say thank you to those of you who provided feedback and code snippets in our &lt;a href="http://groups.google.com/group/v2whiteboard"&gt;V2 Whiteboard Group&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Version 2 Team</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/2487781541433147447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=2487781541433147447' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/2487781541433147447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/2487781541433147447'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/10/whiteboard-sparkplug-version-004.html' title='Whiteboard Sparkplug Version 0.0.4 Released'/><author><name>Larry</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-443398509375332841</id><published>2007-08-09T13:32:00.000-06:00</published><updated>2007-08-09T13:33:49.432-06:00</updated><title type='text'>Google Web Toolkit</title><content type='html'>I've been using GWT for a few months now and it dawned on me that the purpose of web frameworks is to provide MVC capabilities on the server to compensate for their absence on the client. With GWT, however, you get MVC on the client and the need for a web framework disappears in the arena of web applications. MVC was invented in Smalltalk for client code. Using a Javascript rich client (e.g., GWT), MVC once again lives on the client so the web framework is unnecessary. Caveat: these remarks pertain to web applications. For a multipage web site as opposed to a web application, I think web frameworks still have a place.</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/443398509375332841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=443398509375332841' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/443398509375332841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/443398509375332841'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/08/google-web-toolkit.html' title='Google Web Toolkit'/><author><name>Larry</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-8572177068409205986</id><published>2007-06-15T18:00:00.000-06:00</published><updated>2007-06-15T10:15:13.114-06:00</updated><title type='text'>Whiteboard Sparkplug 0.0.3 Released</title><content type='html'>We are pleased to announce the release of Version 0.0.3 of the V2 Whiteboard. You can review the new features listed in the &lt;a href="http://www.version2software.com/downloads/whiteboard/0.0.3/changelog.html"&gt;change log&lt;/a&gt;. Among the features are :&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Send to Back/Bring to Front&lt;/li&gt;&lt;li&gt;Automatic check on startup for new versions&lt;/li&gt;&lt;li&gt;Improved the way "selected" elements are displayed&lt;/li&gt;&lt;li&gt;Implemented ability to pan&lt;/li&gt;&lt;/ul&gt;If you wish to discuss this release or planned features for new releases, join us at the &lt;a href="http://groups.google.com/group/v2whiteboard"&gt;V2 Whiteboard Group.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We hope you enjoy it!&lt;br /&gt;The Version 2 Team</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/8572177068409205986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=8572177068409205986' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/8572177068409205986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/8572177068409205986'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/06/whiteboard-sparkplug-003-released.html' title='Whiteboard Sparkplug 0.0.3 Released'/><author><name>Larry</name><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-8807822508111902179</id><published>2007-04-18T19:44:00.000-06:00</published><updated>2007-04-18T15:25:17.550-06:00</updated><title type='text'>Whiteboard Sparkplug 0.0.2 Released</title><content type='html'>Well, it took a bit longer than we had anticipated but the time has come to announce version 0.0.2 of the Whiteboard Sparkplug. There are a number of improvements which you can read about in the change log &lt;a href="http://version2software.com/downloads/whiteboard/0.0.2/changelog.html"&gt;here&lt;/a&gt;, but the two that I'm most excited about are a revised toolbar that remains fixed and locked regardless of the canvas size, and preliminary support for working on a whiteboard with a group.&lt;br /&gt;&lt;br /&gt;Enjoy!</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/8807822508111902179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=8807822508111902179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/8807822508111902179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/8807822508111902179'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/04/whiteboard-sparkplug-002-released.html' title='Whiteboard Sparkplug 0.0.2 Released'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-4202443352312815482</id><published>2007-04-04T15:21:00.000-06:00</published><updated>2007-04-10T07:13:25.069-06:00</updated><title type='text'>Shared Editor 1.0.1</title><content type='html'>Version 1.0.1 of the Shared Editor is now available for &lt;a href="http://www.version2software.com/downloads/editor/1.0.1/editor.jar"&gt;download&lt;/a&gt;. There's virtually no difference between 1.0.0 and 1.0.1 other than the latter now works properly with Spark 2.5.0. Version 1.0.0 of the Shared Editor will still be available &lt;a href="http://www.version2software.com/downloads/editor/1.0.0/editor.jar"&gt;here&lt;/a&gt; for those of you using Spark 2.0.7 or 2.0.8.&lt;br /&gt;&lt;br /&gt;We're also in the process of updating V2Whiteboard so it works with Spark 2.5.0. In addition to fixing the compatibility issue, the next version will have some UI improvements, bug fixes and a new feature or two as time allows.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Ryan</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/4202443352312815482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=4202443352312815482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/4202443352312815482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/4202443352312815482'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/04/shared-editor-101.html' title='Shared Editor 1.0.1'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-6446339486356681113</id><published>2007-03-13T08:51:00.000-06:00</published><updated>2007-03-13T09:08:11.665-06:00</updated><title type='text'>Whiteboard Sparkplug Released</title><content type='html'>We're super excited to announce the initial release of a peer-to-peer whiteboard sparkplug for Spark. We've been using the tool internally for a while now and have found it be really helpful in communicating various thoughts and ideas that are difficult to do with just words. We're anxious to get people's feedback (good or otherwise) to help drive the direction of the tool and find out what features you want to see. You can read more about it &lt;a href="http://www.version2software.com/v2whiteboard.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;The Version 2 Team</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/6446339486356681113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=6446339486356681113' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/6446339486356681113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/6446339486356681113'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/03/whiteboard-sparkplug-released.html' title='Whiteboard Sparkplug Released'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-1398916405839801358</id><published>2007-02-16T11:14:00.000-07:00</published><updated>2007-02-16T11:16:16.220-07:00</updated><title type='text'>Plugin Article</title><content type='html'>I’m excited to announce that my first article on Wildfire plugin development has been published. The article walks the reader throught the development of a “Message of the Day” plugin that will send users a greeting each time they sign-in to Wildfire. Over the course of the article a number of plugin specific API’s are examined along with other, core Wildfire API’s. The completed plugin is fully functional but leaves room for a number of additional features.&lt;br /&gt;&lt;br /&gt;You can read the entire article &lt;a href="http://www.igniterealtime.org/support/articles/motd_plugin.jsp"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-Ryan</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/1398916405839801358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=1398916405839801358' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/1398916405839801358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/1398916405839801358'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/02/plugin-article.html' title='Plugin Article'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-3955664579586204926</id><published>2007-02-16T11:04:00.000-07:00</published><updated>2007-02-16T11:10:59.600-07:00</updated><title type='text'>Blog Back Online</title><content type='html'>As some of you may have noticed our blog was MIA for awhile. The reason being was that our web hosting provider unexpectantly announced they were closing up shop so we had to scramble a little bit to find a new provider and get everything moved over. Now that the move done we can start providing updates again on what we're up to here at V2.&lt;br /&gt;&lt;br /&gt;Cheers,&lt;br /&gt;Ryan</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/3955664579586204926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=3955664579586204926' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/3955664579586204926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/3955664579586204926'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/02/blog-back-online.html' title='Blog Back Online'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-5841222059292318921</id><published>2007-01-12T17:31:00.000-07:00</published><updated>2007-02-16T11:12:07.194-07:00</updated><title type='text'>Ignite History</title><content type='html'>My first foray into the world of Jabber/XMPP occurred back in 1999 after seeing the original Jabber &lt;a href="http://slashdot.org/article.pl?sid=99/01/04/1621211"&gt;announcement&lt;/a&gt; on Slashdot. After finding a workable client, I created an account, signed-in and then – nothing happened. Sadly, I failed to convince any of my friends to try out this new, open instant-messaging system primarily due to the lack of polish the clients had at the time (there's an important lesson to be learned there.) So, after creating another account, I sent a few messages back and forth to myself, got bored and moved on to the next new shiny thing that caught my eye.&lt;br /&gt;&lt;br /&gt;Fast-forward several years and the organization I was working for had decided to start blocking all AOL, MSN and Yahoo! IM traffic at the firewall. My boss, a big user and proponent of IM, tasked me with finding a solution to setup and use internally and suggested I have a look at Jabber. I must admit that I hadn't kept a real close eye on the Jabber community, so I was pleasantly surprised to see how much things had changed since my original foray. Specifically, there were now numerous open-source and commercial server offerings, as well as a large number of clients with much more polish to them. After experimenting with a number of servers and clients, I had decided to go with jabberd when wind of our plans to setup our own IM server reached some of the higher up's in the IT department.  They expressed great "concern" about our plans to provide IM to the employees, especially one that was to use an open-source solution. (These people lived and breath all things Microsoft and were suspicious of anything that did not come from Redmond). Eventually, we were able to make the case for having an IM server but only if we went with a commercial solution. The software we ended up selecting worked and generally needed very little attention, which was fortunate because it was a real pain to administer.&lt;br /&gt;&lt;br /&gt;So, during those first couple of years, we had our own server up and running, Matt &lt;a href="http://mailman.jabber.org/pipermail/jdev/2003-January/014655.html"&gt;announced&lt;/a&gt; the release of &lt;a href="http://www.igniterealtime.org/projects/smack/index.jsp"&gt;Smack&lt;/a&gt;, which I immediately took an interest in and began writing my own Jabber client, Jabber Hound, with it. Sadly, Jabber Hound never reached the point where it was polished enough to be released to the public; however, developing it and working with the Smack API did help me gain a better understanding of Jabber protocol. At this time, I also started contributing to the Smack forums.  Later, Jive Messenger (now Jive Wildfire) was &lt;a href="http://www.jivesoftware.com/jive/thread.jspa?threadID=9005"&gt;released&lt;/a&gt; as a commercial product.  It was so much easier to use and administer that I started using it for my development server (at this time Messenger was licensed so it could be used for free with five or fewer users) and began planning on migrating towards it when our support contract expired with our existing server provider.  After the &lt;a href="http://www.igniterealtime.org/forum/thread.jspa?threadID=13272"&gt;announcement&lt;/a&gt; was made that Messenger was going to open-sourced, I decided to accelerate our migration plans to switch servers even before our existing service contract ran out.&lt;br /&gt;&lt;br /&gt;Almost immediately after the migration to Messenger, users started contacting me asking why they could no longer search for other users on our server. Not surprisingly, my response that our "new and improved" server did not support that feature did not go over too well, so I set about seeing what I could done to add that feature to Messenger. I downloaded the source to Messenger, looked at the &lt;a href="http://www.xmpp.org/extensions/xep-0055.html"&gt;XEP-0055: Jabber Search&lt;/a&gt; specification and began coding up a solution. It took a bit of trial and error but after I finally got everything working, I bundled up the changes and sent them off to Jive. Matt was gracious enough to look at my submission and suggested that a few changes be made, the biggest of which was to make the search service into a plugin to help spur the development of plugins in general. Matt also made some changes to Messenger itself that allowed the search plugin to query the user database directly rather than having it do more of a brute force search through a list of users. After a bit more tweaking, the search plugin was made available along with the release of &lt;a href="http://www.igniterealtime.org/forum/thread.jspa?messageID=95900"&gt;Jive Messenger 2.1.2&lt;/a&gt;. The search plugin has since gone through a number of tweaks and feature enhancements and is now distributed along with Wildfire.&lt;br /&gt;&lt;br /&gt;Since the release of the original search plugin, I've written several &lt;a href="http://www.igniterealtime.org/projects/wildfire/plugins.jsp"&gt;other plugins&lt;/a&gt; which have been donated to the Ignite Community, as well co-founded, &lt;a href="http://www.version2software.com"&gt;Version 2 Software&lt;/a&gt;, which has developed a number of Wildfire (and Spark) plugins for clients.&lt;br /&gt;&lt;br /&gt;Why did I just tell you all this? Well, I always enjoy hearing how developers became involved with various projects so I'd thought I'd share how I became involved with the &lt;a href="http://www.igniterealtime.org/index.jsp"&gt;Ignite Realtime community&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-Ryan</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/5841222059292318921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=5841222059292318921' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/5841222059292318921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/5841222059292318921'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/01/ignite-history.html' title='Ignite History'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-6727185413953610394</id><published>2007-01-03T11:13:00.000-07:00</published><updated>2007-02-16T11:12:52.148-07:00</updated><title type='text'>Two Blizzards and Practical Common Lisp</title><content type='html'>I first used LISP twenty years ago, but I didn’t have enough language theory to appreciate it or understand it. The next time I encountered LISP was in a Theory of Programming Languages class at NSU. There’s something very pure about LISP’s foundation on lambda calculus as a means of studying the nature of mathematical functions.&lt;br /&gt;&lt;br /&gt;A few weeks ago I decided to start learning Emacs so that I could standardize on one editor (for non-IDE occasions) that I could use on Windows, Mac, and Linux since I seem to wander between them on a regular basis. The interest in Emacs and being snowed in by two back-to-back blizzards rekindled my interest in LISP. To make a long story short, I stumbled upon a book that explains LISP in a way that mere mortals can understand. The book is &lt;b&gt;Practical Common Lisp&lt;/b&gt; by Peter Seibel. It is available in print at Apress and Amazon as well as available online for free at &lt;a href="http://www.gigamonkeys.com/book/"&gt;http://www.gigamonkeys.com/book/&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The example from the book where it all clicked for me was the development of a unit test framework in twenty-six lines of code. If an author can make me understand the power of LISP macros then he deserves to sell me a book.&lt;br /&gt;&lt;br /&gt;If you are into language theory, LISP will help give you a healthier perspective on the language you are currently using. Why is dynamic typing important? What is the benefit of treating functions as first-class data types? How does the LISP macro facility enable you to extend the actual syntax of the language without waiting for a committee vote and a major version release? Not bad for a language that started in 1956.&lt;br /&gt;&lt;br /&gt;Hope you enjoy the book,&lt;br /&gt;Larry</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/6727185413953610394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=6727185413953610394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/6727185413953610394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/6727185413953610394'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/01/two-blizzards-and-practical-common-lisp.html' title='Two Blizzards and Practical Common Lisp'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-7876822178046334437</id><published>2006-12-14T16:01:00.000-07:00</published><updated>2007-02-16T11:13:33.749-07:00</updated><title type='text'>My Mac Tools</title><content type='html'>As a long time Mac user (sufferer?) one thing that continues to amaze me whenever I go to a tech conference is how many people are using Apple's PowerBook/MacBooks as their primary development machine. I love seeing all those shiny aluminum machines with their glowing upside-down Apple logos both out in the audience and up on stage (&lt;a href="http://www.flickr.com/photos/pragdave/299595700/"&gt;Here's&lt;/a&gt; a great shot from one recent conference I attended.) One of the fun things to do at these conferences is to see what tools and utilities people are using. Below is a list (in no particular order) of what I always install when first starting out: &lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://iterm.sourceforge.net/"&gt;iTerm&lt;/a&gt; - a replacement for Terminal.app that has a tabbed interface and bookmarks.&lt;br /&gt;&lt;li&gt;&lt;a href="http://quicksilver.blacktree.com/"&gt;QuickSiliver&lt;/a&gt; - sort of like Spotlight on steroids.&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.eclipse.org"&gt;Eclipse&lt;/a&gt; - my Java editor of choice.&lt;br /&gt;&lt;li&gt;&lt;a href="http://macromates.com"&gt;TextMate&lt;/a&gt; - an excellent all around text editor and the dominant editor when doing Ruby development on the Mac.&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.smartcvs.com/smartcvs/index.jsp"&gt;Smart CVS&lt;/a&gt; and &lt;a href="http://www.smartcvs.com/smartsvn/index.jsp"&gt;Smart SVN&lt;/a&gt; - two Java based version control clients.&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.mozilla.com"&gt;Firefox&lt;/a&gt; - I typically use Safari but you can't go wrong with this browser on any platform.&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.igniterealtime.org/projects/spark/index.jsp"&gt;Spark&lt;/a&gt; - for my XMPP/Jabber IMing needs.&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.adiumx.com/"&gt;Adium&lt;/a&gt; - for my AOL, MSN, Yahoo! IMing needs.&lt;br /&gt;&lt;li&gt;&lt;a href="http://developer.apple.com/tools/download/"&gt;Xcode&lt;/a&gt; - a quick and easy way to get a bunch of development tools, such as GCC installed&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.parallels.com/en/products/desktop/"&gt;Parallels Desktop&lt;/a&gt; - an invaluable application that allows you to run MS Windows (or any other x86 based OS) on an Intel based Mac without having to reboot.&lt;br /&gt;&lt;br /&gt;As I think of any other applications that I've managed to over look or discover any new ones I'll be sure to add them to this list.&lt;br /&gt;&lt;br /&gt;-Ryan</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/7876822178046334437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=7876822178046334437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/7876822178046334437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/7876822178046334437'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2007/12/my-mac-tools.html' title='My Mac Tools'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-99407871110147588.post-7443540282593931406</id><published>2006-12-05T15:00:00.000-07:00</published><updated>2007-02-16T11:13:54.655-07:00</updated><title type='text'>Ignite Realtime is Lit</title><content type='html'>It's great to see that &lt;a href="http://www.igniterealtime.org/"&gt;Ignite Realtime&lt;/a&gt; is officially up a running, and of course to see Version 2 listed on the &lt;a href="http://www.igniterealtime.org/support/service_providers.jsp"&gt;Service Providers&lt;/a&gt; page. The big decision now is do I buy an Ignite t-shirt and mug or just the mug. :)&lt;br /&gt;&lt;br /&gt;-Ryan</content><link rel='replies' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/7443540282593931406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://www.blogger.com/comment.g?blogID=99407871110147588&amp;postID=7443540282593931406' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/7443540282593931406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/99407871110147588/posts/default/7443540282593931406'/><link rel='alternate' type='text/html' href='http://www.version2software.com/blog/2006/12/ignite-realtime-is-lit.html' title='Ignite Realtime is Lit'/><author><name>Ryan</name><uri>http://www.blogger.com/profile/10495007121123359011</uri><email>noreply@blogger.com</email></author><thr:total xmlns:thr='http://purl.org/syndication/thread/1.0'>0</thr:total></entry></feed>