Archive for June, 2010

A private note.

—–BEGIN PGP MESSAGE—–
Version: GnuPG v1.4.9 (GNU/Linux)

hQIOA3ujy4lazVoxEAf/URCI/WWJJryCSsObVaOQCoOjnfDytN//MwF/4RdQsDVm
kWzBBaDMI5P0t6LgDBTQ96H2ez3jS/GJP7YV9Hsnsg9o0vdXWOTnGi0/XRj5YH+y
MvQvnD40xt6EIrtewZUGE/tuIqUrq+4bmDRcjjqfWi7h06ORVfQMbinHstQaJdgW
uir+7wIjtQZ6dyy4ZkUX7WfgQQeNk9WTry0aFvmP80Q+7f9XvOtbtM/Af0JEAwbP
IPtmnGKQz9n4v64I5lVwinji4CKeVIll4cCsRbqkRVLxZG6Iyx8xAwF5RC8mCHmi
0anXq+JCbECJSdr6IxbqCV7188KWAjdSQ6KhE/F6+Af+PYTfxPKW9Bvn1aEwh/Ng
ezLHDanQXQkqnQA0wHT2kvEmCCt2N6DI6+cOqz/rNzPiZ5rWnyYX0rVNO5lBIGeD
IxZsXm98HNE0xc0zgh/E3P+wP8WVdImE3yki4IMqA+hlbhfv8P4dtavIVLED+Xtp
BaIShiln3B7hM1dX+U8vAVvHHBob/QYsorKw99RW17QtxBKeKrYPJkiogYf3tK2b
z2SOcx3HI9Ly1+HLgv9w8dgU4hXCUiz6c6unyqEWCL+FGHd5XwaP4KX26CHMIgYH
l1qJmfAP6N1ejJxGtuffgV03c3Zl44H47DihUpGQZgm7NExhuXpsZwZgnFkUqZo8
btLpAUGum8L7vJFuP/W3DkYl81fARLAVUf0AYCGZQ4sw1e8pgTCd2y9XFl8hlRQd
WrjMeXJWjWrEcZlMfBDds2aO9Ndg8KptOY5ty4j6qOxK0sdUyKJqddx35TgZH+oQ
1w1GfrpCIt5mNSy4LR+KMxhQATm6TkuvHspdcbknxlegerL4hDwdiGpKLILpMaez
ayhcoUYm3IHzw87GMCHHmTPPj7NDh6G7A8q869WQ+P3sSkhNmnOo9hg0c+CDQRhm
WJOvZBMBEK8LfihfpJtHPo14XtGRbxPjfyAJZzBVEmZsxhuwcZCu5jPUbhNmZM0A
7c7y4oaWDCC7HvhdkhIdNXfvjfthdCuuHSC+xnpSsz7dZq5ezF+tETrRMcuUI1aI
iVjskyCkJuQeGgMkSbTiJ28MJvTlz8nAnAuUTzEGZSRtcQP9HuyWKja4wGIQ3QsT
iY2PSV/E/BNGzJba4KRBU5y5nFpMBzIwrPEvVs63Ts33n61mkzqF3MXH3pf2j94o
si0Wcb2UuD+gtZ4C+Snwv7Na82OUq75fm81klG8quQ6Ui8x77N1SBQOo/VpXcIsG
2noYaJoqlaBUXaLxy+gMA6ibfXRbIwWi9LHYfl+0H+VtmERbtPdTh9zSLVwjEp3c
Q2CeaXRfNI0KkIVKJV3VTarc7FNPDG3LZbwZm9cuptx4l2OQXfc8yZ9zBlpnxSBC
CefFz/9jFUg+3n3flMnEMctaoVMtFdnmu9Rvxg1zlwq5iUWIC6Aw+k76HsdlEBb/
1mJVP4kDGsCDhqZl1I4ZYErZFojpROhoaRaWS8NuGIJXIl0brMwU8Gu8DtS4RSsM
0w420iVOkl0MPFP4oSE8UtOxH3QdoN2xD/TphCZvp7M/2tqu
=qm9y
—–END PGP MESSAGE—–

AjaxChat Fork, Sort of.

Well, all this work on the AjaxChat plug-in got me to thinking about a project, I’ve long wanted to try, but never had the skills to complete. I think I’ll now be able to get it done rather handily. I’m talking about an Ajax IRC client. Now, of course, Mibbit has already done this, but I’ve had the idea long before they ever implemented it. Kudos to them for getting it out before I could, but I’m going to try and do it anyway. Maybe just as an exercise in futility. ;) There is one thing different about what I’m trying to do. I believe, Mibbit has implemented their back end as well as front-end in PHP. I’m using PHP for my web interface, but the daemon handling the network connections is written in C. As of right now, I’m using a UNIX domain socket for data coming from the web interface to be sent straight to the IRC server. For data waiting to be read by the web interface, I couldn’t use sockets as that would require a continuously running php script to stay connected and not miss any data sent by the IRC server. To solve this, I ended up going with memcached to implement a sort of simple message queue. Messages from the IRC server to a specific client get queued up in the memory of the memcached daemon and then are retrieved and cleared periodically by the web interface. Also, as of right now, the intention is to implement pretty much the entire client in the browser with JavaScript. All that the C daemon and PHP will handle, will be the network connectivity. My plan on this is to keep server resource utilization as slim as possible, let the client’s processor handle client stuff. Anywho, I have been and will continue to be developing on http://obfuskate.com. Feel free to swing by and give it a test run. If you don’t know any IRC servers, just use the default (irc.paydensutherland.com) and type /join #chat when you’re connected. Bear in mind, this is very early in development. Until later. 43:61:69:6f:2e:20:2d:2d:4f:62:66:75:73:6b:61:74:65

AjaxChat speed still an issue

Well, from some of the feedback I’ve been receiving, speed is still an issue for the AjaxChat WordPress plug-in. So, for the next version released (v0.4), most of my energy will go into streamlining AjaxChat to make it as quick as possible. I’m sure it still won’t satisfy everyone, because, in order to carry on a live chat in a web browser, the javascript has to make calls to the server to see if there are any new messages, and if any exist, download them. I believe the slowest part of the process right now, is loading the WordPress files every time we check for new messages. Unfortunately, there is no way (that I know of) to load only the WordPress files we absolutely need. This leaves me with one option really. To redesign the plug-in without loading *any* WordPress includes. Which really shouldn’t be that big of a deal. When I began, for the sake of ease, I included the wpdb includes allowing me to use the wpdb::query function for my calls to the database. To be quite honest, I’d much rather write the thing in C when going for speed, but unfortunately, it would no longer be a “plug-in” as you would have to do some server side customizations to run CGI scripts. Anyways, I’m rambling. All I’m really trying to say is, look for version 0.4 to be faster. :) Caio.


Side project

Well, I’ve been conspicuously absent the past week or so… This is because I’ve been doing a little freelance work for someone. I haven’t forgotten about the AjaxChat plug-in and intend to resume work on it whenever I can devote a good portion of my attention to it again. I have some new features in mind for it, as well as some streamlining/bugfixing to do. Look for version 0.4 in the coming weeks. Cheers.

AjaxChat efficiency

Well, today, I think I am going to do some extensive work on utilizing bandwidth in the most efficient manor. Right now, the ajaxchat plug-in reloads all the data you see in your messages window every second which is horribly inefficient. The previous version was more a proof of concept. Now, that I have most of the general idea down, I want to make it more efficient by only fetching new messages and adding them to the div. This will also enable me to tag an event when new messages are received and display notifications, either audio or visual. The next version will be 0.3, and it will include some new features. Notifications, an option to force users to be logged in to chat, and more efficient bandwidth usage. Be on the look out for v0.3 in the next couple of days. Thanks.

Issues with AjaxChat

Several people have had trouble installing the AjaxChat plug-in.  This is most likely due to my ignorance in portability with WordPress plug-ins.  I will be working on it all day today, trying to work out all the bugs.  So, if you have tried to install the plug-in and it does not work on your site, I’m sorry, you’ll have to check back soon.  Keep trying to install it with the latest zip from http://wordpress.org/extend/plugins/ajaxchat. To help me out, you can post the exact error message you’re getting and the version of WordPress as a comment to this post.

 
Ubiety v0.0.1
Chat ()