Tag Archives: site

JWGC, PyAIM-t, PyICQ-t transferred.

All three current projects have now been transferred to this site. Not all of their links currently function as I have not finished porting over the bug trackers and such. The new URLs for the projects are as follows:

More to come as I continue porting over bug reports and such.

ChangeLog rss feeds now available

With many thanks to Yves Goergen for supplying the code, we now have ChangeLog RSS feeds for all the projects hosted at this site. You can access them as follows:

  • JWGC: http://www.blathersource.org/projects/jwgc/changefeed
  • PyAIM-t: http://www.blathersource.org/projects/pyaim-t/changefeed
  • PyICQ-t: http://www.blathersource.org/projects/pyicq-t/changefeed

There are also links on the project info pages. Enjoy!

Incoming search terms:

Daniel Henninger: Blast…

It appears that the world of spam has found my BlatherSource site. I have begun getting comment spam. Unless someone has other suggestions, this means I need to either implement:

A. Must register to leave comments (booooo)
B. Captcha's (meh, sure.. why not)

I'm open for suggestions. I had to enable some extra logic in my blog as well because I was getting traceback spam. Don't these people have homes? Bah..

Site now has it's own project

I created a project called BlatherCore that represents the site as a whole. I’m kicking around the idea of releasing the source for others to play with if they want, but I’m not sure about that yet. Anyway, if you run into bugs with the site or have feature requests, you can post them at BlatherCore’s project section.

Jack Moffitt: Strophe.js 1.0.2 Released

I've just tagged and released Strophe.js 1.0.2. You can find it on the new Strophe.js site.

Please consider upgrading as soon as possible, as a security problem was found in Strophe.js 1.0.1. The DIGEST-MD5 SASL method used a constant client nonce due to a bug in Strophe's use of the underlying MD5 library. I don't know of any exploits for this bug, but it could compromise your site's security.

Much of the credit for this release goes to the many contributions and pull requests that people have sent in the last year. The community's effort continues to make Strophe.js better and better.

Strophe library has a new site

FYI, if your a fan of Strophe.js and/or libstrophe then you need to make sure to update your bookmarks as the site has moved. You can now find all of the Strophe goodness at strophe.im.

jitsi: Just relased our brand new Jitsi site (First step of the renaming). Checkout http://jitsi.org

Just relased our brand new Jitsi site (First step of the renaming). Checkout http://jitsi.org

Major hosted.IM update

We are proud to announce the latest update on hosted.IM including the following new features:

Complete redesign of the site, enhancing user experience and usability. Microsoft OCS transparent gateway (beta). More information about OCS gateway usage in our related blog post. Multi User Chatroom control (MUC) panel to manage your chatrooms. CORS support (Cross-Origin Resource Sharing) to allow accessing our HTTP Connection Manager for BOSH from other web chat clients.

This release also includes other fixes and improvements suggested by our users.

We continue improving our service and welcome your feedback. Much more to come soon. Thank you!

Links:

http://hosted.im hosted.IM support forum Twitter: @hosted_im

What Is BlatherSource These Days?

Well it’s clear I got out of the interest in blogging about my coding experiences. That said, if I ever DO decide to blog about that, this is where it will go. To be frank Twitter has become my primary place for yammering about programming related things, or whatever else may be going on in my life.

So what then is the purpose of this site? Basically it boils down to this is the “core site” for all of the projects I host at blathersource.org. That is primarily Kraken as I have moved most other things off to SourceForge. I don’t intend to take this part of the site down – - because I mean – - – why. =) It’s not hurting anything. But I’m not likely to update it very often at all. =)

that said, I wanted to “leave a note” here for any visitors I might have.

BlatherSource is now running under Drupal!

A Quick History Lesson

You may recall that not so long ago, I switched my blog site from Serendipity to Clearspace. At the time I was working for Jive and was interested in having a real reason to “know” Clearspace and write plugins for it and such. That said, Clearspace is a completely beast for something so simple. Plus it required being run under Tomcat which I had little or no reason to run beyond for Clearspace. After parting ways with Jive, and not being interested in throwing money at a hosted server anymore, I moved my blog back to Serendipity and migrated the few posts I had made since moving to Clearspace to Serendipity.

The Now

A little while ago I realized that there was one thing I kept doing over and over again with my sites that weren’t really “for something”. Like for example, my personal site, our family site, etc. I would always do one of two things:

Come up with a “cool design” that I liked and never get around to writing content
Write out some small content that had no real design to it

A number of my friends are big fans of Drupal, and I certainly am not living under a rock, I had seen and played with it before, but without a purpose Drupal just seemed like “meh, yet another cms, what’s the point”. So having some extra free time last month, I decided to do something real with it — whip up a family site (http://vorpalcloud.org/) that actually had some form of look and feel to it, but also had some content, and was trivial to update/add to in the future.

So in the process, I happened to see how easy it was to manage Google AdSense units within Drupal, and I was attempting to see if I could get enough from ads to have the site pay for it’s own hosting somewhere. (as it turns out, not so much so far, but hey, if I decide to punt the ads at some point, then that’s trivial)

I had a number of projects out there (JML and such) that had crap sites and so I whipped up some Drupal sites for them and was pleased how those came out. At this point I’m running something like 13 sites under Drupal, including this one. And I’ve written my first Drupal module: Daily Twitter. Overall I’m highly impressed with the number of plugins, the community around it, and the product itself. I was able to whip up this theme for BlatherSource in very little time. The only thing I’m a little dismayed about is email notifications seem to be oddly hard to set up or something. Maybe I just haven’t found the right modules. Like I’d love to be able to subscribe to all content changes on a site but I can’t see any way to handle that. Likewise I was excited about making use of the project stuff but that’s not ported to Drupal 6 yet. But overall, I’d say this thing is fun to play/work with and has made it so I could whip up a large number of functional sites in no time flat.

So kudos Drupal! You made me enjoy managing my websites again.

How did I migrate from Serendipity to Drupal?

Well first off, keep in mind that I was the only user on my Serendipity site. It was my blog and my blog alone. I also never used the “extended body” stuff. But what it boiled down to is I did the following steps:

Created database for new Drupal site (on the same MySQL server as my Serendipity blog)
Ran the Drupal installer against the new database, but don’t go to “View Site” at the end of the install.
Logged into the database as root.
“use”d the serendipity database
Ran the following SQL, knowing that drupal_bs is my Drupal database:
INSERT INTO
drupal_bs.node(nid, vid, type, title, uid, status, created, changed, comment, promote, moderate, sticky, tnid, translate)
SELECT id, id, 'blog', title, '1', '1', timestamp, last_modified, '2', '1', '0', '0', '0', '0' FROM serendipity_entries;

INSERT INTO
drupal_bs.node_revisions(nid, vid, uid, title, body, teaser, timestamp, format)
SELECT id, id, '1', title, body, body, timestamp, '2' FROM serendipity_entries;

INSERT INTO
drupal_bs.comments(cid, pid, nid, uid, subject, comment, hostname, timestamp, format, name, mail, homepage, status)
SELECT id, parent_id, entry_id, '0', title, body, ip, timestamp, '2', author, email, url, '0' FROM serendipity_comments;

UPDATE drupal_bs.comments SET uid = '1' WHERE name = 'Daniel Henninger';

INSERT INTO
drupal_bs.node_comment_statistics
SELECT nid,timestamp,name,0,count(cid) FROM (SELECT * FROM comments ORDER BY timestamp DESC) q GROUP BY nid;

UPDATE drupal_bs.node_comment_statistics SET last_comment_uid = '1' WHERE last_comment_name = 'Daniel Henninger';

INSERT INTO
drupal_bs.vocabulary(vid,name)
VALUES(1, 'Serendipity Category');

INSERT INTO
drupal_bs.term_data(tid,vid,name,description)
SELECT categoryid,'1',category_name,category_description FROM serendipity_category;

INSERT INTO
drupal_bs.term_hierarchy(tid,parent)
SELECT categoryid,parentid FROM serendipity_category;

INSERT INTO
drupal_bs.term_node(nid,vid,tid)
SELECT entryid,entryid,categoryid FROM serendipity_entrycat;
Note that I also changed all comment references to myself to my actual uid (1) in Drupal.
Done, go to site and all data transferred over.

I wanted to share this in case it helps someone else though.

Incoming search terms:

Major League of Baseball teams up with ProcessOne to deploy large scale chat system

The MLB.com site offers a wealth of information and services, including Game Day, a flash-based audio application that enables fans to follow every pitch as it happens.

MLB.com wanted to make its web site as ‘sticky’ as possible so that fans would want to come to the site, get involved and stay for a long period of time. It therefore decided to develop a new instant messaging facility to enhance the features of Game Day. At first, the organisation had some concerns about the project. A previous attempt to develop instant messaging had been unsuccessful because the solution implemented had been neither sufficiently scalable to meet demand nor visually exciting enough. MLB.com therefore knew that the success of the new venture would depend heavily on its choice of platform. The organisation had to find an instant messaging server that would give it both the flexibility to innovate and the confidence to grow.

In the previous year, MLB.com’s Game Day application had attracted over 85 million users. MLB.com knew how many concurrent visitors it attracted to its site on game days and it knew what its average year-on-year growth was. It also knew how many fans had used its earlier instant messaging service. Using these figures as the basis for some solid statistical analysis, it anticipated that demand for its new chat facility would not only be huge – but would also grow steadily over time.

Providing quality support

MLB.com interviewed a lot of potential partners for the project and carried out practical product evaluations. However, the solutions that it initially tested failed to provide the flexibility and scalability that it needed. Then, MLB.com met ProcessOne at a conference in California. “We were immediately impressed by ProcessOne’s offering,” says Joe Choti, CTO of MLB.com. “ProcessOne was head and shoulders above everyone else.”

ProcessOne provides high performance instant messaging servers that are based on ejabberd, an open source technology that is mainly written in the Erlang programming language. As it runs in a cluster mode, ejabberd is highly robust and can be easily expanded in size, making it ideal for large-scale deployments. MLB.com was familiar with ejabberd and quickly identified that the ProcessOne Instant Messaging Server could meet all of its requirements.

“ejabberd is a full featured jabber server compared to the other products that are in the market,” explains Christian Gough, system administrator at MLB.com. “The ProcessOne Instant Messaging Server offered every feature that we desired. By leveraging the scalability of Erlang, the solution allows us to easily expand and adapt the server whenever we want to in the future.”

The CEO of ProcessOne travelled to New York to work directly with MLB.com’s internal team and specify the precise requirements of the solution. “His help was extremely timely and useful,” says Gough. “The quality of support that we have received from ProcessOne has been very, very good.”

Creating an innovative service

For MLB.com, the visual concept of the solution was just as important as the underlying technology. The organisation wanted to create a Game Day chat facility that would give fans the look and feel of experiencing a live game with other fans. It therefore based its new instant messaging service on a virtual ballpark. Fans can visit different sections of the online ballpark during a game to join different chat sessions on different topics with different groups of people.

In one part of the virtual ballpark, fans of the home team can be discussing the state of the pitch or the decisions of the coach. In other parts of the ballpark, fans from opposing teams can get together to argue the merits of different players. “This is by-appointment chat,” explains Choti. “The ballpark opens when the game begins and closes when the game ends. An automated session manager feature manages the chat rooms and ushers users out at the end of a game, just as they would be ushered out of a real ballpark.”

As part of the project, ProcessOne developed a customised module for MLB.com to allow its ejabberd-based instant messaging server to interact with the company’s existing web services and authenticate users against its user database. “Users can now log in once to MLB.com and use a range of different services, including the chat facility, without having to log in again to a separate system,” explains Gough.

The entire instant messaging solution, including the customised module, was deployed in a very short timeframe. “ProcessOne took us from conception to deployment in just three weeks,” recalls Choti.

Meeting requirements by 110%

MLB.com is delighted with its new chat service. Over the course of each season, it now facilitates different instant messaging sessions at as many as 25,000 venues. This Game Day chat facility is helping to attract more users to the site and is encouraging visitors to stay on the site longer. This gives the company more opportunities to cross-sell and up-sell from its range of merchandise and services. In addition, MLB.com anticipates that the chat service will also help it to attract higher value advertisers to its site.

The feedback from users has been very positive. “Users absolutely love it,” says Choti. “We believe that we now offer one of the most exciting chat facilities available today.”

The ProcessOne Instant Messaging Server is performing very strongly. “The use of Erlang and clustering in the solution architecture not only ensures scalability, but also adds to the solution’s stability and flexibility,” says Gough. “The ProcessOne Instant Messaging Server offers a plethora of features and we have been able to easily extend it to meet our unique requirements.”

“The ProcessOne Instant Messaging Server has met our requirements 110 per cent,” adds Choti. “From the very first day that we brought the server online, we have not had a single problem with it. It’s a champ!”

Now that its Game Day chat facility is up and running, MLB.com doesn’t plan to stand still. Every year it tweaks and enhances its web site with new features. “We are very confident that the ProcessOne platform is scalable and robust enough to support us in whatever direction we go,” says Choti.

He concludes: “Our success has been based, not only on the technical solution provided by ProcessOne, but also on the personal support provided by ProcessOne. ProcessOne is not a vendor; it’s a partner and that’s a very important distinction.”

References

Download the case study (PDF): MLB.com scores a home run with instant messaging from ProcessOne

Click to access more case studies

digg_url = 'http://www.process-one.net/en/news/article/mlb_processone_xmpp_chat_system/'; slashdot_badge_style='v0';

BlatherSource has moved to Clearspace!

Yes that’s right, Clearspace. Those familiar with Clearspace might be thinking to themselves … are you nuts? Clearspace is a -beast- for just a blog! Well, you’re probably right. However, I like it, I work with it, and I’ve been interested in writing some plugins for it for a long time now. The thing is, without actually running it live anywhere for myself, I never give any priority to writing said plugins. Now I have a solid reason to. =)

So what exactly -is- BlatherSource nowadays since I moved all of my projects away from it? Well, for alll practical purposes it’s my playground. I continue to use this blog for posts related to my projects, XMPP, that sort of thing. I’ll be running a number of services at this site. for example, I’m now offering public XMPP services here. If you are so inclined, feel free to register with blathersource.org. As the author of the IM Gateway plugin, there’s a good chance this will be the first place I upload new versions for testing, and if a number of folk start using the service here, it’ll help me get a window into what errors might show up. If folk start having problems that I’m having trouble dulicating myself, hopefully I can get said folk to register at blathersource.org and “demo” the misbehaving accounts to me and such. And just in general, if you are looking for a place to house your XMPP account, you are quiet welcome to register it here.

I’ll post more details on the XMPP services at a later date, but anyone is welcome to register now if they are so inclined. I’m not sure what else I’m going to run here just yet. I got a general purpose dedicated server from Hosting And Designs. I’ve been quite pleased with it so far! I hosted my previous web services at Modevia, who were wonderful! However, I decided I wanted to run more services beyond just web services, and also needed to feed my old sysadmin bug since I no longer do that for my job. =)

Anyway, I’m excited for my new site. Who knows, maybe it’ll get me posting more. Probably not, but it’s wishful thinking.

Process One: ejabberd 2.0 beta is approaching: Calling for translators

ejabberd 2.0 server will be released in beta during the coming days. If you want to contribute a translation for your language of either the main interface or the installer, you are very welcome smile

If you would like to help us translating the ejabberd graphical installer, you can submit a derivated of one of the file attached to the following ticket: New binary installer translations

You can also help on the translation of ejabberd itself, you can check what is the current state of the translations on the community site and provide your help thanks to the How to translate document.

Nolan Eakins: Bitter

I slipped up a new site bitter.nolan.eakins.net the other day. It's my take on the don't make me think blog. I've already implemented a basic web interface and just slapped together an XMPP bot that makes Bitter much easier to use. There's a lot that I've left out, but I put a Bazaar repository up if anyone wants to play.

Ignite Realtime Blog: Your Certificate Survival Kit

Many years ago when I started adding certificates management to Openfire I couldn't stop thinking how complex the certificate management topic was. Moreover, I thought that the lack of information regarding certificates management was on purpose as a way to keep them "secure". :)

Even though I do not consider myself an expert in security and certificates in particular, I think I finally understood the different ways certificates can be created, signed by Certificate Authorities (CA) and finally be imported into your application. Basically there are two ways for this to be achieved and fortunately the XMPP Federation through its CA services supports both of them.

Create your certificate and ask a CA to sign it

In this case you will create a certificate from the admin console of Openfire and then ask Openfire to create a Certificate Signing Request (CSR) that is sent to the CA. The Certificate Authorities (CA) usually has a web site that you can use to paste the CSR. If you are using the XMPP Federation services, choose the menu option Server Certificate (Without CSR generation). After the CA verified the certificate data and the data of the certificate issuer you will get a signed certificate that you will need to import into Openfire from the admin console.

csr.PNG

The CA creates a certificate for you and signs it

In this case almost the entire process happens in the CA web site and administrators will need to import the signed certificated into Openfire. If you are using the XMPP Federation services, choose the menu option Server Certificate (With CSR generation) and then provide a pass phrase to create the certificate and its private key. After the data was validated you will receive a signed certificate. The last step to import the new certificate into Openfire is to paste the pass phrase, private key and signed certificate in the import certificate page in Openfire and voila.

import.PNG

As of Openfire 3.4.2 you will be able to choose the certificate management option that best fits you and follow the entire process from the admin console. You will be able to say bye bye to the cumbersome command line tools. If you are using Openfire 3.4.1 or older then only the first option is supported.

Artur Hefczyc: Website update

I am happy to announce successful completion of Tigase website upgrade.

It was a serious update from Drupal ver. 4.7 to ver. 5.2 and there were many changes in configuration and modules. So please have a look and let me know if something is still wrong.

You may not notice any visual changes and this is intentional. I have put a lot of effort to make it initially identical with the old site and I am going to add new stuff gradually to take the advantage of all new features available in current version.

Tigase custom modules (Minis from XMPP and Tigase Monitor) have been updated to the most recent versions as well. The most interesting element of that update is a link to detailed Tigase server statistics.

More will be available soon...

read more

Mobile Web Monday

Whilst sober, I can begin to type up my thoughts on yesterday’s Mobile Monday event at Centre point, largely about content adaption. I had a good time. :)

I feel quite strongly against content adaption/transcoding. And no you can’t argue that Opera adapts content. Think of Opera’s approach as a single “distributed browser”. Tight coupling with the browser is great. See my thesis. Openwave/Novarra don’t work with browser vendors like Webkit or Gecko.

I was expecting a debate, though the event seem to be run in such a way that didn’t foster debate. The relevant presentations from Openwave and Novarra were buffered and it was a long time before we reached the “panel discussion”. By that stage I had a few glasses of South African red and the panel was far too biased or rather boring for my liking.

So I fealt like I had to say something for the angry Web developers I’ve seen on the momo list. Unfortunately this frustration could only be posed as a question. Many of the points or myths that Openwave/Novarra pitched could have done with quick interactive responses. How do you ask a question, when they’ve got this, this and that and that wrong wrong wrong.

Browsers compared

I know for a fact that WiderWeb/Openwave get laughably low traffic, despite their claims of “opening the Web”! Novarra says they have 160k users of 70 million Vodafone users. What’s that? 0.2%??!

Afterwards I engaged fellow Web developers for support and found little(!). Some people were whitelisted now, so they don’t care. Some people just want flash. Most people want to make money yesterday on the mobile. Others want Apple to open their proprietary mobile platform. Some people were silly enough to get a stupid dotMobi domain to get around the problem or prefix their site with wap. Yes yes… what about the Web? You know, the real one? With HTML?

The real issue was that:

  1. (Mobile) Web developers were writing “Web content” for particular UA strings. (That’s bad)
  2. Man-in-the-middle Novarra rewrites UA strings to a standard Mozilla one
  3. Web site returns “full site content”
  4. Novarra screws up the content
  5. User gets that unacceptable “user experience” (funny)

So people were up in arms, because their mobile specific “Web site” with WUFRL typically was breaking. So surprisingly I was chuckling to myself, “those guys get what they deserve for making device dependent Web pages!”

Ok, bickering aside. The solution I asked of Novarra and Openwave last night was simply to be accountable.

That means publically giving out proxy details of their content adaption software so Web developers in-the-know can publically evaluate what they actually do. Randy from Novarra said he’ll get back to me. Novarra are launching something soon with Yahoo! Ed from Openwave said he’ll share it with me as long as Novarra do it and that I don’t publically criticize the service. Hmmmm…. (!)

Yes, I still don’t really know what they do inside their “walled garden”, so I can’t get too mad. If they stripped CSS and images and tidied HTML, then it’s probably actually OK. Unfortunately I don’t think they are smart enough to do just that. :/

We are on the brink of something new with the mobile device. The (mobile) ipod webkit browser is the same browser on my MacOSX Macbook Pro. I am tired of “screen size” and “mobile browsers will always be years behind” myths. Lets push for up to date browsers with excellent standards compliance.

Lets stop blaming Web developers and coming with new non-HTML markups. Lets discourage hacks like “content adaptors” from hindering the exciting deployment of capable Web browsers such as Webkit on mobile devices.

ejabberd's home page and Community Site

This website has served the ejabberd project since the late 2004.

I want to announce three important changes as of November 2007, explained in Evolution of ejabberd home page:

  1. This site changes its address from ejabberd.jabber.ru to www.ejabberd.im.

  • Since now, this website is no longer considered ejabberd home page. Instead, this site is the ejabberd Community Site.
  • The official ejabberd home page from now on is considered http://www.process-one.net/en/ejabberd/.

    read more