Tuesday, September 7, 2010

How to play online streaming videos (Youtube, Metcafe etc.) on Ubuntu 64 bit.

The 64-bit version of Ubuntu has issues playing youtube and other streaming videos from browser. Reason being the browser shipped with the OS is itself a 64-bit browser. The Adobe Flash player 64-bit plugin is still under development and yet not released. A beta version of the same was included in Karmic Koala, which has now been removed for further improvement. .

One workaround would be to install 32-bit Firefox from Mozillla repository and install the 32-bit Adobe fFash player plugin. The other way would be to install the beta version of the 64-bit Adobe Flash player which is now available from other repositories. Following are the steps:
1. Remove all other flash plugin intallations. Use the following shell script

#!/bin/bash
apt-get remove --purge flashplugin-installer
apt-get remove --purge flashplugin-nonfree gnash gnash-common mozilla-plugin-gnash
apt-get remove --purge iceweasel-flashplugin mozilla-flashplugin firefox-flashplugin
apt-get remove --purge swfdec-mozilla libflashsupport nspluginwrapper iceape-flashplugin
apt-get remove --purge xulrunner-flashplugin midbrowser-flashplugin xulrunner-addons-flashplugin
rm -f ~/.mozilla/plugins/*flash*
rm -f /usr/lib/firefox-addons/plugins/*flash*
rm -f /usr/lib/firefox/plugins/*flash*
rm -f /usr/lib/iceape/plugins/flashplugin-alternative.so
rm -f /usr/lib/iceweasel/plugins/flashplugin-alternative.so
rm -f /usr/lib/iceweasel/plugins/npwrapper.libflashplayer.so
rm -f /usr/lib/midbrowser/plugins/flashplugin-alternative.so
rm -f /usr/lib/mozilla/plugins/*flash*
rm -f /usr/lib/xulrunner-addons/plugins/flashplugin-alternative.so
rm -f /usr/lib/xulrunner/plugins/flashplugin-alternative.so
rm -f /var/lib/flashplugin-nonfree/npwrapper.libflashplayer.so


Save the above script in a file say... remove_flash.sh and give it executable permission
$chmod u+x remove_flash.sh

Download

2. Add the following to the Software Sources:

http://ppa.launchpad.net/sevenmachines/flash/ubuntu lucid main

One way to do this is through Applications > Settings > Software Sources.
Once added issue the following command:
$ sudo apt-get update && sudo apt-get install flashplugin64-installer

Check opening firefox and opening up any youtube video.




Qt-Creator: Using native/platform specific library

Unfortunately, Qt-Creator so far does not provide for addition of native/platform specific dependencies from its UI. The only way to do it is by editing the .pro file manually.

An example:

If the Win32 API GetKeyState() contained in User32.dll is used in your code, append the following lines to the .pro file of your project:

win32 {

LIBS += User32.lib

}

Simlarly, an Unix specific dependency will go into a block like this&

unix{

LIBS += -L/usr/local/lib -lmath

}

Tuesday, June 22, 2010

C++ WholeNumber (BigInteger) container on way

Publishing something after quite some time…..

Well the new kid on the blog is a C++ container for a Whole Number (0 < n < ∞). This is much like the JAVA BigInteger class. It will enable you to perform mathematical operations on big positive integers/whole numbers with the ease of using a native data type. All mathematical and logical operators for supporting normal operations are being added.

Some examples for its use might be finding the results of:

100!

234^567

999777775558778115674556555555555555555555555/5678988909

No special operations are required, just use this class as a native datatype to achieve the above mentioned.

Insertion/Extraction operators have been overloaded too, enabling normal console I/O.

It is still under development, an initial working prototype is ready. Loads of operators still remain to be overloaded.

You can have a peek at it at http://bitbucket.org/agnit/wholenumber/ . It is hosted on bitbucket.org as a public mercurial repository.

You'll need to have mercurial installed on your system to create a local clone of the repository.

Currently, the project consists of 2main files:

WholeNumber.h

WholeNumber.cpp

and a test program.