13 November, 2010

Plutocracy in the USA, Canada and UK

Watched Michael Moore's "Capitalism: A Love Story" and went searching on the net for those incredible CitiGroup memos he cites there. They talk about the Plutocracy in the USA, Canada and UK and the growing income inequalities in those countries. All from the point of view of equity investment. They were not so easy to find as many source links have been removed over time.

I've read the first one and skimmed through the second. Pretty interesting. Looks legit, but as with everything you find online, to be taken with a grain of salt:

Plutonomy: Buying Luxury, Explaining Global Imbalances

Revisiting Plutonomy: The Rich Getting Richer

Update (Jun 7 2011): Got contacted by a law firm representing Citigroup asking for the removal of those PDFs from dandrader.com (my website) as I'm infringing their copyright by reproducing them without any authorization. Therefore I've removed the PDFs and updated the links above to point to other URLs that still publish those reports. What's interesting is that this is a confirmation that those reports are indeed authentic.

25 September, 2008

New job, new country

Moved to Helsinki (Espoo, to be more precise) to work as a Lead Developer in the Maemo team at Nokia this month. Lots of new, interesting and exciting stuff both inside and outside my new work!

20 November, 2007

Nokia Internet Tablet Video Converter

That's a really easy to use, aesthetically pleasing, application where you can conveniently convert any given video to a format best fit for Internet Tablet playback.

Right now it's in Beta state and can be found here.

The application is split in two parts: XULRunner for the GUI (frontend) and a simple TCP server (backend) to do the real work (converting the videos, fetching media info, etc). The communication between then being comprised by simple ASCII strings resembling XML (but *much* more strict to keep parsing a piece of cake).

This means that you don't need ITVC's GUI to use the backend for transcoding and, more importantly, you can write your own backend for ITVC with a reasonably small amount of effort.

Therefore you can, for instance, write a "hello world" style Python TCP server issuing mencoder commands and use it as your ITVC backend, uniting a pleasant interface with the power of mencoder. Developer's docs and facilities will only be released later on though.

The GUI code is free software, javascript code released under BSD license, but for a couple of XPCOM components to handle some small bits.

It's a shame that Nokia currently offers only a Windows XP release but the architecture was carefully thought out to be multiplatform. Having ITVC on Linux is mostly a matter of making a GStreamer backend. The backend's TCP server is already multiplatform as it uses Boost and ASIO libraries.

The reasoning behind releasing it first as Windows-only seems to be that the majority of PC users use Windows and that Linux users are much more sophisticated and thus tend to use more sophisticated, "personalised" tools (mencoder anyone?). If you ask me, I think Linux users like beatiful and usable GUI as much as anyone else (why in the hell we wouldn't!?!?).

As some could have already concluded, I was working in ITVC's team for the past few months, but now I've moved on and will do just code review and architecture consultancy on it.

18 September, 2007

Python SocketServer.ThreadingTCPServer Example

I was surprised to find that SocketServer.ThreadingTCPServer don't have any documentation at all. So after spending some time on Google I finally found a very good example at a forum thread.

I'm posting it here hoping to make it easier for people on the web to find it:
import SocketServer

class EchoRequestHandler(SocketServer.BaseRequestHandler):
    def setup(self):
        print self.client_address, 'connected!'
        self.request.send('hi ' + str(self.client_address) + '\n')

    def handle(self):
        while 1:
            data = self.request.recv(1024)
            if data.strip() == 'bye':

    def finish(self):
        print self.client_address, 'disconnected!'
        self.request.send('bye ' + str(self.client_address) + '\n')

#server host is a tuple ('host', port)
server = SocketServer.ThreadingTCPServer(('localhost', 5000), EchoRequestHandler)

This is a simple "echo server" which will reply everything you send to him. Send "bye" to close a connection.


03 July, 2007

Nero for Linux!

Now I'm surprised.

A full featured version of Nero made for Linux, developed using glib/gtk. And they are available as both RPM and Debian packages.

It's really nice to see a "traditional" software house making its products for Linux.
This kind of action is important to make it a viable platform for regular end users, avoiding the Windows lock because their software (e.g., Autocad, 3D Studio, Photoshop, etc) is available only for Windows.

28 May, 2007

Delivering A Powerful Message in 30 seconds

This subject has been haunting me for quite some time.

A really nice ad from the Work Less Party.

16 April, 2007

Back from vacations and fisl 8.0

Back from one month backpacking in New Zealand. A great place to go if you like the outdoors. It was odd to notice that at every hostel about 50% of the backpackers were from Germany. Second place goes to Israel.
I made some friends and met a lot of nice, interesting, people. I have to do it more :-) But it's good to be back at work.

Spent just a few days back at home (Recife) and then went to Porto Alegre to give a talk on Tapioca VoIP & Telepathy at fisl 8.0 (8th International Free Software Forum). It was good to see the room full of interested people.
The funny thing is that I stopped working on Tapioca & Telepathy a few weeks before my vacation.

Labels: , , , ,