Monday, January 18, 2016

OpenStack adventures part 1

Yes, right, adventures...

Oh, I should have written a post like this earlier.

Well, everything is alright and I'm enjoing my Outreachy internship with Zaqar project.

MRW I find a new bug (clickable):

 MRW when I find a new bug

Caution: GIF, 44 MB

So many different tasks

I do so many things in OpenStack while solving Zaqar-related problems.

I often discover and learn new things, how they work and how they probably shouldn't. In different projects I find bugs, I triage and report them. I contribute implementation and bug fix patches to different repositories. I communicate with other OpenStack teams. I do code reviews. I write documentation. And sometimes I take dirty jobs which no one is willing to take.

And I feel slow... Like other human beings I'm more effective when solving similar to each other problems. The types of problems I have to solve and things to learn in OpenStack often are very different.

When I applied for internship I thought I wouldn't be doing all this, but I want to be useful for Zaqar. Zaqar has a very small team now and I want to do more than completing my internship task. Because completing the internship task is not my final destination.

And it pays off!

My skills are growing.

My project team leader, Fei Long Wang, said that he's very happy that I'm in his team. And after I fixed failing DSVM gate tests for Zaqar during christmas holidays, he said he would like to give me a big hug.  I think he's a wise man and knows how to motivate each individual member of his team. =)

What's also good is that that the number of things I need to learn in OpenStack decreases with time. Well, I hope so. And if it's true, I'll be really effective soon.

My internship task

My main internship task is to implement support for binary data in the websocket transport in Zaqar.

My specification was approved and the patch is ready. With this patch Zaqar can really serialize and deserialize data to the MessagePack format and communicate using this data with the also patched client application. It saves some traffic and works few times faster on Python than when text data (JSON) is used for communication.

I think I should create also a second patch for binary serialization. There are some built-in types in MessagePack, but it's specification allows to use also "Extended types".  So I will create an extended type, and it will hold just a number. In Zaqar and the client application I will map the values of this extended type to the common words used in Zaqar's websocket requests/responses. It will GREATLY reduce the traffic in the cases, when requests and responses don't contain much data, for example, when exchanging short messages.

My English language skils

My English language skills are growing too. I can feel it. This blog post might seem nice, however, when I talk to people in the real time, sometimes my speech is not very good.

The productive environment

Here I am, sitting all days near computer. It's winter and nothing to do outside, where the temperature varies from -25 to -10 celsium degrees. The central heating is unable to warm my flat. Unless I'm dying, I'm staying at home. Well, I can die from lack of food, so short raids to the local shop are a matter of course.

I hope you liked this post.


No comments:

Post a Comment