Programming Jabber
Jabber was first conceived by Jeremie Miller (pic) in early 1998 in an effort to unify the disparate instant messaging networks. Instant Messaging networks rely on the network effect to gain and retain marketshare. The concept is the same when applied to any sort of participatory network whether it's a junk exchange, or content exchange, the value of the network increases with the square of the number of participants.
If this is true, then doesn't it follow that it is in the best interests of the IM networks to establish peering agreements with each other so that their users can directly contact users on other networks without having to install each client?
Hello, Jabber.
When I first picked up this book, I expected to understand the Jabber protocol in sufficient depth to implement my own IM client. Instead, the approach this book takes is that Jabber isn't just an XML-based protocol strictly for IM, rather it is a general purpose event notification protocol that has some very nice message routing and user management features built into it. While i was reading about the messages that Jabber has defined as part of the protocol, I could easily see other applications/devices generating Jabber messages to notify subscribers (either other systems, or people) of events.
Part 1 of the book focuses on getting you up to speed on the basics of Jabber technology: motivation, major features, XML protocol sample and compiling/configuring your own Jabber server. Chapter 2 presents the "10,000 foot view" of Jabber technology. In here you will find a sample client-query request/response flow with full HTTP headers, discussed step by step. The next two chapters are a very in-depth discussion of installing and configuring your own Jabber server. When you dive into a custom configuration of a fleet of Jabber servers (a "constellation" in Jabber terminology), it really starts to hit home that the real problem Jabber solves is far deeper than just IM.
From there, part 2 kicks off with a detailed discussion of the most basic building blocks of Jabber technology: resource identifiers, XML handling mechanism and the set of XML elements/attributes that make up the vocabulary of the Jabber protocol. Each element/attribute is presented with an annotated example and sample client/server interactions where appropriate. Examples can make or break a technical book, and these examples do a good job of illustrating how the element/attribute is used.
The following chapters take you through using standard Jabber features, user registration/authorization, messages, presence, groupchat, components and the event model to enable new applications. One very interesting application presented is enabling developers to receive CVS commit notifications via Jabber.
What's Bad?I know the /. community is suspicious of glowing book reviews where everything is wonderful and nothing could be done to improve the book, so I'll nitpick. My major problem with this book is that the overwhelming majority of the sample applications are written in PERL/TK. This isn't a problem in and of itself, but I'm not a PERL/TK developer. If I build a Jabber solution, it will be in java, so PERL/TK samples don't do me a lot of good. I think equal time should be given to implementing Jabber using the two most-used languages, as defined by the number and activity of open source projects using Jabber technology.
What's Good?This book covers everything relevant to Jabber technology, from lowest level inner workings and extensibility examples for developers to configuration and deployment for admins. Most of the book is spent looking directly at the Jabber XML protocol, instead of a specific API implementation. This way, the book covers the technology and doesn't get lost in how one particular API models the protocol.
So What's In It For Me?If you want to implement an inside-the-firewall IM solution for your company/group/tribe or investigate integrating event notification into an application, this is a great starting point. If you're just curious about Jabber and want to know how it works, then this will give you enough information to get you hooked.
Table of ContentsPART 1: Getting Started with Jabber
- Chapter 1. Introducing Jabber
- Chapter 2. Inside Jabber
- Chapter 3. Installing the Jabber Server
- Chapter 4. Server Architecture and Configuration
PART 2: Putting Jabber's Concepts to Work
- Chapter 5. Jabber Technology Basics
- Chapter 6. Jabber Namespaces
- Chapter 7. User Registration and Authorization
- Chapter 8. Using Messages and Presence
- Chapter 9. Groupchat, Components, and Event Models
- Chapter 10. Pointers for Further Development
Appendix A. The Jabber.xml Contents
Appendix B. The IQRPC Classes for JabberRPCResponder
Index
O'Reilly has posted other reviews of the book on their site. You can purchase Programming Jabber from bn.com. Want to see your own review here? Just read the book review guidelines, then use Slashdot's handy submission form.
Sounds interesting as I've been hacking Konverse with a view to joining the official development team. Is this a book worth my reading?
machines and programs can use a general purpose communication system like this, with no human middleman required.
This is on of the hottest topic for the near-future computing world.
Anyway the SOAP (+WSDL+UDDI, ie: the Web Services) initiative seems much closer to be the real mover in this environment.
Interesting (but not suprisingly), XML is the basic enabling technology for all these efforts.
667 The Neighbour of the Beast
I got really excited about Jabber for the longest time. I'm sort of disappointed in it now, since it seems like they're still having problems connecting to AIM and ICQ. The AIM connection is the most vital for me, since our department uses AIM to send short quick messages to each other. Most of the people here are using AIM's own client, but I started to use Jabber so that I could talk to my friends on ICQ. (And promptly signed up for MSN and Yahoo, so I could catch everyone from everywhere.) Now I use Trillian, which only disappoints me by neither providing source code (which I only want for the principle of it) nor supporting Jabber itself (which does kind of bug me).
While on the topic of Jabber. Why not have the sendmail folks and the jabber folks get togethor and unite their work into a single project. Complete with admin tools so that once someone has a sendmail account on a Unix, they by default have a jabber IM account. It would go a long ways towards taking down AIM, MSN, and ICQ.
I think this review says it all: "Quite simply, Programming Jabber rocks! When reviewing the book, I often found myself reading along, having a good time and getting excited about Jabber instead of looking to see if something was wrong or missing." --Jeremie Miller, Founder and Lead Developer of Jabber
I've set up a Jabber box (an early 1.x release) and played about with it, and it was a *very* good experience. Everything worked as advertised. On the other hand, setting up Jabber with SSL was a confusing process without too much documentation and I eventually gave up. Since SSL is a must for `serious' Jabber use, has there been some progress made on making secure Jabber installations easy to achieve?
Are their any pre-built clinet all ready out thier? Please don't tell me to wirte my own, cos i have an amazing ability to:
1- fail to get the fundimental concepts (of anything)
2- write hooj crappy code that just loops and burns
3- I have been diagnosed as having an attention span of a small nat.
oh and i would use google to look for some but my companys web access is going a bit screwy at the moment and google has dissapered...
Burt "Out of my mind back in 5 minutes"
I experienced some problems when trying to go to the sample chapter 5 of the book. the server gave me a 404 and I did a quick search for the page and had no problems opening it with another link, but at exactly the same address. Maybe the admins check my webbrowsers vars and check if I came from slashdot. For me it works to just copy the adress into another browser window: [www.oreilly.com/catalog/jabber/chapter/ch05.html]
I hope I could help
I read this book looking to use jabber for automated XML messaging and I'll have to say, it has a lot of nifty features that I'd love to use. Unfortunately, it's never getting deployed in my network. Why?
You can't cluster jabber servers. If the main jabber server goes down, you're hosed. In any application that's worth the effort to deploy, having such a single point of failure is a big problem. Additionally, I was kinda annoyed at how jabber leans so much towards instant messaging. I know, I know, that's what it was built for, but this book is trying to pass it off as an "XML messaging" tool, but it's properties often sway back to IM.
In conclusion, if you wanna fool around with a nifty IM robot that doesn't need to be relied on, jabber is a nifty tool. If you wanna do real XML messaging, try something like xmlblaster.
One thing that confuses me about Jabber is that
people seem to forget that good old SMTP solves many of the same problems, and in fact solves them better.
For example, many years of work have gone into making sure that email never gets lost. SMTP mailers just don't lose email anymore. Jabber messages, on the other hand, are not really reliable. If the user to whom you are targeting a message is not online, the server may queue the messages, but the policy is not clear as to how long they will be stored, or if the server is rquired to store them at all.
This makes me worry about the idea of using Jabber to build infrastructure where you
rely on messages to always be delivered.
It seems to me that many of the issues that Jabber
solves have been solved using existing
technology such as SMTP, and mailer and mailing list services built on top of it, like qmail, mailman, etc.
I've played around with the jabber module in Perl, which was pretty easy to use.
Jabber started to disappoint when they stopped supporting AIM/ICQ. I don't know if it's permanent, I don't actually know if it's still not supported. But, since AIM is what I have to use for work (otherwise, I would still just be using ICQ to talk to my friends), I needed something that could stay connected.
I use Trillian now. It still does ICQ/AIM as well as IRC/MSN/Y!, which is why I need something like this, but it doesn't provide source code (which I only really want for the principle of it) and it doesn't support Jabber's protocol. (They're talking about releasing an API for writing plugins. At least it's free (as in beer). (I've got a few of my coworkers switched from AIM to Trillian...) Hopefully Jabber will fix up the connectivity issues (or have ALREADY fixed them up.) gosh, I should download WinJab again and check.
...since this has been the general philosophy of Outlook for years now. This of course has also been the largest single security hole for years now too!
I think I still like being the human middleman, thank you very much!
the above is my personal opinion and does not necessarily reflect that of the little voices in my head
Where does this intuitively-obvious statement come from? How do we know that it's squared? I believe that it's true in general: that value increases geometrically as N increases. Who has run the numbers on this phenomenon, and where can we go to find descriptions of epiphenomena related to it?
If this is true, then doesn't it follow that it is in the best interests of the IM networks to establish peering agreements with each other so that their users can directly contact users on other networks without having to install each client?
It seems that when people are investing resources (money, effort and time), it's seeing the actual numbers that will convince them. Anybody got references at hand?
Think, write, think, edit, think...then post.
I have a lot fo friends on different IM systems. Mostly it's AIM, but some on ICQ, Yahoo, and MSN. I use gabber as my primary linux IM client, and myJabber for windows.
Probably the best thing about gabber and myJabber is that they offer encryption. Both can connect to servers using SSL encryption, and gabber has the added bonus of being able to use GPG keys for one to one chats to particular users. This gives me a warm squishy feeling as I communicate over networks that I _know_ are being monitored. The SSL is very nice, because at least I know my communication between the server and myself is at least not totally trivial to break (yes, I know about ettercap). This appears to even affect my aim traffic, as the AIM transport on the server does the actual relaying of messages.
Jabber has a billion other things in it. You should really give it a shot.
-- Who is the bigger fool? The fool or the fool who follows him? --
The problems with proprietary IM networks come, precisely, from those networks' desire to remain proprietary. Witness the self-blocking efforts AOL, Microsoft, Yahoo and ICQ perform on each other, which, inevitably, hit free clients designed to connect to those networks. Jabber's transports are no exception; if AOL decides to block MSN Messenger by altering its protocol, we're gonna get hit too.
Jabber's ability to access other IM networks is to be seen as a "bonus feature", probably not the main reason to use Jabber. Jabber excels at letting an organization (not necessarily a company, but a group of individuals and/or machines) in need of communication, do just that, communicate, using well-documented protocols, Free software, and self-maintained infrastructure. Granted, maintaining a Jabber server is not too easy (but it's not impossible either), but the knowledge that you're not subject to the whims of AOL, Microsoft and whatnot, plus the sheer number of client software available to suit every user's needs (there's TONS of Jabber clients, I settled for Shaolo on Linux and JIM on Windows) make Jabber an intriguing option for those in need of serious communication.
I'm serious. IBM spent a ton of money building MQ-Series, which is a hideously complex messaging protocol for inter-and-intra systems communications in and between mainframe subsystems/LPARs and Unix systems (AIX mostly, since this is IBM, after all).
MQ-Series really is complicated, maybe over-complicated, to the point that IBM and customers even have "MQ-Series Specialists" on staff.
I'm not flaming IBM here (h*ll, I used to work for them, and they're a great company to work with), but they do have an unfortunate tendency to build overly complex systems where simpler ones might be a lot easier to use.
I've recently been involved in at least two large-scale projects involving developers in three countries, US, Singapore and India. The timescales were very small; we had to implement one of the systems within 48 hours. A huge coding effort it was, with rapid real-time changes to design specs.
/.-ter after all), I just can't de-emphasise how critical MSN Messenger was during development.
As much as I hate M$ (hey, I AM a
Only one problem though:- you'll need intense amounts of concentration to ignore junk messages from friends.
This is one place I'd focus on. You know, perhaps an avatar sort of thing; in your programming (work) avatar, you are online to only a certain people. In your chillout avatar, you are online to everyone. The programming avatar also could have an auto-message feature:- perhaps one that delivers a message to the tester once you finish coding a class or something.
Any open source Jabber-related projects out there working on this?
Problem Number One: The server sucks. Once you start using jabber, you get the joy of watching your client disconnect for no apparent reason, quite regularly.
Problem Number Two: The gateways suck. Jabber has a cool concept where it can provide a gateway to other instant messengers, such as AIM. They crash. A lot. Additionally, you'll find that the jabber gateways can't block senders, so remember that psychopath who is suing the company and you don't want to even know if he's trying to contact you? Too fucking bad, suddenly his messages pop right up.
Problem Number Three: The client sucks. First of all, it crashes (have you noticed a pattern here, yet?), and secondly it has a terrible concept of what should happen to window focus when an incoming message arrives.
Problem Number Four: It's not neccessary. Everybody already has a desk phone, a cell phone and email. Many people also have pagers, wireless email and such. The problem isn't a lack of methods with which to communicate. Adding jabber will not make your company more competitive, reduce costs, improve communication or improve morale.
The moral of the story? Shoot anybody who uses jabber, and you'll save yourself a lot of trouble in the long run.
There was a "jabber as middleware" (JAM) intiative going on last year. Not sure if it's still active. My understanding is that it intended to morph jabber into a middleware message router which would have connectivity to the desktop.
What's always confused me about this approach is that there are already plenty of messaging systems out there. It might make more sense to shim a Jabber protocol adapter in front of an existing JMS implementation.
---Your karma ran over my dogma
There's a lot of discussion about how Jabber hackers stopped working toward AIM integration.
The problem as I see it is that when most developers of these alternative IM clients try to hook into AOL's chat network, they do so the wrong way. AOL has a public protocol, and a private protocal; so, unless you want to worry about spending an hour or two every night working around the latest block that AOL institutes against your illegal hook into their private network, just use the public one that's documented and encouraged by the AOL folks.
So, Jabber people -- get AIM integration working via their public network rather than just dumping the whole thing because you can't hack their private area. The only downside is that users can't view others' away messages, which isn't really that big of a deal (if they're there, you can talk; if not, you'll see they're away but not necessarily why they're AFK).
I say this only because many of the comments so far are along the lines of "I used to use Jabber until AIM stopped working...". I for one would like to use Jabber as well and encourage them to rethink their approach to TOC and OSCAR.
An All-Linux Think Tank > Lycoris Review Part 1 of 2 Is Now Available
Jabber, AIM, MSN, and others use TCP. In fact, the only client I know of that ever used UDP was ICQ, but that was an older protocol that is no longer being used.
Jabber's open source and will be around for the next few decades. Trillian is closed source and could easily be gone if the company goes heels up.
I recommend embracing Jabber for its openness, as well as the fact that it's just getting into the IM game.
Visitors to the website slashdot.org will by now have surely heard of the act of Moderation. This is where a contributor's post can be 'Moderated' either positively or negatively, depending on how the Moderator perceives the value of the post. There is a sliding scale of total moderation points, from -1 to 5, along with snappy summaries of the reason for moderation, such as "Funny", "Insightful", or the ever popular "Troll". An additional benefit offered to Moderators is the ability to ban a poster from contributing, by negatively moderating enough of his postings in a 24 hour period.
In order to retain some level of fairness for the Slashdot population, the Slashdot Editors (adopting the role of 'Benevolent Dictators') have implemented a scheme whereby regular users of Slashdot, chosen essentially at random, are given the ability to act as Moderators.
This underlines an inherent flaw in the system. Psychological studies have shown that in any community, no matter how small, should a random sampling of people be given the slightest grasp of power, they will immediately abuse it. There is a primal, evolutionary desire in Man to place himself higher than his peers by whatever measurement they can muster. Slashdot Moderation provides the ideal means for which a man can prove himself more equal than others.
At the risk of invoking Godwin's Law at such an early point in my thesis, I have no choice but to compare Slashdot Moderation to the systematic genocide of the Jewish community in 1930's Germany.
A bold statement, I admit, and deliberately designed to shock, but I feel the statement is necessary. I shall now offer a more rational explanation, as well as a comparison of the parallels between Slashdot Culture, and the National Socialist regime.
First, some history. National Socialism did not spring up overnight. It grew from a feeling of national bitterness and resentment at the war reparations Germany was forced to make after World War One. Germany was a broken country, populated by desperate starving people. And to the desperate, an extreme ideology begins to seem like a rational choice.
The advent of new technology forces a paradigm shift in the way the beholders of that technology think. The Christianity Meme was made wide spread by the invention of the Gutenberg press. And the rise of National Socialism was made popular because of the invention of Cinema. Here we had a new means to control the flow of information to the populace, that they are willing to unquestioningly listen to due to the 'novelty factor' of moving pictures. It is no coincidence that some of the best Cinematography of the early 20th Century came out of the National Socialist propaganda machine.
Why is this the case? It is yet another fault of man that a new means of distributing memes is perceived, due to the 'newness' of the medium, to have a greater 'validity' than older media. Those harnessing new inventions have the power to win control of the hearts and minds of others.
With the tools in place, who should the National Socialists target? Clearly, as a counterpoint to Man's desire to hold power over others, there is also a desire to resent the success of others. If someone is successful, they reduce the self-worth of their beholders. Although times were harsh in Germany in the prelude to World War II, there were still successful inhabitants of that country. Possessing shrewd business acumen as well as the contacts in other countries needed to maintain support in such a poverty stricken and broken land, who else should deserve the wrath of the populace more than the Jews?
Fast-forward to the latter quarter of the 20th Century. Computing technology is focused in niche markets, and limited to big successful companies like IBM and Microsoft. As the markets were limited, there were also limited opportunities for employment. This gave rise to a rising number of college dropouts, seething with resentment and unable to relate to society beyond the staccato clatter of keyboards and the pallid green glow of an 80x24 text display, and lacking the basic business skills (and a smart suit) needed to secure employment at one of these companies.
At this time, a new invention was beginning to take hold in College campuses throughout the world. The Internet. As with the Gutenberg press and Cinema beforehand, this new technology would grow to spread one of the most virulent memes of the modern age - Open Source Software, created as the antithesis of successful business practise.
So, the parallels between the birth of Anti-Semetic National Socialism and the birth of Open Source Software have been made. Of course, it is easy to claim that A=B without providing further logical evidence in support. So, the next task of my thesis is to provide further parallels, and bring this discourse back to the initial focus on Slashdot Moderation.
Slashdot was conceived, in it's original 'Chips 'n' Dips' incarnation, as a vehemently anti-corporate Open Source website. Roughly 10-15 years down the line from the birth of Open Source, it has become saturated with propaganda, and now forms the centrepiece of the Open Source Development Network. An authority in it's field, Slashdot's success is in no small part due to the ability of the editors to 'pick and choose' valid news articles submitted by users, and present the same old tired "Open Source Good / Closed Source Bad" rhetoric time and time again, dabbling with anti-copyright and the right of the 'common man' to remove an artist's ability to gain compensation for the work. In essence, this is similar to the 'paring down' of artistic worth in 1930's Germany. If no-one is willing to contribute valid and vibrant art to the community, then all art shall become harsh and functional, possessing a certain intimidating aesthetic.
Which leads onto Open Source's shining achievement - Linux. This diatribe is not aimed towards Linux in particular, as it is a well-oiled, well-tuned machine. A technically adept Operating System, it is worthy of admiration by any rational man. The point of this thesis is not to attack the art produced by Open Source coders, which in itself is worthy, but to enlighten all as to the political processes behind the OSS movement.
By the same scale, it is hard to fault Mercedes for the technical excellence of the vehicles which were used by the National Socialist party. But the politics behind the party are what taint the image of Mercedes' vehicles of the era. The Swastika itself is a benign symbol, found this day in such diverse locations as Pokemon cards, but is permanently tainted with the history of the acts made under its auspice. In the same way, companies switching to Open Source solutions will begin to regard the Penguin with the same trepidation as their profits fall.
It should be worth noting at this point that IBM, previously one of the world's greatest companies, has begun reporting servere financial losses, no doubt due to its adoption of Open Source practises. This epoch-making event was NOT reported on Slashdot, even though articles were submitted.
And what of the other great company mentioned above? Microsoft, aka Micro$oft, Mickeysoft, Microshaft, Kro$oft, and many other derogatory and undeserved names. Throughout the previous 25 years, Microsoft has grown from strength to strength, again possessing shrewd business acumen as well as providing products that people want. This makes them the number one target for the OSS movement. Incapable of standing by their own merits, the OSS zealot would rather attack Microsoft as a priority than produce anything of worth for their community.
Slashdot Moderators, crazed with their limited new-found power, exhibit this behavior. It is a sad state of affairs that the majority of article moderations are negative. Where is the positive feedback and sense of social contribution? Nowhere to be found. Moderators are too focused on putting their peers down to make themselves appear superior, rather than doing the hard work and becoming better on their own terms.
As the National Socialists required a scapegoat, Slashdot Moderators require a constant stream of Postings to label '-1, Inferior'. Once a posting is reduced to the score of -1, it becomes invisible to the casual user. Again, this is a parallel to the Ghettoization of Germany upon the election of Hitler.
In essence this would not be so bad, were postings to be evaluated on their own terms. However, alongside the moderation of their postings, each user has a 'Karma' value, namely the sum of their worth to the Slashdot community. As a user's posts are moderated up or down, so their Karma fluctuates. As Karma becomes negative, a user's default posting score is reduced, until they are posting at a default of -1. Again, ghettoizing PEOPLE, not just their opinions.
This ghettoization is reinforced with the often fake belief that a negatively moderated post, and therefore the poster, is a "Troll". (Is it any wonder that such a name has been chosen to describe these people, invoking mental imagery of facial disfigurement and hooked noses?) As the Jews were accused of fraud, dishonesty and being subhuman animals, so too are Trolls accused of FUD, Crapflooding, and obfuscated goatse.cx links. Quite often, these 'undesirables' are capable of providing a valid insightful comment on a topic, but because it is in opposition to the Political dogma of Slashdot they are moderated back into their ghetto. The person becomes moderated, not their opinion.
This is just the thin end of the wedge. Although, as memes are transient, it is difficult to silence an opinion, it is trivial to silence a person. Upon the rise of National Socialism in Germany, the populace were motivated by propaganda into entering the Jewish Ghettos en masse with the sole purpose of causing as much damage as possible to Jewish businesses and residences. This parallels far too accurately with the Slashdot Editor's non-discouragement of the act of IP-banning. As mentioned above, this occurs when an individual user's postings are repeatedly moderated down in a short period. They then become incapable of posting any contributions themselves. In essence, they have been silenced, regardless of the worth of their postings.
Of course, the editors claim that Meta-Moderation is the panacea to solve this clear abuse of moderating privledge. But if a Meta Moderator is presented with a list of moderations that they disagree with, such as this targetted 'silencing' mentioned above, they cannot note them as such without in turn becoming an 'Undesirable' themselves, as too many Disagreements with the Moderation groupthink also result in loss of Karma.
Throughout all of this, the Editors have claimed a false level of detachment from the acts of moderation. In a same way, as the National Socialists gathered their power and began working on their Elite Political wing, The SS, they too remained detached from the civilians working in their name. Why? Because after inspiring the populace to such acts of violence through their propaganda, they could then claim that they were only giving the people what they want.
And then began the next stage of the atrocities. The Gestapo, Germany's secret police, were recruited from the best and the brightest of Germany's elite. As is the case now, the best and the brightest of society were often shunned and ostracized in society. In essence, the Gestapo were a tightly controlled 'Geek Army' of intelligent young men with a burning, seething resentment of normal society. The perfect psychological profile for the cause.
After all, give a normal man (with an active sex life) a gun and he will use it responsibly in self defence. Give a geek a gun and he will behave according to his sociopathic logic and hatred of the world he arrogantly presumes to be distant from. Ask yourself why Slashdot flat-out justified the murder of innocents at Columbine. And then ask yourself why, even for a brief moment, you almost began to sympathize with the killers after Jon Katz' manipulative and pseudo-emotive Hellmouth articles.
How this relates to Slashdot is clear. The majority of Slashdot posters are Sociopathic OSS zealots, unable through lack of social finesse or personal hygiene to mate regularly. Sexually and emotionally frustrated and with grudges to bear, incapable in their blinkered sense of self-righteousness of accepting any dissenting opinion than the OSS cause. Now give these people the opportunity to Moderate these dissenting opinions. Of course they are going to want to silence them, by any means necessary.
Now, the Slashdot Editors have admitted taking this silence of opinion into the next stage, by moderating whole swathes of 'undesirable' posts negatively. And then permanently banning anyone who moderates said posts back up from moderating EVER again! The result of this new policy? The few Moderators with any sense of fairness and decency are removed from the moderation pool, leaving the power ENTIRELY in the hands of the zealots. Clearly, positive moderation is discouraged under this regime, which is a direct parallel with the way the National Socialists moved their own sympathisers into positions of power throughout Europe.
So how does this compare to the genocide performed in Auschwitz and their ilk? I would like at this point to explain that in NO way do I wish to belittle the horrors that were performed in the name of National Socialism. The six million innocents killed were a cry of anguish from which humanity may never recover. And a vast distance in time and scope from a few banned posters on some shitty "My Favourite Links - now with comments" website. But these stories need to be retold before the horror is lost forever.
For the only thing that we learn from history is that we never learn anything from history. Time and time again, the St. Vitus dance is played out, we make the same mistakes, and we perpetually fail to see the warning signs.
So, moderators, the next time you moderate a rational, insightful post down, maybe because you disagree with it or because it's posted by a 'Known Troll', just ask yourself this...
"Am I really contributing to the Slashdot Community, or selfishly destroying it?"
Jabber, AIM, MSN, and others use TCP. In fact, the only client I know of that ever used UDP was ICQ, but that was an older protocol that is no longer being used
I think his point was that Jabber is like UDP in that you aren't sure that any particular message will get through, but then you don't pay the overhead of making sure.
-- MarkusQ
Part of the problem stems from the fact that IM software addresses 2 applications at the same time, unnecessarily coupling the implementations. These problems could really be approached separately:
- Learn the IP address associated with a globally-unique username
- Send a text message to the interactive operator of a machine with an IP address
The first problem is the much more interesting one- Jabber & AIM already somewhat solve it, but in an unsatisfactory and poorly extensible way. Better solutions would be based on an extension to the normal DNS system- essentially, you want each human to have a resolvable domain name associated with her. With that in place, InstantMessaging is an easy problem.A person could try to implement "TCP over IM", but it would've been nicer if the systems had been designed for this from the start. Actually, there is a 3rd general-purpose facility that might be needed, for reasons of privacy. There should be a way to send a packet to a "resolvable human name", without knowing the IP address it currently maps through. The (trusted) central server will have to forward packets in both directions. (I think that's how AIM normally operates, except that it doesn't accept generic packets, only AIM-formatted messages).
However, that method doesn't uniformly improve privacy. While it does prevent other users from learning your IP address, it makes it much easier for AOL (or other central server operator) to spy on the contents of your discussions. (You should be using encryption, anyway).
...really?
Please, everyone, don't tell CNN about Jabber.
If the journos learn that it's a new haven for "HACKERS", where they *gasp* can use encryption, our asses will burn.
My exception safety is -fno-exceptions.
Trillian, OTOH, while it's a great program (I use it myself) is nothing more than a combined front-end client for the existing IM services. Trillian will not help you when you are in a situation where opening a hole in the firewall for IM traffic is just not feasible (assuming that your networked office has Internet access to begin with, and that is NOT a given in the health care field)
AveryZero
Jabber clients are quite good. The fact that O'Reilly has a book on it means that it's probably robust enough for a production environment.
Jabber could be right for you if:
Plus, no ads.
---------
My father is a blogger.
adv for jabber: 1. open source 2. modulised 3. secure 4. logically well defined protocol 5. easily expandable language 6. based on xml 7. NOT OS specific 8. supports MORE chat protocols adv for trillian: 1. it looks good
Hard Work Often Pays Off After Time, but Laziness Always Pays Off Now.
Probably going to bring us a whole new dimension in online marketing, God forbid.
Actually, designers of anything IPM-like in the recent 5 years are well aware of the spam problem. Jabber, by default, won't accept messages from anyone/anything beyond your roster. The only
threat I can think of is that servers start sneak text ads inside vital message fields (any extensions can be easily ignored). But then, you can always change a server or roll your own, because the Jabber network is totally open.
My exception safety is -fno-exceptions.
to go around breaking legs...
My father is a blogger.
If I build a Jabber solution, it will be in java, so PERL/TK samples don't do me a lot of good
;)
Dont read the syntax, read the semantics
(May i suggest maybe looking at Dr. Robert Sebastas exellent book "Concepts of programming languages"(isbn: 0-201-38596-1))
There are dozens of clients for you to check out if you don't like a particular one. Trillian is great if you are on Windows but what are you going to do on any other platform?
Dude. If you do make a Jabber chat client you should totally name it Jibber Jabber.
The book, from what I read of it (not 100% - maybe 60%) is handy, but didn't tell me much beyond the jabber documentation already out there.
What seems to be a huge issue for Jabber is user profile integration with databases. There seems to be an unsupported mysql hack, but the key is 'unsupported'. If you look in the Jabber mail list archives, every month there's people asking how to do it, but NEVER any answers.
Another great one that doesn't get answered - which the book doesn't address either - is the format of the user XML files. Each user by default has an XML file, and many people would like to create them programatically. There is no definitive resource which explains what's in a file and what isn't, and how to put one together. I've hacked something, and it works, but only after several attemps, and it doesn't *feel* good. I'm hesitant to try to add anything else lest I break what's working.
Jabber.com has a huge vested interest in keeping some of this stuff not in the public knowledgebase, because they charge (comparitively) a LOT of money for their stuff.
Last time I spoke with them the minimum to get started was $16,000. Their package offers a completely rewritten jabber server (better thread handling), Oracle and LDAP connectors, and a good Java applet client.
NO ONE in the open source community has even come close to having a Java applet client that is workable in a practical sense.
So yes, the protocol is open, and free, but there doesn't seem to be much consensus on tools, except from Jabber.com and they cost.
What I think Jabber as an open source project needs to focus on:
* XML user file definition and/or database support for user profiles
* Good applet client
:)
creation science book
I've always wondered why we don't just switch the internet over to IPv6 and give each human on the planet their own address.
Ergonomica Auctorita Illico!
one for the main server
one specifically for AIM
one for ICQ
one for MSN
one for yahoo! IM
the four IM trasport servers have their own jabberd process. If a transport server dies (as they occasionally do), you can bring that server back up without affecting any other servers.
But you don't have to break up the servers this way. You could run multiple jabber servers, and place bandwidth restrictions on them so that when a jabber server got "full", it would stop receiving connections, so the jabber server above it in the chain would then forward it on to the next jabber server in the chain, or back up if it's out of children servers.
it's a relatively simple matter to setup an init.d script to monitor the health of all the processes, and restart them when and if they fail. I've been running a jabber server on one of our linux boxes for weeks now, and I haven't had to touch it once. I highly recommend jabber for intranets.
I've seen a lot of comments disliking the abundance of Perl/Tk usage in DJ's book. Recently Manning Publications released Instant Messaging in JAVA: The Jabber Protocols in print and ebook. It was written by Iain Shigeoka, and is ISBN 1-930110-46-4. It's a good read and goes over the creation of both a client and a basic server in Java, plus a good deal more.
Well, apart from WinJab being clunky and having memory leaks, etc....
My problem with jabber was that both the ICQ and AIM transports were always broken. Occasionally one would work, but it would usually break in less than an hour!
I hear that they've taken the main server's transports off - can anyone tell me the performance of other servers' transports that I've heard about. How about the best small, simple windows client.
I'm looking for something that starts up immediately, is small, elegant and doesn't vacuum up my memory.
Cheers!
Does this mean Jabber is "worse is better?"
machines and programs can use a general purpose communication system like this, with no human middleman required
Imagine the possibilities - we could have a global network of computers and other devices that communicate through a common protocol! Oh, wait...
Reminds me of the "TCP over HTTP" April Fool's RFC.
Too late to be known as Bush the First, he's sure to be known as Bush the Worst.
"I think equal time should be given to implementing Jabber using the two most-used languages, "
assembly and C?
The Kruger Dunning explains most post on
It seems the only complaints here have to do with jabber not supporting aim/icq. The reason is the core developers that are doing the server, don't really have time to keep up with every chance aim/icq makes to block them. So why not stop bitching and get the aim transports code and maintain it yourself? Or just join a server that supports it that hasn't been blocked. www.jabberview.com has a whole crap load of servers listed. Wake up and see the reality.
I have seen several posts refering to Jabber's inability to connect/use to other IM networks. The truth is, some of the more popular Jabber servers (jabber.com; jabber.org) have been blocked by AIM/ICQ and other IM services. The very simple solution is to use a different server. I have found amessage.de and jabber.sk very reliable and able to handle all the major IM networks. There is a list of other jabber servers available here if you'd like to try some differnt ones. Hope this helps!
--CF
In fact, I don't blame AOL. They're top dog because they got there first. I don't have a problem with that.
I just thought I'd correct the impression that "Jabber sux because it can't do AIM" when the truth is something different.
FWIW, I don't use AIM, but it's not because I don't like the ads: I don't use AIM because I don't have any friends. =(
-----
My father is a blogger.
When they're doing everything known to man in order to jack up their IM marketshare. "Jabber, you bring 50,000 more users? Come on in, the water's fine!"
Just wait until they start to get numbers like AOL and watch how picky they get about who they play with.
The more games I see various corporations play, the more thankful I am that there are open source alternatives.
-----
My father is a blogger.
Check out the linux High Availability project and most specifically their HEARTBEAT software. Basically, if any server running heartbeat goes down in a variety of different ways, a secondary or tertiary or n-ary machine takes over the tasks specified. It can work with any service that you place in /etc/rc.d so I don't see why Jabber wouldn't be part of that.
I wish people would stop thinking about Jabber as simply an instant messenger, in the same way Microsoft has realised that MSN Messenger isn't simply an instant messenger. The data exchange of
As things move on from static HTTP GETS to dynamic sockets, companies will look for products that can easily push and pull data asynchronously to servers. And Jabber excels at this.
Jabber's modular framework allows for the simple server-side creation and client-side discovery of whatever xml namespaces you'd like for whatever programs you make. As in the book, you can receive CVS commit notifications, stock quote notices or send and receive email with Jabber.
The Jabber system depends on the routing of messages -- more or less the same way SMTP works, users are identified by a flexible user@host path syntax, except Jabber doesn't (afaik!) have the equivalent of the MX name server record. When I send a message to bob@snarkfimblepooh.com, it first goes to my own Jabber server, byzantine.no, which forwards it to snarkfimblepooh.com. A message can be forwarded multiple times if multiple layers of servers are involved, such as with external/internal servers or gateways. Jabber can be gatewayed to/from SMTP and other systems, indeed a lot of people, me included, use Jabber to access the AIM, ICQ, MSN and Yahoo! networks.
There is no central/global user name space because it is unnecessarily complex. It's a decentralized system that does separate the two concerns you list.
Because the XML is extendable, it's a pain in the ass to place inside a "useful" database (i.e. queryable for the extensions). My team and I looked at the docs for quite a while, but the message flow (and the configuration to send the xdb packets over from the "main" jabber server to the xdb server) was very unclear. A lot of my time was spent comparing log files and making very minor changes in XML structures.
There's a java xdb out there that I ended up hacking with to make my stuff almost work, but it was rough going, too. I think the real technical problem (besides coping with Jabber's formats, etc) is difficult -- mapping XML queries ->SQL queries, XML->relational format, and relational format->XML are all very difficult operations, with no real proven way to work with yet.
It does seem like xdb is the great missing point in the OS version of jabber -- perhaps that's on purpose to encourage large users to go for the commercial version. It's easy enough to edit config files, etc, for a server for 10-100 people... but when you're talking about firmwide/production usage with thousands of users (and batch migrations, and failover, etc) having a db at the backend becomes really important.
Besides my xdb troubles, though, I was pretty impressed by the system. The clients aren't the best, but the protocols looked like they had some serious promise....
Best of luck to those tackling xdb, though!
willis.
there is no thing
what else could you want?
just yesterday the security bigwigs at the corp i work at sent down a draconian letter about instant messenger programs wasting bandwidth, and more importantly, exposing proprietary information on the internet.
A little over a year ago instant messenger clients were banned "without specific authorization" and were heavily used contraband. Now MSN Messenger is a vital part (and defacto standard) of corporate communications. Unfortunately there is a lot of productivity lost from A) Microsoft's shitty network that doesn't deliver near as many messages as you'd expect, and fails to report errors... and B) lots of information that is generated in impromptu conversations and lost when the chat is done. Then there is also C) the waste of bandwidth and D) the security and privacy issues.
Back in the contraband days I whipped up a quick VB program for our group, and was in the process of converting it to a java applet with direct socket layer communication when MSN Messenger was finally let in.
When the new email came down, I quickly responded with a link to imici.com for a solution and then threw in jabber.org and mentioned it as a free alternative. Any one of the above reasons (A-D) is enough to switch, but maybe not enough to overcome the inertia of MSN un-emoticons.
I had to work on Jabber with other guys, we were paid for that. I wrote the first version of xdb_sql. But working on Jabber was such a PITA that I left coding and never looked back. Sound coding standards are a must for any ambitious project. So give jabber hacking a try ... You'll see what I mean. At least, when you stop, what a relief ! :)
Israelis are genetically identical to the Palestinians.
There is a Pluggable Authentication Module out there. It's not very stable, but it works.
And you can just make or edit new user files in the right directory on the jabberserver. So adduser script etc. need a little edit.
against jabber : bad server implementation