Archive for February, 2007

Adventures at FOSDEM 2007

This is the first time I attended FOSDEM. It wasn’t planned for, but when I found out that there was a talk on The Zope3 Component Architecture by Olivier Grisel, I just had to go. Meeting people and being exposed to the industry were the primary objectives.

Arrived early at the scene, met up with a friend, and attended a talk on Quality in Python by Bader Ladjemi. He has introduced to us the Zen of Python, dos and donts, and more importantly on useful tools for Python programmers. Among others, there are three python tools that I reckon are worth mentioning – pylint (or cheesecake) for code quality check, Epydoc on generating API documentation, and coverage.py for measuring code coverage during Python execution. Though I’m not a programmer, I can pretty much guess that these are very useful tools to make sure certain standards are met.

Next up was The Zope3 Component Architecture by Olivier Grisel. He gave us a ride on Jeff Shell’s Zope 3 example on Duck Typing. It was good. It wasn’t something new to me, so it was refreshing to listen to it. Unfortunately, he didn’t actually go through it all, as well as not creating a live demo and add bits to it to make it more interactive. It was clear that component-oriented design has many benefits for the programmers, but it comes from a new way of thinking. During Q&A, he did advise that Zope 3 isn’t for small- to medium-sized projects because of its sheer complexity and steep learning curve. Question is, where do we draw the line of a project size?

My interest in quality led me to talk with Frédéric Fleurial Monfils. He works at the Centre d’Excellence en Technologies de l’Informmation et de la Communication on the QUALity in Open Source Software, aka Qualoss. We had a very good chat on quality level of open source software to which Jean-Christophe Deprez, who is the project coordinator, joined us. Many areas were touched upon and knowledge was exchanged at various levels. It was enjoyable. :) When he knew that my intention for using Zope is strong, he introduced Xavier Heymans, who is the CEO of Zea Partners, to me. A busy man that I didn’t dare to keep for too long, but we will be seeing each other at the Sorrento Sprint this coming March, which will give us, hopefully, more time to chat.

The rest of the day at FOSDEM was filled with chatters and laughters with friends and new friends. It was fabulous to be with fellow hackers/programmers/enthusiasts even though I was left out in the scene of dressing code. :)

Tip of the IceBerg (Part Deux)

Long awaited, but things have been moving frantically along… for example, I’ve just decided to move on from my current job ;)

The Content Providers (CPs):

Out of everyone in the value chain, the content providers do hold a huge responsibility for opening/developing the digital music landscape. (Especially for mapping out the legitimate market)

Why?

If anyone wants to license content, they would have to first contact the content providers, e.g. music, movie, games etc.

Before technology solution vendors, i.e. Siemens Networks, Sony Ericsson Networks, Groove Mobile, 24-7, MusicNet etc “sell” their E2E solution; they will need to seek the content providers’ approval of the overall architecture deployment, the use cases associated with the content and the DRM technology individually.

In any case, content providers hold all the confidential information first hand…on what’s the latest business model and technology. It makes no sense, at least to me, why SonyBMG and Warner Music Group (WMG) would jointly invest in Access China Media Solutions on the pretence of learning more about the DRM technology.

Leaving aside the current DRM hot topic aside (EMI, Steve Jobs etc)…and the already much publicised difficulty of licensing content (MotoMusic, Last.fm etc), the labels do have a huge say on developing the digital music landscape.

As the keeper of artists’ interest, I would be more interested in the business model, the transparency of the system (i.e. reporting standard) and especially the distribution channel. Yet, in all my dealings with the labels, the bottom line question has been:

  • What’s the revenue share?
  • What about the advance payment?
  • And, don’t forget about the minimum guarantee payment?

Is it right to use the above parameters to decide on a rather new born industry? What have the labels done to develop the digital market, other than, digitalizing their collection and opening it up for business???!!! Even then, the labels only started “developing” the potential of this business 3-4 years ago…when I believe I’ve been downloading and listening to MP3s for over a decade now.

Who pointed the way of digital music? And how have we shown our appreciation?

Python Framework Design Revisited

Few months ago, I wrote an article about whether MuSMo has chosen the right framework to develop our application. Up till now, I still can’t find any flaws whatsoever on my choice. But a recent article on Python Framework Design has sparked fresh thoughts from many. James Bennett shot straight into the bull’s eye of many people by saying,

There is no perfect framework. There are only different frameworks that suit different kinds of people.

This conforms to Carl Mercier’s entry on Why he moved from Ruby on Rails to Python/Django and back to RoR. It is afterall a framework that Carl understood best and felt most comfortable with. It’s not about the framework, or language, but it is how one systematically think to reach a goal.

Let’s come back to Zope and have a poke with it. Most of the times, I hear things that Zope is so complex it’s utter crap. The sheer complexity of it and its steep learning curve that puts off developers! Maybe there are people who can’t think the right way? Recently, I came across quite an old article by Duncan McGreggor who supports the views that

But, what I did discover with django was that it’s not my platform for web app dev: z3 is. This is because of the kind of developer I am, the kind of code I like to work with, and the kind of tools that allow me to be as productive as possible. This combination of factors is different for different developers. As many others in the community have pointed out, pick the right tools for you and the job.

When Zope 3 was released, the complete revamped of the framework brought a further divide from the Zope 2 communities, but they are regaining their ground when they actually saw the benefit of using a component architecture framework to build applications. A majority of them come from the Plone community. So. what does this say about the state of mind on a particular framework?

I think it’s hard to say when most, if not all, of us are bias to our own views simply because we somehow lack the experience and/or knowledge that enables us to objectively work through a framework’s limitations for a particular project, while another framework is best fit for this other project. But for it to work out right, we somehow still need the right developer who can execute and make magic with the application design. So how do we really choose? Or what is the right approach for choice? I believe that if I’m a capable developer, and wish to build an application for my organisation, I would certainly go for the most suited framework that I can understand best, and work out from there. It’s only logical. But for a person who will be employing developers to work on a project, I would rather pick the most flexible and mature framework that flies innovation and seek out for developers who can do the job. A noteworthy article written by Tim Bray on comparing frameworks enlightens the bigger picture of its importance.

In the end, either approach will get the job done. Question is, which do you, as a developer, feel most comfortable with? :)