Sunday, August 12, 2007

Database logger in progress

I've payed attention to libdbi, because I'm really like it's database independency and I think this is really what we need :)

On Ubuntu everything is really simple, but for Windows I had some problems.

For building Window's Pidgin we use Cygwin and gcc from MinGW.
Pre-compiled libdbi and libdbi-drivers binaries from the official site are built by Cygwin gcc, so
this libraries are not what we want for Pidgin. Thus we need rebuild them
using MinGW gcc.

After severl days work I got libdbi and mysql driver which needn't cygwin DLLs. So my test example passed successfully.

Now I'm currently working on Windows implementation of Database Logger, but really it doesn't matter, because it'll take a little time to make *nix version.

For simulation of asynchronous work with DB, I've used new thread and mutex for thread synchronization.

For Windows implementation I've choosen glib's threads API. We can do so, because on Windows GTK+ is necessary library

Sunday, July 22, 2007

GSoC midterm passed

I'm think that I'm on track with Remote Logging, so everything will be all right :)

Several days ago I installed Ubuntu Feisty Fawn, configured and built Pidgin. So now I test my work on several platfroms: Windows XP and Ubuntu.

Having Ubutu is really important, because now I can test Pidgin as well as Finch. 

Thursday, July 12, 2007

Hundredth commit

Today I've made my hundreth commit working on Remote Logging implementation for the best IM client Pidgin.

You know that Pidgin uses Monotone version system control, to tell you truth I haven't experience in working with DVSC (Distributed Version System Control), but I have with SVN and CVS and the difference is really big definitly.

So now Monotone seems for me really good VSC and I like it. 

Saturday, July 7, 2007

Rewriting Pidgin code that uses blocking log functions

Pidgin doesn't use threads, so Pidgin's UI maybe frozen by long time operation (like viewing all logs or database operations)

So we definitly need nonblocking log API.

I've just implemented almost all nonblocking log functions, and now I'm rewting Pidgin code that uses old log functions.

It's not simple find and replace, because nonblocking log functions widely use callbacks, so we should change current logic in such way.

Friday, July 6, 2007

Database logger will be implemented!

At present moment I have made a decision. I am goint to implement database logger instead of Gmail based or Google Talk based loggers.

Database logger will be usual logger as HTML or plain text loggers, but it need nonblocking log API. And now I am working on rewriting this API.

As for as other loggers, I am sure that when we'll have database logger it is not hard to implement file-based remote logging.

Tuesday, June 26, 2007

Which remote logging will be more useful?

I have difficult choice. What kind of remote logging should be implemented first.

At present moment we have:
  • File-based remote logging (ftp, sftp, dav, ...)
  • Database remote logging (MySQL, SQLite, PostgreSQL, ...)
  • XMPP remote logging or Google Talk based remote logging.
The last choice was preferable for me early, but after discussion with my mentor Richard Laager, this variant is not seems so good as before because:
  • We don't know how exactly GTalk implements XEP-0136.
  • It may be incompatible with other XMPP servers later.
  • I don't know other XMPP servers which implement XEP-0136.
So, as Richard said that "database logging is still a really common request" I think this way is really good decision.

Sunday, June 24, 2007

QIP logger new features

New features were added to previously presented QIP logger. So now they are:

  • Purple compatible logs.
  • Diving logs into collection of messages corresponding to one chat session.
  • Perfect work with russian symbols.

I hope QIP logger will be merged with main Piding branch in few days.

Wednesday, June 20, 2007

New photos from Moscow

This is original Marshall Kirk McKusick email:

The original high resolution pictures are available at:

http://www.mckusick.com/~mckusick/Moscow_2007

Because of comments that it is too painful to upload the
full-resolution pictures on our 768 uplink, I have put up
a lower resolution version at:

http://www.mckusick.com/~mckusick/Moscow_2007_Low

Tuesday, June 12, 2007

QIP logger

Do you know QIP messenger? No. It's okay, because QIP is not to good as Pidgin :)

But it is rather popular ICQ client (especially in Russia) :(

I've just implemented QIP Logger for Pidgin. So now you have opportunity to look through QIP logs from Pidgin.

Friday, June 8, 2007

Last exam's results

Yeah! We did it! We've passed our last exam! Me and my group-mates have only excellent marks. But it doesn't mean that I can relax, because I have to do many things and I have a lot of work.

Thursday, June 7, 2007

Modern problems of mathematics and computer science

Today I've passed my last exams "Modern problems of mathematics and computer science". To tell you truth it was more resistance of materials and mathematical physics, so it was really boring and uninteresting. Unfortunately we will know the results only tomorrow. So it will be nervous day and night.

Moscow vacation photos

Yesterday I published most interesting photos from my Moscow vacation. They are available from Picasa Album

Also you can hear Kirk McKusick's speech with russian translation [download]. The record is not to good, because it was made by PDA.

Friday, June 1, 2007

Marshall Kirk McKusick and Eric Allman in Moscow

I've just came back from Moscow (I live in Rostov-on-Don, Russia).

In capital of Russia were invited many famouse people such as Brain Behlendorf, Louise Suarez-Potts, Robert Warrall and Eric Allman, because Interop 2007 took place in that days.

Eric Allman arrived with Marshall Kirk McKusick.

Me and my friend had great opportunity to spend approximately two days with these legends of Open Source (I mean Eric and Kirk). We visited Red Square and Tretyakovskaya Gallery. Also Kirk read lecture "Twenty years of Berkeley Unix: From AT&T owned to freely redistributable" for all *nix lovers , and it was really interesting, cos we heard a lot of amazing details.

Lately I am going to publish some of the best photos.

Monday, May 28, 2007

Small university conference

At last week we had small conference at my university (Southern Federal University). I took part with my GSoC project - Pidgin Remote Logging
You can download my speech and presentation

Pidgin Remote Logging

Okay, let me say some words about my project and give you some useful links.

First of all my abstract available here

My page on developer.pidgin.im is here

More details about Pidgin Remote Logging

Sunday, May 27, 2007

Google Summer of Code

Hi to everyone. I am participant of Google Summer of Code 2007. If you don't know what does it mean, you definitely should visit this link.

I have one highly interesting idea related with IM (Instant Messenger), it is remote logging (what is this I'll describe  lately)

So I was needed in IM for implementation of my idea, and I've chose Pidgin. Frankly speaking I didn't use this IM before, but now I'm sure that was good choice.

Why I think so? Because:
  • Pidgin is free software available under the GNU General Public License. So everyone can obtain code and modify it;
  • Pidgin supports many commonly used instant messaging protocols, such as ICQ, MSN, Yahoo, Jabber, IRC and many others;
  • Pidgin is multi-platform instant messaging client and it is very useful because I work with Windows and FreeBSD at home and with X 10 at University;
  • Pidgin has multiple account access support, this is also very useful nowadays, because sometimes we have several accounts, as for me I have ICQ, MSN and Yahoo account
  • Pidgin has rather convenient and considered structure because it is divided into an interface, and a library which handles protocol. Thus Pidgin has different interfaces such as Graphic User Interface (known as Pidgin), console interface which named Finch and even web-interface accessible on http://www.meebo.com/
  • And the last but not the least is that Pidgin is rather popular IM client.
Also, I would like to add, that Pidgin has a great future, cos it has great developer team, so I am very pleased to have this opportunity to work with this development team.