Skip to content

Instantly share code, notes, and snippets.

@vkmc
vkmc / GHC Essay - Victoria Martinez de la Cruz
Created March 30, 2015 19:51
GHC Essay - Scholarship 2014
I heard about the Grace Hopper Celebration during my GNOME Outreach Program for Women [1] internship [2] and I has been interested in attending since then. The following reasons have motivated me to apply for a scholarship.
From the time I started college I have been curious by the fact that women in computing in my home country are hard to find, and that there is little being done by local organizations to change this. I believe that change has to start somewhere, so I have been trying to spread the word about some of the available opportunities - like OPW and Rails Girls Summer of Code (RGSoC) [3] - between women in my college with some success. I've also presented a publication about my OPW experience [4] in the 42nd JAIIO JSL [5], a national conference that gathers researchers and professionals in FOSS from many important universities and companies across the country. I'm looking for more ways to encourage women to join computer science careers and jobs in my country, and I'm certain that GHC is the perf
@vkmc
vkmc / Websockets for Zaqar
Created December 1, 2014 01:30
Meeting #1 - 01/12/14
- Serialization protocol
It has been discussed to use MessagePack for many reasons, including
- No need of an external compiler
- Support for many languages (including Python, Javascript, our main need ATM)
- Ease of deployment
- Performance
Leaving that aside, we noticed that Profobuf has been chosen for the POC and we looked into it. Regarding this benchmark [0], MsgPack could perform slightly better than ProtoBuf (we should check it again given that this article is of 2011). We also got some similar opinions regarding Protobuf during the summit.
Related spec: https://review.openstack.org/#/c/122425/2/specs/kilo/define-a-wire-protocol.rst
- Websockets? http://tools.ietf.org/html/rfc6455
Pros: Persistent. Faster than HTTP. Its on port 80 (firewall friendly). There is a 'secure' version. Full duplex! Both server and client have to support them.
Cons: Inits with an HTTP handshake... so no HTTP, no Websocket. It won't fit some of the use cases (?). Only transmits text or JSON.
POC: Yes.
- Raw TCP?
Pros: UBER fast. Not tied to the web.
Cons: Lower level, harder to implement.
░░░░░░░░░▄░░░░░░░░░░░░░░▄░░░░
░░░░░░░░▌▒█░░░░░░░░░░░▄▀▒▌░░░
░░░░░░░░▌▒▒█░░░░░░░░▄▀▒▒▒▐░░░
░░░░░░░▐▄▀▒▒▀▀▀▀▄▄▄▀▒▒▒▒▒▐░░░
░░░░░▄▄▀▒░▒▒▒▒▒▒▒▒▒█▒▒▄█▒▐░░░
░░░▄▀▒▒▒░░░▒▒▒░░░▒▒▒▀██▀▒▌░░░
░░▐▒▒▒▄▄▒▒▒▒░░░▒▒▒▒▒▒▒▀▄▒▒▌░░
░░▌░░▌█▀▒▒▒▒▒▄▀█▄▒▒▒▒▒▒▒█▒▐░░
░▐░░░▒▒▒▒▒▒▒▒▌██▀▒▒░░░▒▒▒▀▄▌░
░▌░▒▄██▄▒▒▒▒▒▒▒▒▒░░░░░░▒▒▒▒▌░
@vkmc
vkmc / D:
Created August 12, 2014 15:33
Versioning for this project requires either an sdist tarball, or access to an upstream git repository.
(env)[fedora@marconi-tests transport-amqp10]$ pip install -e .
Obtaining file:///home/fedora/marconi-transport-amqp/transport-amqp10
Running setup.py (path:/home/fedora/marconi-transport-amqp/transport-amqp10/setup.py) egg_info for package from file:///home/fedora/marconi-transport-amqp/transport-amqp10
ERROR:root:Error parsing
Traceback (most recent call last):
File "/home/fedora/marconi-transport-amqp/transport-amqp10/env/lib/python2.7/site-packages/pbr/core.py", line 104, in pbr
attrs = util.cfg_to_args(path)
File "/home/fedora/marconi-transport-amqp/transport-amqp10/env/lib/python2.7/site-packages/pbr/util.py", line 238, in cfg_to_args
pbr.hooks.setup_hook(config)
File "/home/fedora/marconi-transport-amqp/transport-amqp10/env/lib/python2.7/site-packages/pbr/hooks/__init__.py", line 27, in setup_hook

Multiple SSH Keys settings for different github account

create different public key

create different ssh key according the article Mac Set-Up Git

$ ssh-keygen -t rsa -C "[email protected]"
@vkmc
vkmc / gist:161373b4588db6936aee
Last active August 29, 2015 14:04
Code all summer long in OpenStack: experiences and outcomes of an intern

Code all summer long in OpenStack: experiences and outcomes of an intern

The end of Google Summer of Code (GSoC) is near, so I wanted to share with you how things worked out for me.

Precisely I wanted to let you know my perception about what it takes to participate to GSoC, the blockers you may encounter and how to overcome them, what to expect after the internship and a brief description of what I have been doing during my internship.

What it takes

@vkmc
vkmc / Transport AMQP 1.0 - Messages
Last active August 29, 2015 14:03
Transport AMQP 1.0 - Messages
# Messages
Marconi AMQP
POST MESSAGES post_message operation
./client.py amqp://127.0.0.1:8888/poptart/
{subject: 'Saying hi!', body: 'POPTARTS @¿@'}
LIST MESSAGES [D] list_message operation
./client.py amqp://127.0.0.1:8888/poptart/messages
OR
./client.py amqp://127.0.0.1:8888/poptart/
@vkmc
vkmc / Marconi API v1 mapping with AMQP 1.0
Last active August 29, 2015 14:01
Marconi API v1 mapping with AMQP 1.0
Interaction with the broker using Apache Proton library
Apache Proton API http://qpid.apache.org/releases/qpid-proton-0.7/protocol-engine/python/api/index.html
# Queues
AMQP Queues are created in a lazy way (when messages are sent). The put() method in the Messenger class is used with that purpose.
AMQP Messenger class http://qpid.apache.org/releases/qpid-proton-0.7/protocol-engine/python/api/proton.Messenger-class.html.
@vkmc
vkmc / gist:51d0b9b8175c8cdce305
Last active August 29, 2015 14:01
Storage backend selection for Marconi
- Swift
Pros: Better (the best in fact) integration with OpenStack. Easy to deploy and operate.
Cons: Sharding? https://blueprints.launchpad.net/swift/+spec/container-sharding
- RethinkDB
Pros: Flexible schemas and scalability. Similar to MongoDB but aims to overcome scalability and practical limitation of the latter. Easy to setup and learn. Written in C++ like Mongo.