August, 2007

Interview to the Developer Team Leader

Yesterday I interviewed the Team Leader of our Beeseek Developers
Team, andrea-bs, in the nice virtual parlour we have here :-)
He explained what he did to release Hive's first alpha. This is the
first of a long series of interviews we'll do.

JAK: Hi andrea-bs, what's your real name?

ANDREA-BS:Andrea Corbellini


JAK: The nice thing about internet is that everyone can work on projects like beeseek, comfortably from his home. So we'd like to know where you live...

ANDREA-BS: I live in Cremona, north Italy.


JAK: How did you learn about Beeseek?

ANDREA-BS: I regularly read Ubuntista's blog, he posted about this idea and I was immediately taken.


JAK: Why did you join a Beeseek?

ANDREA-BS: The main reason is that it is an open source project.


JAK: Why you decided to join a project that aims to enter a highly competitive market like search engines?

ANDREA-BS: Because I've always loved servers, p2p, databases and python, and this seemed a good chance to improve my skills and at the same time collaborate in a community to develop an open source software.


JAK: You are the Team Leader of the Developers Team, what do you know about that?

ANDREA-BS: I know Python pretty well, altough it never stops suprising me. I completed various projects that used homemade peer to peer networks. I never had a chance to delve into SQL, but I'm fine with that now.


JAK: Self learner?

ANDREA-BS: Yep, 100%!


JAK: Let's move on your work on Beeseek: at the moment you are working by yourself at the development of Hive. Can you elaborate on that, and tell us what you've accomplished so far?

ANDREA-BS: Hive is not a unique block, from a threading and code perspective, but is divided into different processes and moduls, each one regarding a specific task. The "Package settings" interprets and manages the other packages; because of its importance, it is the first one on which I focused my attention, and because it's the most complicate one. We need to be sure that the program is not at risk because of a bad configuration, for example. We included the logging component in the same package, to allow a single object to handle the most recurrent operations (harvesting settings and keeping track of actions). Most error handling was included in the logging part to reduce the number of calls to recurrent functions. The package that handles the server part, and so the socket, is clearly visible in the server package. This package gave us many problems, because the default libraries in Python, although very powerful, didn't allow the flexibility we needed. The "hive" file launches the other components, and checks if there is another instance already running, to avoid problems related to the sharing of resources. The executable Hive-Manager configures and manages Hive while it is running.


JAK: Today the alpha release of Hive has been published. What does this mean for Beeseek?

ANDREA-BS: Alpha 1 is an important step for Beeseek. If everything goes fine, we can collect datas and start diffusing the software.


JAK: so, there are new goals for the programming part?

ANDREA-BS: In the future I see a support for clients, that can really help the start of the project. The server must be capable of handling thousands of requests and answers without problems. I would also like to personally focus on Hive, rather than on Hive Manager. At this moment, hive-manager can be used, but is slightly difficult to address, and in few days we'll release a browser extension. I hope someone will help me soon in the future.


JAK: What problems you met to reach Alpha 1, and what the most fun parts?

ANDREA-BS: Nothing fun :D!
The main problem was with Dreamhost, that was killing the process whenever we tried to manage more than one connection. When I discovered this with a small stub, I changed many things in the
project, in fact the clients are not always connected, but ping every once in a while. The remaining was not difficult, and, if Alpha 1 will give us the expected results, that would be the nice moment I'm waiting for! There is one very interesting part, though, it is the overall project: I already worked on similar things, but I had to mix many skills and knowledges to obtain results in this case.


JAK: Well, we're at the end of this interview... If I forgot to ask you something, that's your moment now :D

ANDREA-BS: No, I don't think you forgot anything, today we have a new part to develop and I already want to write some code!


JAK: Well, we have two similar roles... we need to write things! Good work, and thank you!

Translated by Ubuntista

Hive and Hive-manager Alpha 1 released

Released Hive and Hive-manager Alpha 1 Versions. Hive is the main application running on the BeeSeek server, while Hive-manager is a tool to control Hive from a local machine. Hive is now running with two instances on BeeSeek's server in order to test Hive itself. At the moment there are some problems, but we are analyzing them in order to understand if these problems are Hive bugs or hosting service problems.
Is active on the wiki a page dedicated to all the news about BeeSeek. The page is at http://www.beeseek.org/wiki/it/News
Have a great BeeSeek expirience!
CohibO.