Gentoo Logo
Gentoo Logo Side
Gentoo Spaceship

Contributors:
. Piotr Jaroszyñski
. Rodrigo Lazo

Last updated:
June 01, 2008, 15:11 UTC

Disclaimer:
Views expressed in the content published here do not necessarily represent the views of Gentoo Linux or the Gentoo Foundation.


Bugs? Comments? Suggestions? Contact us: planet@gentoo.org

Powered by:
Planet

Welcome to Planet Gentoo Summer of Code, an aggregation of weblogs belonging to this year's Gentoo Summer of Code students. We are running this alongside Planet Gentoo and Gentoo Universe.

September 22, 2007
A sad surprise while browsing the discussion group (September 22, 2007, 04:53 UTC)

I was browsing the discussion group when I found this discussion. I was shocked. That post was the summit of the peruvian mindset problem. That guy was blaming Google of the lack of peruvian students on Summer of Code!!. I'm the first peruvian student to be part of SoC, and it never crossed my mind that my proposal could be rejected because of my nationality.

I hate to see that a countryman blames somebody else of it's problems. I have seen that too many times; there are people that loves to complain about lack of opportunities here... and no matter what, they will always find a new thing to complain about. Too much complaining, we need to work harder!

Leave a comment

August 29, 2007
Piotr Jaroszyñski a.k.a. peper (homepage, stats, bugs) (paludis-python)
Python bindings for Paludis - end of SoC (August 29, 2007, 17:58 UTC)

Google Summer of Code is over, but, hopefully, the projects are not - at least I am not going to stop working on mine. I must say that SoC was very successful for me, I have learned plenty of new things and my dream of contributing to the Paludis itself came true. I must also thank all of the folks at #paludis, especially Ciaran McCreesh, my mentor Saleem Abdulrasool and rest of the Gentoo SoC staff for all the help.

By the way, it seems like a good time to start thinking about a project for SoC 2008 :)

Leave a comment

August 24, 2007
Piotr Jaroszyñski a.k.a. peper (homepage, stats, bugs) (paludis-python)
Python 2.5 and Boost.Python (August 24, 2007, 16:41 UTC)

As Python 2.5 is now unmasked in Gentoo I decided to try it with Boost.Python, more specifically with Python bindings for Paludis. Everything seems to work, but, of course, boost needs to be rebuilt first.

Leave a comment

August 15, 2007
Final week... this is the status (August 15, 2007, 17:37 UTC)

Well, SoC's final deadline is a few days away, I really enjoyed this time :). Let's talk about the status now:

Right now SCIRE's job subsystem is capable of create, distribute, run and monitor a job created, both for a single and for multiple clients. All this is also reflect on the UI code. Finally, all the code can be tested directly from the UI and everything seems to work (No bugs doesn't mean it's right, just that is doesn't have visible bugs). The latest patch implements the monitoring UI, and gives pretty usefull information about the job.

What is missing? Once a job is completed it could be marked as finished, failed or cancelled. If the job is non-recurring, there's no problem as all this just becames historical information. But for recurring jobs is a different story as it need to be re-schedule, isn't it?. For successfully finished jobs si pretty straight forward to assume that they should be rescheduled automatically. But for failed? or cancelled?. I'm very lean towards the user-should-choose option; after all, he knows better what to do for every situation, as it may depend on the job. So the best decision is not to let somebody else do the decision :). But you also need a good default, so I'll do this as follow: if a job has been marked as failed, re-schedule it automatically, but if is has been marked as cancelled, don't do it. This implies that the job creation template should include an option to modify this behavior. Also, the re-scheduling mechanism is not that hard to implement, the problem lies on who should execute it. The observer pattern should come to the rescue. Isn't it wonderfull when you figure out something while writing a post? I should blog more often :)

Leave a comment

July 11, 2007
[status update] Finally, semester over (July 11, 2007, 15:52 UTC)

Finally I've finished my semester!, although technically I have to take one more exam, it's due Sunday and not that hard anyway. So I can *finally* dedicate to my soc project 24/7. Here is the status report I've sent to the gentoo-soc mailing list:

Project description

SCIRE (Systems Configuration, Installation, and Replication Enviroment) "aims to create a widely extensible common portal for administrative tasks for multiple Linux client machines". The job subsystem deals with the creation, preprocessing, scheduling, distribution and execution of specific tasks for the client machines.

Project status

Step Backend-code UI Definition
Creation 30% 40% 100%
Preprocessing 0% 0% 30%
Scheduling 100% 100% 100%
Distribution 80% - 100%
Execution 50% - 50%

The Definition column refers to the specific way to do each step, and I've learned all this time that specific things cannot be forseen so, although in the proposal there is a specification, it isn't set in stone until it's feasible do code it and to code it efficently.

The main focus of the project up to today was on the scheduling and distribution steps. The former is finished and the latter has been halted until the creation step reflects the advances on the other ones. The preprocessing step will be the la it isn't essencial nor blocking of the rest.

On my soc proposal I splitted the project so the backend code would be written on the first half and the UI code on the other half, but my mentor suggested me to do them on parallel.

I'm a little bit behind my schedule, but now I have a lot more time to work on the project, so I'm confidence about finishing the project.

Timeline

9-15 July = Finishing updating the UI to reflect the latest changes

16-22 July = Finishing the distribution code

23-29 July = Work on the creation UI code

30-5 August = Finishing the Execution code

6-12 August = Finishing the creation code (both backend and UI)

13-18 August = Work on Preprocessing code.

Leave a comment

July 09, 2007
Piotr Jaroszyñski a.k.a. peper (homepage, stats, bugs) (paludis-python)
Boost.Python: docstrings in enums (July 09, 2007, 00:50 UTC)

For quite some time I wanted to add docstrings to enums exposed with Boost.Python as my project's API docs seemed incomplete. Let's see how I found the solution eventually:

Enum we want to expose:

// Nice enum!
enum Foo
{
    blah
};

While exposing the enum itself couldn't be any simpler:
BOOST_PYTHON_MODULE(enum_test)
{
    bp::enum_<Foo> enum_foo("Foo");
    enum_foo.value("blah", blah);
    ...
... adding __doc__ is completly another story.

First (silly) attempt:
    ...
    PyObject_SetAttrString(enum_foo.ptr(), "__doc__", PyString_FromString("Nice enum!"));
};
"It must work" I thought, but what I got on import then was far from satisfying:

TypeError: attribute '__doc__' of 'type' objects is not writable


After digging in Boost.Python, Python C API docs and harassing people at #python:
    ...
    PyTypeObject * pto = reinterpret_cast<PyTypeObject *>(enum_foo.ptr());
    pto->tp_doc = "Nice enum!";
};
Thils looked really promising... and what? Nothing at all! Changing tp_doc had no effect whatsoever, and only after some more digging, it turned out it was too late to change it and the right way is:
    ...
    PyTypeObject * pto = reinterpret_cast<PyTypeObject *>(enum_foo.ptr());
    PyDict_SetItemString(pto->tp_dict, "__doc__", PyString_FromString("Nice enum!"));
};

Boost.Python and Python C API are fun ;)

Leave a comment

June 20, 2007
Piotr Jaroszyñski a.k.a. peper (homepage, stats, bugs) (paludis-python)
Python bindings now in the scm ebuild! (June 20, 2007, 10:43 UTC)

Python bindings are now available in the paludis-scm.ebuild from the Paludis overlay. Just set the python use-flag and reinstall. Comments are welcome, but keep in mind it's far from the final version :]

Additional links: API docs, repository

Leave a comment

June 16, 2007
Piotr Jaroszyñski a.k.a. peper (homepage, stats, bugs) (paludis-python)
Python bindings for Paludis #1 (June 16, 2007, 17:45 UTC)

I was supposed to give some updates about my SoC project, so here is the much delayed first one.

I have been working on the bindings since the moment I thought about the project and had some code ready even for the initial project proposal. After it had been accepted I was continuing the work with bigger and smaller breaks. Meanwhile I was doing some contributions to Paludis in other areas, learning its internals and getting better at C++.
I believe the first big date for my project was 5 April 2007 when bindings code was initially imported to the Paludis repository (r2881). The second big date is still coming, which will be the release of Paludis 0.26 with the Python bindings included.
The exact status of the bindings is best seen in the repository or in the API docs, which I update every now and then.

Currently I am working on bringing *DepSpec up to date and preparing for yet another Paludis API change. The bigger plan is to finish bindings for all the core classes sometime soon...

Leave a comment

June 11, 2007
Status update - 10/11 June (June 11, 2007, 05:28 UTC)

Just a quick post. I've been working on the client and server code of SCIRE to include the new job model, is going well and today there was a interesting chat with my mentor and all the team at #gentoo-scire. This week's code delivery will be delayed a little bit, I want to include the latest modification suggested on IRC. Once I have everything set up I will do a more detailed post.

On the other hand, it's getting harder to balance the Summer of Code with the University, so far so good but I have to be very organized with my time :). Tomorrow I will give a lightning talk about plan 9 (an operating system from Bell labs that was designed to make Unix obsolete.) I'm not an expert on it... but I think is very interesting and I'm sure this will be the first time my teacher will hear about Plan 9... so It's going to be fun

Over and out

Leave a comment

June 07, 2007
First Week and a half ... (June 07, 2007, 02:20 UTC)

A week and a half has been since the Summer of Code officially began. I'm feeling more and more part of this and I'm as excited as when I was elected a month or so ago. But... we need to get down to business :)

All this time I've been working on two fronts. One is the database; basically defining how to create the relationships between jobs, its metadata and the target clients; the scheduling schema is going to use a crontab-like string as is by far the best way to do it and also is a well known syntax for the users. The database modifications weren't taken lightly as everything is going to be based on the database so they were very well talked with codeman and agaffney. If everything goes as it should *wink* the database schema shouldn't be modified from now on.

On the other side I've been working on the client and server side of the app. I've been using pychecker to review the code. It's easy to make mistakes if you are used to use a compiler to check your code :). On the server side I've added support to command-line arguments. I'm trying to check the client-server connection before doing any other work, and for some reason the SSL authentication is throwing me an error if the server and the client are on different machines; but if they run on the same they work... weird. Once that is over I'll focus on fix all the functions I broke with the modification to the database.

On a side note I finally have everything ready to work, the kvm virtual machines are working flawlessly and with the extra Gigabyte of RAM I just bought there's not a single delay while working with several virtual machines. Great!

Leave a comment

April 14, 2007
Proposal published (April 14, 2007, 18:17 UTC)

Just a quick post, my Summer of Code proposal is now available here. Any comment or feedback is more than welcome!

Leave a comment

Application accepted! (April 14, 2007, 03:00 UTC)

My Summer of Code application has been accepted! When I first saw it I couldn't believe it. I have been accepted to work for the Gentoo Foundation. My proposal is "SCIRE's job subsystem implementation for both the frontend and backend."
Continue reading "Application accepted!"

Leave a comment

April 13, 2007
Piotr Jaroszyñski a.k.a. peper (homepage, stats, bugs) (paludis-python)
My brand new blog and Google Summer of Code (April 13, 2007, 15:05 UTC)

Welcome to my brand new blog!

Thanks to seredipity setting it up was quite easy :] I've been thinking about making one for quite some time and today I have eventually decided to do so. Why today? Well, GSoC! My proposal was accepted as one of the Gentoo projects. In short, my task is to make python bindings for Paludis, the Other Package Mangler for Gentoo. If you want more details, check out my application and, if you are even more desperate, code, which I have already written. Also ciaran was nice enough to write a few words about it, but don't forget to ignore the rubbish about Python :]
So... I am planing to blog about progress of my project, some Gentoo stuff, and... time will tell.

P.S. 1) My name is Piotr Jaroszyński (hence the domain), I live in Warsaw and am first year Computer Science student at Warsaw University.
P.S. 2) I hope my pathetic 256 kbit/s upload will manage ;]

Leave a comment