Irfan’s Corner on the Web On Mac, Linux, Grid, Virtualization and Software Technology

12Dec/080

Good PyObjc Tutorial

I've been looking for a good PyObjC Tutorial. The official Apple one is ages old and not comprehensive enough.

Fortunately the "An Epic Introduction to PyObjC and Cocoa" tutorial, is indeed an epic introduction to PyObjC and highly recommended for anyone planning to get started with Cocoa development in Python.

28Dec/0616

The fastest Download Manager for Linux is on its way!

I've been disappointed by the state of linux download managers for quite some time. While on the Windows platform, some excellent download managers exist such as FlashGet, Internet Download Manager and Download Accelerator Pro, besides many others. What is it that sets these download managers apart? Its their support for what I call "multithreaded downloading", enabling them to download different parts of a single large file in multiple streams, independantly of each other! The benefit: an exponential increase in download speed. On a shared 2 MB/s if I use the ordinary linux download managers: kget,wget etc.. I dont get more than 50Kbps, but because I'm short on time, I go to a windows machine with one of the above download managers installed, and guess what the speed is: 160-220 kbps! Its not a Windows vs. Linux issue, its just that a 'serious' download manager in my opinion has never been developed for Linux. But this will soon change! I've started a project, in python which aims to be feature compatible to the download managers I've mentioned above. I've developed the module which allows me to download a file in independant chunks, parrallely. I'll keep you all posted on the progress. I'm also thinking of using Jython for this project, to create powerful Java frontend for it, so that people in Windows/Mac don't have to use those download managers above and pay licenses!

Are there any features which you would like to see in this download manager, for now I'm calling it Py/Downloader?

12Nov/060

Diving into Python

Recently due to a project(I am part of a group building a next generation operating system, which would allow seamless resource sharing on a global scale) complication I decided to ditch a particular component and implement it in another alternative language. I explored various possibilities. The component is a SOAP web service based thing. It was previously implemented in C, using the Axis2/C framework. The initial impetus to use the Axis2/C framework was to make a web service based component which was as fast as possible. But the problem is that Axis2/C is not mature, it hasn't even crossed the 1.0 milestone! The component was riddled with segmentation faults. It only worked in Slackware 10.2! When we upgraded to Slackware 11.0 in our lab, the component stopped working! I spent some 8 hours trying to debug it but to no avail! I finally decided to ditch the component and implement it another language which was more productive than C and didnt have manual memory management. I had numerous alternatives, Java, which I found to be too resource demanding; PERL, the problem with perl was that I am the only one in the team who knows PERL, and I would have to implement everything myself, I finally settled on a combination of Php and Python. I read somewhere that Python had bad performance as compared to php in hosted applications. So I decided that the server side portion of the component is to be php based and the client side portion is python based, and we have ample expertise in the group in both php and python.

With this effort I hope to dive into python and contrast it to Perl, I will write a subjective comparison of the two languages soon.