Archive for the 'Events' Category

GCI 2011

So, Google is running an another edition of Google Code-In this year. I’ve been involved in its very first edition (called Google Highly Open Participation Contest) for the MoinMoin wiki project. Long story short, I volunteered to help this year too. It will probably be just one small task, but I’m looking forward to it anyway.

GCI 2011 Logo

“Wesnoth” in Google Summer of Code 2008

This is already old news, but Google Summer of Code 2008 is underway and this year “Battle for Wesnoth” is a mentoring organization as well! This is very exciting to everyone of us and I really can’t wait to see what project students will be able to come up with this year. The number of slots isn’t known yet, but we hope to get at least 3 projects rolling…

There’s some development on the AI front waiting to happen, mainly around the newly integrated (trunk only) Formula AI branch – an attempt to create a domain-specific functional programming language, that would enable content developers to tweak AI behavior in many new, interesting ways. Another project could be teaching the AI the most efficient opening moves for the set of standard multiplayer maps, similar to what chess programs have been doing.

Other possible developments include reimplementation of the statistics gathering engine (old one written by Rusty Russel is available at http://stats.wesnoth.org) and creation of a fully-fledged campaign editor – either as a stand alone application or integrated with the editor as it is now.

All of this makes me really anxious to see how much work will get sponsored by Google, especially since a number of students have already got quite involved with the project.

GSOC – a lovely final

Finally, after almost 3 months and one package lost by polish national postal service, thanks to the powers of FedEx – I received my Summer of Code T-Shirt and a certificate of completion!

GSoC certificate

To Google, their Open Source team, MoinMoin developers and my mentor – Alexander Schremmer: thanks for the awesome summer!

Google Highly Open Participation Contest

Today, Google announced its Highly Open Participation Contest, a follow-up to the greatly successful Summer of Code program aimed at pre-university students! This is a pilot edition of a program, which requires students to complete tasks prepared by various open source organizations. In contrary to SoC, however, not all tasks are coding-oriented, so that they can provide a good introduction to the open source world for students, who are not (yet!) programming gurus. :) You can find more detailed information on the project’s FAQ page.

There are prizes for successful students, with a small monetary award for completing at least 3 tasks, and a Grand Prize for the best ones. GHOPC starts today, so don’t miss it!

P.S. spread the word. :)

Getting ready

(This post was migrated from my previous blog. Originally published: 2007-04-17 15:54:17)

Since the real coding is supposed to start on May 28th, I still have some time to read the code, get better understanding of it and prepare necessary tools. Turns out I’m going to use Eclipse along with PyDev extension to write my project, but I may have to buy additional 512 megs of ram to feed this beast. Also, I’ve recently discovered that using two monitors instead of one makes Eclipse much more usable. Finally, all the handynavigators, outliners and consoles don’t take all the space needed for code display:

eclipse.png

Another cool tool I’m going to be using a lot is Mercurial distributed SCM. Too bad it doesn’t integrate all that well with Eclipse. ;-)

As I’m about to write a XMPP bot, I have to find the best pythonic XMPP library out there. So far, there has been three interesting candidates: Twisted Words, pyxmpp and a new event-driven library SleekXMPP, recommended by Kevin Smith himself. All of these have very sparse docs, though, which is not good news…

On the Moin front, I have to figure out how to glue the code responsible for sending notifications with the current system of actions. The most elegant solution requires implementation of a notification framework, as suggested by Thomas Waldmann, but I’m tempted to leave this for future refactoring, when the bot part is ready. ;-)

Just FYI, a step-by-step progress report and feature list is maintained at the project’s page.

Planet SoC

(This post was migrated from my previous blog. Originally published: 2007-05-09 18:30:36)

I’ve just registered my blog with Planet SoC, a site which aggregates feeds from blogs of various people related to Summer of Code. Let’s see this post gets picked up. ;-)

In the mean time, it’s been decided that xmlrpc will be used for communication between the notification bot and wiki, mainly because MoinMoin already has a working xmlrpc interface, and it’s a well-known protocol, with good support from Python’s standard library.

I’ve also started to work on the jabber bot itself, so expect an update on this subject Soon™. Once it has the basic XMPP-related functionality (messaging, roster, presence) working well, I’ll try to connect it with Wiki, which is the very core of my task.

1st notification

(This post was migrated from my previous blog. Originally published: 2007-06-01 21:39:44)

It’s time for a quick update on my Summer of Code project progress. Four days have passed since the official start of coding, on May 28th, and yesterday the simplest usage scenario actually worked. Notification, that is:

notify1.png

On the screenshot above you can see a message from my notification bot, sent when a page I’m subscribed to was changed. The message is exactly the same for both email and Jabber notification, so i18n Just Worked™ without any additional changes. The code to make it happen was (and still is!) crude, with some hardcoded values here and there, but I feel it’s a good base for further development.

MoinMoin (note the new, funny domain) used to have no event system. Notifications of page changes used to be sent via email from within the PageEditor class itself, on page save. I’ve created a simple, plugin-based eventing “framework”, using the Observer pattern, and moved the notification code there. Then, using standard Python’s xmlrpclib module, added a tiny bit of code, that communicates with the notification (Jabber) bot.

The bot itself consists of three components, running in separate threads, which communicate through shared Queue objects. One of them is responsible for receiving and handling XML RPC requests, second one does all the work related to Jabber/XMPP communication, and third one will, in the near future, perform editing actions on wiki.

Back to coding…

Obligatory progress report

(This post was migrated from my previous blog. Originally published: 2007-06-18 18:29:09)

It’s time for my Summer of Code progress report, as we’ve just finished the 3rd week of coding. Incoming exams are slowing me down slightly, but otherwise everything is going well.

The current state of the event system I’ve introduced is there to stay. Notifications are being sent when pages are being created, deleted and edited, when someone adds a new attachment, creates an account or changes his/her JID in preferences. In addition, users can set which events they’re interesting in being notified about. Some of these are available to Super Users only, of course. The notification bot reacts accordingly, by managing its subscription list properly. On the bot side, I’ve implemented a few commands, mapping directly to Wiki RPC 2 API functions, notably GetPage, GetPageHTML, GetPageInfo and GetPageList. User interface is rather simple so far, as it utilizes only plain-text functionality of base the XMPP specification, but more advanced options using Out of Band Data and Data Forms are going to be implemented mid-summer. There are even some basic docs! :D

The following days will bring even more improvements – extended command list, more internal events and, I promise myself, unit tests, using the py.test toolkit.

There are also good news for those interested in trying these new features out: there have already been early merges of my development branch to the main 1.7 one, so people interested in new features (notification about user creation, anyone?) finally get what they’ve been asking for. As a whole it’s still rather buggy, though. ;)



Follow

Get every new post delivered to your Inbox.