Uncategorized


It took a while but we are now able to confirm we have rooms for the November 6 – 8  GNOME Boston Summit. For Saturday and Sunday we will be in the Tang Center again (part of the Sloan School) in the same rooms as last year. Monday is a little trickier since class is in session. We may have a couple of rooms spread out on the campus. We are still working out the best options there but we will have rooms on Monday to hack in.

Please go to the 2010 Summit page and tells us you are coming!

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Is it that time already? The GTK+ Python Hackfest is coming to Cambridge, MA. Right over the Longfellow bridge from historic Boston, we will be hacking at the OLPC offices to get the GTK+ Python bindings fully Python 3.0 compatible and moved over to using GIntrospect as its base.

Thanks goes out to the GNOME Foundation for sponsoring the hackfest, OLPC for providing space and Walter Bender of Sugar Labs for setting us up with a host.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

// Because sometime you just need everything in the global context
var Module = imports.module;
for (i in Module)
    this[i] = Module[i]; 

// note this only works from scripts eval'ed via the C API
// gjs_context_eval or gjs_context_eval_file
// as this == [global object]

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

For those who are flying into Boston and then taking the FUDBus up to FUDCon I have crash space literally down the block from where the FUDBus is picking us up. I have two couches and an Areo Bed for anyone who needs it. Get in touch with me on IRC.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

For various reasons I am staying out of government politics these days but that doesn’t mean I’m going to stay away from a bit of controversy when it comes to my beloved Open Source crowd.

I remember at one Boston Summit, being held at the MIT Stata Center, where Luis Villa, our much appreciated lawyer in training (or is he an actual lawyer yet and more importantly can we start cracking lawyer jokes?), was holding a Marketing BOF. In this BOF we ended up listing things that GNOME didn’t do well in which someone who was not part of the GNOME community but rather an invited guest took the session to mean that GNOME was in serious trouble and was folding in on itself.

What this person failed to realize is that self introspection and acknowledging ones weaknesses is the first step to becoming stronger. In our case it was the first steps to becoming a stronger community.

It is with this in mind that I read Henri Bergius’ great synopsis on the Apple MagicMouse vs the Open Office mouse design. It illustrates one of Open Source’s short comings with mitigating complexity. To stereotype us collectively a bit, we are like Sheldon from the show the Big Bang Theory. Sheldon can solve complex theoretical physics questions in his sleep but ask him to engage in simple social interaction and he hides behind condescension and excuses the interaction as unimportant.

Similarly, ask us to solve a complex computer problem and we will do it but ask us to make it easy to use, something the masses would go out and spend money on, and the same indignant statement seems to permeate every discussion about it – “that’s not something I would want to use”. Ok, so the analogy isn’t fair because as a group we are as diverse as any other but from the amazing things that we have produced it is clear that collectively we have a hard time hiding the complexity of it all. For some reason Apple is able to promote ease of use and they get praised for it but when we try to promote it we hit a wall of cynicism – “You’ll have to pry my user interface from my cold dead hands!”

So the question is will we ever learn how to mitigate complexity or will we just leave that for others to add as a competitive advantage? Is our end goal to just be a building block of modern technology or will we be the finished product itself? I don’t have that answer but I do know it is something we need to introspect on. We need to ask ourselves these hard questions, not as acknowledgement of failure but as acknowledgement of the fact that we can always do better by honestly and without cynicism, examine our weakest points. As other parts of the industry learn from our successes in development and internally implement changes based off of the Open Source model, we too need to look at their successes in the mass market and see what we learn from them.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Sean’s wedding is down in the books and now it is time for my twin sister’s wedding. For that I am flying out to Rome today and will be running around Italy for the next two weeks. Four days in Rome, three in Venice, three in Lake Como and one in Milan.

I won’t be bringing a computer so I will only be checking my public e-mail accounts infrequently at internet cafe’s. The best way to reach me will be by phone.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

About

Kamaloka-js is an implementation of the AMQP messaging protocol in native JavaScript. It is setup to be used with Orbited but can be used with any library which produce TCPSockets in the browser similar to Orbited. Kamaloka bindings are generated from qpid XML protocol description files.

Status

You can currently :

  • negotiate a connection with an AMQP 0.10 server (support for adding and loading different versions is there if a new spec comes along)
  • issue any commands and controls described by the spec (whether or not the server is doing anything with them has not been verified yet but, it doesn’t drop your connection)

Some limitation:

  • for now we don’t handle multiple frames or channels though this feature is planned down the road
  • we don’t do automatic version negotiation, but then we only implement one version

Why Kamaloka

amqp-js was taken by a project that implements the 0-8 AMQP protocol through Flash. If some day the qpid project wanted to use kamaloka-js as the definitive AMQP javascript implementation I would be happy to rename it qpid-js, but I am not that presumptuous. The thought process for the name went like this:

qpid->cupid->kama->kamaloka

Since Kama is in the same lexicon as Moksha (another project I work on which will be using the bindings) I thought it fit nice. It also allows me to name the QMF bindings kamarupa-js since according to the wikipedia Kama page “Kama-rupa is a subtle body or aura composed of desire, while Kama-loka is the realm this inhabits.” So QMF inhabits AMQP :)

Playground

Included in the distribution is a playground for testing the bindings in interesting AMQP configurations on your local machine. As pieces get implemented the playground will expand to show off different ways of using the bindings. Bellow is an example of using the current low level bindings based off the python subscribe example:


<script type="text/JavaScript">
   Orbited.settings.port = 9000;
   amqp_broker_port = 7000;

   amqp_conn = amqp.Connection({host: 'localhost',
                                port: amqp_broker_port,
                                send_hook: function(msg) { // for debugging
                                                       append_msg('SENT', msg);
                                                  },
                                recive_hook: function(data) { // for debugging
                                                        append_msg('RECV', data);
                                                    }
                             });
    amqp_conn.start();

    // You should have your server generate a UUID since browser methods
    // are unreliable at best
    session = amqp_conn.create_session('not_a_great_id' + (new Date().getTime() + Math.random()));

    var fedoraproject = "org.fedoraproject-" + session.name;
    session.Queue('declare', {queue:fedoraproject, exclusive:true});
    session.Exchange('bind', {exchange: "amq.topic",
                              queue: fedoraproject,
                              binding_key: "org.fedoraproject.#"});

    // Bind each queue to the control queue so we know when to stop
    session.Exchange('bind', {exchange:"amq.topic",
                              queue: fedoraproject,
                              binding_key:"control"});
</script>

Give me the code

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Hey everyone, my two roommates are moving out to be closer to the city. Those who have been to my place know it is an amazing apartment in North Cambridge, MA with a five minute walk to the Alewife T station. If you are looking to move or know someone who needs a place let me know. The lease is for a year and is super inexpensive at $635 a month per person plus utilities.

Oh and you will have to like dogs since Ty is staying too :)

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Since Mozilla decided to back ogg Vorbis and Theora as a baseline standard, Monty committed to leading the charge for a better encoder, Edward Hervey has been kicking butt and taking names with PiTiVi and now Blizzard has blogged about Dailymotion using open codecs, everything seems to be falling nicely into place. One can’t help but admire building momentum.

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

I don’t think it fits in the true definition of ironic because after finding out that Google bought a defunct paper mill I would have expected they would change it into a data center. What would have been ironic is if they had continued to make paper. No this is not ironic but it is highly symbolic – something which I am sure was not lost in the decision to buy the mill. When we look back in better days at the sudden economic downfall, we will be saddened by the upheaval and toll it took on many lives, but we will also be buoyed by the fact that with every great shift comes positive change. Hopefully we will be looking back from a world that wastes less and has more opportunities for all those living in it. 

[read this post in: ar de es fr it ja ko pt ru zh-CN ]

Next Page »