What is Megaphone?

What is Megaphone?
The Megaphone project is about enhancing open source chat software. Specifically, the goal is to allow ejabberd to support 1,000,000 simultaneous users. See The Plan page for more details on how I plan to solve this problem. See the About this Blog page for more details on why I created this blog.

Saturday, December 17, 2011

Onwards!

Previously, I resolved to move ahead with the "ECM" approach to dealing with TCP connections.  This involves using an external connection manager (ECM) to handle TCP connections and HTTP requests.  ECM is coded in nodejs but does not make use of NXB.

I am currently coding up ECM --- preliminary testing indicates that this approach can work, the question is will it work in practice.

Now that I have expressed my whole frustration/impatience with using someone else's code, I get to deal with the apprehension of creating my own: what if it doesn't work?  If this ends up taking longer than it would have by using NXB, then wont I feel stupid.  There is no easy way to gauge how much more time it would have taken to use NXB instead of creating my own approach, and that assumes that it was even possible.

The problem with NXB was that I wanted to use Pidgin to test the whole thing, and NXB does not play well with Pidgin.  I don't know whose fault this is, and I don't really care, but trying to modify NXB to work with Pidgin proved very problematic.  If I wanted to use NXB, it would first getting it to work with Pidgin, then trying to get it to work with the changes that I needed to make with it to get megaphone up and running.

This blithely assumes that Pidgin will not give ECM grief.  There are good reasons to believe that this wont happen, but the real fun always happens when you try to make the theoretical stuff actually work.

Stay tuned readers (hi Mom!).

No comments:

Post a Comment