This is my personal blog. The views expressed on these pages are mine alone and not those of my employer.

Monday, September 15, 2003

My take on Skype, the new P2P VoIP app from the creators of Kazaa, is that it is using P2P technologies for the "white pages" portion of the VoIP network, not just in peers communicating directly. Super-peers store portions of these white-pages. Just as super-peers in Kazaa store indexes to music files stored on other peer machines, these super-peers store indexes to the phone numbers of other peers. They aren't clear if they are using this approach, but it's my take when they say "the network works just like Kazaa". This is also an unsecure approach, which is probably why they aren't publicizing it in detail. These super-peers could "lie" and reroute calls to the wrong peer, just as super-peers in Kazaa can "lie" about what music files are stored where. When you tell the system to find the phone number for 510-938-2222, it probably actually initiates a "search" on the network of super-peers to resolve to the actual peer that has this number, just as it would "search" for madonna.mp3.

This is an important approach, by the way, because if we don't need to maintain massive white pages servers then we can significantly reduce the capital needed to build such a network. In fact, we can reduce it down to such a marginal cost that businesses aren't needed to build these networks at all. The network, including the white pages, self-organizes out of the peers themselves. This network can then be used to build VoIP apps, virtual hard-drives, etc. I have been working on an open-source project named P2P Sockets that is attempting to achieve this; check it out at p2psockets.jxta.org. One significant issue that needs to be solved before this approach is tenable is that these white pages need to be secure even though they are also decentralized and human-friendly.


I need to read this, it looks interesting: The Right to be Lazy. Written by Paul Lafargue from Saint PĂ©lagie Prison in 1883.

Interesting post on Slashdot that made me think. A short excerpt:

"At the turn of the last century people imagined a time when everyone would live in luxury and not have to work. Machines would be able to do the work, and the majority of people could just relax and have a good time. The idea is even more possible today - we can create machines to do most jobs these days, and we should all be living in a work-free time of abundancy. So why aren't we? The simple answer is that our economic system won't allow it - in our system, in order to be able to have stuff, you need money, and to get money you have to work. They crazyness of this situation is highlighted by the fact that periods of adundance now actually cause recession - things become "too cheap", defalation occurs, people can't make money, everybody looses when things are plentiful."


I've been playing around with the Gecko ActiveX
control
. Check out this screenshot I made of Gecko
being embedded into Internet Explorer showing a remote
XUL user-interface (the XUL Channels RSS Reader).
Things work well, and it is fast. Not sure of the
memory usage; I see something named 'svchost' in my
Windows Task Manager, which I imagine is the Gecko
ActiveX control running out-of-process at about 15
megabytes. Thats a wild guess though. The speed is
great, popup windows don't work.

Most people don't know that this control is now bundled with Mozilla and FireBird; all you need to do is to register the control. Drop down to a shell, change to your Mozilla bin directory, and type the following:

regsvr32 mozctlx.dll

Make sure you typed mozctlx.dll and not mozctl.dll, since both of those files exist. Now open Internet Explorer; you'll need to configure Internet Explorer so that it will run unsigned ActiveX controls (The Gecko ActiveX control is unsigned; we should start signing this with a key). After doing so, go to this page to have the Gecko control be embedded into IE. You can then navigate over to a XUL app, which is what I did. You could also simply create your own HTML that uses the object tag to refer to the Gecko control:


<object
classid="clsid:1339B54C-3453-11D2-93B9-000000000000"
id="Browser1"
data="DATA:application/x-oleobject;BASE64,TLU5E1M00hGTuQAAAAAAAAADAADhOQAA3xoAAA=="
width="560" height="260">
</object>


Now you can simply script this control using Internet Explorer JavaScript within your HTML page:

Browser1.Navigate(url);
Browser1.GoBack();
Browser1.GoForward();


To have it run your XUL application, make sure the width and height attributes are correct. Then, after the document has loaded (set a onload event handler), call Browser1.Navigate(url_to_your_XUL_app).

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]