MultiGet – a multithread download manager for Ubuntu Linux desktop

It’s extremely frustrating to have your download progress interrupted, especially when you are downloading several (relatively large) files over the Internet. Fortunately, there’s MultiGet, a download manager that supports multi-connection and parallel downloads.

MultiGet is easy to user, and from my observation, it’s interface closely resemble Flashget download manager from Microsoft Windows platform. The differences is, that MultiGet runs natively on Linux, and it supports multiple operating system too.

MultiGet has a simple, friendly user interface that is easy to use. Best of all, it supports batch task downloading.

MultiGet Screenshot

MultiGet Screenshot Ubuntu

MultiGet is available from Ubuntu universe respository

How to Embed Web Browser in Python GTK application using pymozembed

Embedding web browser or a screen for parsing HTML is easy in PyGTK. You only need to import the pymozembed, and add a few lines of code in your pygtk library, and you are set to go.

Here’s a sample PyGTK application that embeds a web-browser as well as a “Back” button for demonstration purpose :

PyGTK + browser Screenshot
PyMozEmbed PyGTK+ Mypapit Demo

[python]
#!/usr/bin/python
#
# demo by mypapit (info@mypapit.net) – Sept 2009
# http://blog.mypapit.net/
#
import pygtk
pygtk.require(‘2.0’)
import gtk
import gtkmozembed

class PyMoz:

def delete_event(self,widget,data=None):
print(“Exit”)
return False

def destroy(self,widget,data=None):
gtk.main_quit()

def button_clicked(self,widget,data):
data.go_back()

def __init__(self):
#init mozembed
self.moz = gtkmozembed.MozEmbed()
#create a Vertical Box Container to whole the browser
#and the “Back Button”
box = gtk.VBox(False,0)

#create a basic GTK+ window
win = gtk.Window()
win.add(box)

#create and connect “Back” button, to add functionality
self.button = gtk.Button(“Back”)
self.button.connect(“clicked”,self.button_clicked,self.moz)

#include both back button and the browser in the vertical box
#and the GTK+ window
box.pack_start(self.button,False,False,0)
box.pack_start(self.moz,True,True,0)

#load the URL
self.moz.load_url(‘http://blog.mypapit.net/’)

#set the window title
title=self.moz.get_title()
win.set_title(“browser demo”)

#show all the stuffs on screen
win.show_all()

#connect the delete_event and destroy event to make sure
#the app quits when the window is closed
win.connect(“delete_event”,self.delete_event)
win.connect(“destroy”,self.destroy)

if __name__ == “__main__”:
PyMoz()
gtk.main()

[/python]

Download demo source code : pymoz.py

Working hard publishing papers and learning PyGTK

For the last few weeks I’ve been working hard to finish up my research project, most of it concerning about on mobile phone application usability and context-aware applications. This leaves me with less  time to devote for this blog and I started to realise that I might have a ‘burn-out’ issue at the same time.

I’m still using Ubuntu in my daily work if you are curious (Ubuntu Netbook Remix 9.04 for netbook) and Ubuntu Jaunty Jackalope for my Intel Core 2 Duo Desktop PC. Besides writing those research papers, I’ve use what left of my time to learn PyGTK to enable me to code RAD app for GNU/Linux desktop environment.

I found out the references around the internet regarding PyGTK is very helpful to aid me in understanding the GTK+ bindings in python, which is not much different from its C counterpart.

Now that I’ve some time to spare until Hari Raya, I’ll try to use that time wisely to fill up this blog with a couple more of fresh new posts. So, keep reading!

How to solve Pidgin Yahoo Messenger Connection Problem

pidgin logo

Lately, it seems that some people are having trouble connecting pidgin to Yahoo Messenger services. The problem seems to be associated with the Yahoo server itself.

Solving the Yahoo Messenger problem
A temporary solution for this problem is to change the Pidgin YM server setting.

Go to Accounts->Select your YM screen name->Edit Account->Advance.

Then change the original value of “scs.msg.yahoo.com” to any of these ip address:
66.163.181.183, 66.163.181.166 , 66.163.181.169, 66.163.181.170, 66.163.181.172, 66.163.181.171, 66.163.181.181, 66.163.181.182

As shown on the screenshot :

Pidgin Modify Account

Note that this is only a temporary solution and you should only use this as the last resort.

How to Use Launchpad account as OpenID URL

OpenID is a standard that allows you to log into many websites or services using a single identity as oppose to memorize several different username and password on different websites.

Websites that provide OpenID identity are called OpenID providers. There are many OpenID providers, and one of it is Launchpad. Launchpad users can use their Launchpad account URL as OpenID URL in order to access OpenID-supported websites or services.

For example :
https://launchpad.net/~mypapit

The general form of Launchpad OpenID URL is: https://launchpad.net/~your_user_name.

Where I can use OpenID for authentication?

You can use your Launchpad URL for authentication at websites or services that feature OpenID logo. Examples of such services is Blogger comment form, Sourceforge and Facebook.

OpenID Logo

How to use Launchpad account as OpenID provider?
On website that supports OpenID, enter your Launchpad account url : https://launchpad.net/~your_user_name, replace your_user_name to your own username. Then, you will be directed to your launchpad account, enter your password and you will be automatically authenticated for the current service.

Screenshot example :

Using Launchpad Account as OpenID

The favorable side-effect of using your Launchpad account as OpenID is that you can indirectly promote (and probably brag) about your contribution (aka karma) towards Ubuntu.