Skip to content

Minimal, Mouseless firefox

08-Feb-10

When i use firefox (or any application) , i hate to take my hands away from the keyboard and do stuff with the mouse. I get stuff done with either using pre defined shortcuts or by navigating the menu using keyboard. This got me into looking for a keyboard nav solution for firefox and i must say i hit the jackpot.

  1. Install MLB ( mouseless browing ) firefox extension. A quick review here : http://lifehacker.com/5125564/mlb-supercharges-mouseless-browsing
  2. Install Personal Menu – this can condense all your menu items into one button and then fit that as a button on the navigation toolbar.
  3. Get rid of menu from Personal Menu preferences
  4. Learn a few shortcuts :D – http://lifehacker.com/software/feature/hack-attack-mouseless-firefox-139495.php
  5. Remove all the unnecessary buttons from navigation toolbar – The forward-backward-Home-Reload buttons.

I now have a  firefox  with very minimal UI and accessible using keyboard. The tutorial video on MLB’s homepage is very informative. Don’t forget to watch it.

PS: If you use Google Docs/other menu navigated structures, using mouse will be far more effective than MLB. Also , MLB does’nt work for flash.

And of course YMMV. What works for me maynot work for you and vice versa :D

Still on Arch Linux

02-Feb-10

I started off my last year with Arch Linux. I never thought i would stick to it for this long, but it has been the least attention demanding among the distro’s  I have used. There were no upgrade hassles and I always have the latest and greatest software once I do ‘pacman -Syu’.  I have my system setup with KDE 4.3 to do python, mono and C++ development. I have IDEs like Netbeans, Monodevelop and Qt Creator as well as the evergreen editor emacs with required packages for python/c++. I  am willing to share the package cache – just comment if you need the packages and you are in tvm. Also, I will be happy to help if someone wishes to install Arch Linux

Using Allegro and Gcc to replace TurboC++

20-Nov-09

When I ask engineering students to switch from TurboC++ to gcc on GNU/Linux, they always tell me about their graphics lab. Even though they can do all the other lab exercises on gcc-on-GNU/Linux, they hesitate when it comes to graphics. The tried and trusted graphics.h and conio.h seems to be the problem. For getting over it the students have to be given an alternative that is as easily usable and has at least a similar API. Now an opportunity for this came when Mar Baselios College of Engineering here in Trivandrum decided to move all of their computer labs to FOSS. They asked the community here to help .

We ( == me, Anoop Jacob Thomas, Prasad S R and Sooraj Kenoth ) looked at alternatives to TurboC++’s graphics functions  and decided that since SDL is very popular and seems to be widely used, it would be a good choice. It was then that Syam Krishan C R , an ISRO engineer, suggested allegro. So I checked it out. Here is what I found

  • Its API is very similar to the primitives available in TurboC++’s graphics.h. You can modify working TurboC++ code to use Allegro very easily.
  • Its crossplatform – even if you are on Windows, you could use this.

Here are the steps I had to take to use Allegro on my GNU/Linux machine:

  1. I had to install allegro libraries. I use Arch Linux, so I used pacman to install it. In Debian based systems the following command should work:   sudo apt-get install liballegro-dev
  2. Checkout what the whole thing is about –  a very very minimal intro can be found here : http://www.cppgameprogramming.com/cgi/nav.cgi?page=allegprimitive
  3. When its time to compile and link the code , use something like ‘ g++ main.cpp -o main.out `allegro-config –shared` ‘

Here,  main.cpp is your code. allegro-config is a utility that gets installed when you install Allegro. It gives you the options that you have to pass to the compiler when linking programs that use Allegro.  Instead of running this program , getting the output and using it as parameter to g++ , we put the program in backticks (`)  so when the shell see the above command, it will first execute and hen replace the command in the backticks with the output.

I used Netbeans as my C++ IDE. When you use Netbeans, you have to do two things.

  1. To enable code completion, you have to show netbeans the path to the allegro header files. Go to: Tools > Options > C/C++ > Code Assistance tab > C++ Compiler tab . Click on Add an browse to /usr/include/allegro. Click Ok.
  2. When building a project in Netbeans  C++ IDE , you have to tell it how to link the allegro libraries. For this, right click on your project’s name in the project window, select properties and click on ‘Linker’ under the Build category. Under the heading libraries, click on the button with the text ‘…’. This opens up another window. Click on Add Option, select ‘Other option’ and put `allegro-config –shared` in the text area. Remember to include the backticks. Thats all you need to do.

I tried to port some TurboC++ code that Anoop Jacob Thomas gave me.  Click here to get it. Extract it. The folder ( GraphicsDemo) is a Netbeans project. If you have Netbeans C++ ide installed, you can open the project from inside Netbeans by clicking File > Open Project and then browsing to it. Otherwise, open a terminal, change into the extracted directory and type ‘make’ (without quotes). This should produce the executable  dist/Debug/GNU-Linux-x86/graphicsdemo . Just change into that directory and do a ./graphicsdemo to run the program.

Inside the archive, there is a file called Transformations_OriginalCode.txt. This is the original TurboC++ code. The three files you have to look for are : main.cpp, CommonFunctions.h and Transformations.cpp (which is the modified code). The code is pretty self explanatory. I did only minimal changes to the code. In fact I modified only the drawPolygon() method and removed the myclrscr() method from the code completely.

Do point out any errors you might notice.

Blog updated

18-Nov-09

I cleaned up some things and updated wordpress as well as the theme . ( the theme is now very minimal ).

Some images and downloads maybe missing, but nothing crucial :)

SRWare Iron

17-Nov-09

I have been using Chromium web browser on my Arch Linux, on which Google Chrome is based. It was a pleasent experience. It loads fast, hogs less memory and loads tabs very fast. On the whole, I liked it so much that I use it for most of my browsing except for online banking. I do miss the extensions , but the speed and responsivness makes up for it.

Since it was a wee bit older ( it didnt have the extensions feature ), I thought I would update it via Arch User Repository. I had forgotten the exact name of the package so I did a search for Chromium and the following entry popped up on my screen.

“aur/iron 4.0.227-1 (125)
A web browser based on chromium without Google’s tracking ‘features’”

It was then that I realized that even chromium has phone back home features built into it. But it was then that another facet of FOSS world showed itself . SRWare took the source code, removed those tracking features and added features ( like ad blocking and and a later version of webkit ). I uninstalled Chromium right away and replaced it with Iron. I must say that its sweeter than Chromium. I think people should give it a try.

India’s UID plans on wikileaks !

13-Nov-09

I just noticed this on wikileaks tweet feed. A can of worms is in the sights ..

Link: http://bit.ly/4mOrx4

From wikileaks :

“Confidential plans for 1.2 billion ID cards: Creating a Unique ID for every resident in India, Nov 2009

This confidential working paper (49 pp) presents the current plan for India’s Unique ID Databse Project. Numerous RTI (Right to Information ) petitions failed to obtain this document about the world’s biggest citizen identification scheme.
Because the project will likely become a model for many countries the document is of global interest.
Jounalists can contact Nandan Nilekani, Chairman of UIDA, the Unique Identification Authority.
This confidential working paper (49 pp) presents the current plan for India’s Unique ID Databse Project. Numerous RTI (Right to Information ) petitions failed to obtain this document about the world’s biggest citizen identification scheme.
Because the project will likely become a model for many countries the document is of global interest.
Jounalists can contact Nandan Nilekani, Chairman of UIDA, the Unique Identification Authority.”

Installing English – Malayalam Dictionary on Arch linux

12-Sep-09

From a discussion on ilug-tvm mailinglist

Prerequisites : yaourt should be installed

Installing the server

Step 1: Issue the following command on a terminal and answer whatever questions may pop up. This will install the dictd server to your system: yaourt -S dict-freedict-eng-mal

Step 2: start the dictd server by issuing the following command :
* If you have sudo installed , then : sudo /etc/rc.d/dictd start
* else become super user by typing in su at a terminal and inputting the super user password . Now run /etc/rc.d/dictd start

Step 3 [ optional ] : If you wish to use the server quiet frequently, you might want to have it running always.  For that, add dictd to the end of DAEMONS list in your rc.cof

eg: (syslog-ng dbus hal @cpufreq @net-profiles @network @netfs @crond alsa @sshd @dictd)

The @ makes your process startup in backround and init wont wait for the startup to complete before proceeding .

Installing the client :

I use a client called dikt. I installed it by issueing the following command  : yaourt -S dikt. Once this is complete, startup dikt. Click on Settings>Configure Dikt. In the window that pops up , you can add your own dict servers. Just type in ‘localhost’  and add it to the servers list. It will be better if you can move the dict.org entry or  you can remove the dict.org entry if you will be using only English-Malayalam dictionary. Now you can start using dikt to lookup words.

I know the whole thing looks a little tedious, but this is what i did ,  and it works :)

Testing the new Pidgin ( with google chat / video )

21-Aug-09

Great news . Pidgin 2.6.1 came out – this now means that I no longer will be forced to use proprietary software for audio chat.

I have started testing it on my Arch linux system. I have to try compatibility between the following : Pidgin, GTalk client, empathy. So far the results using pidgin 2.6.1 are :
[TABLE = 2]
Remarks : So far , only GTalk has been tested.  Accepting calls initiated by GTalk doesnt work with pidgin. I cannot start my video while on an audio call with GTalk client.

I will update the rest of the columns as soon as I finish testing.

FOSS and my friends

04-May-09

I am at a point in life where I can actually look back and see more than childhood and antics at college. I have few friends from college and from school. But then I realize that I now know a number of good, kind people. People who have been highly critical of my bad ideas and highly supportive of my good ideas. People who saw me for what i am and accepted me without any fuss. In short, very good friends. And they are all FOSS supporters.

The way I judge people who i am certain of being familiar and supportive of FOSS ideals is entirely different from the way i judge others. I trust them way faster than I trust others. No, I dont harbor a disliking to people who are not aware of FOSS or does not support it. But I trust and accept people who are in sync with that philosophy  a bit faster. And in all these years, I have done this without having to be afraid of misjudging people.

You share your joys, i.e) the good stuff in your life with your friends. This is a concept which defines FOSS. This sharing, hence, is naturally a trait of those who are attracted by it.

If anybody is reading this, and they dont know what FOSS is, read and learn about it , try to get involved. It might or might not reward you with opportunities and money, but it certainly will reward you with good friends.

Blogged with the Flock Browser

I know how to make a Plasmoid :D

04-Apr-09

I wrote a small plasmoid that will display fortune cookies from fortune-ml database for the fortune program. A new cookie appears every 30 minutes or on every click on the plasmoid.

Santhosh put the code into smc git yesterday. The plasmoid is written in Python and is generic enough that it will accept any fortune database. I have hardcoded it ( for now ) to use fortune-ml though. Until I figure out how to create dialogues in pyQT and learn to use the KDE configuration framework, its going to be just fortune-ml.The code is pretty straight forward. More time was spent looking up APIs and Python stuff than actually writing it down

Thanks to Praveen for testing the code and Santhosh for creating the fortune-ml database.

Summary : Plasmoid written in pyQT, depends on : KDE 4.2 , fortune-ml (available in SMC git )