Run two dropbox account at a time on Ubuntu

I started from a position of having a working first account (mine).

First step is to move the existing account, and get it working …

So you can probably replace “me” and “other” in the commands below with “personal” and “business” or whatever you want to call them.

1] Stop the existing dropbox daemon running.

2] rename existing account .dropbox folder

mv ~/.dropbox ~/.dropbox-me

3] create a new bash script ‘’, containing the following:

HOME=/home/me/.dropbox-me /home/me/.dropbox-dist/dropbox start -i

Note that I found that pointing to /home/me/.dropbox-dist/dropbox made the difference – using the one in /usr/bin caused the same error you are seeing. I’m not really sure why, I was just experimenting and it worked.

4] and make it runnable:

chmod 775

5] use “system->preferences->startup applications” to add this script as a startup application. (actually, I edited the existing dropbox startup application to point at this script).

I now had a running dropbox after restart (or just running the bash script).

Second step is to configure the new account (for “other”):

6] create a new bash script ‘’, containing the following:

HOME=/home/me/.dropbox-other /home/me/.dropbox-dist/dropbox start -i

7] and make it runnable:

chmod 775

8] run this script, and follow usual registration (or existing account) process, to get it configured. Using a different location that the first account.

[at this point I had two working dropbox accounts]

9] use “system->preferences->startup applications” to add this other script as a startup application.

Restarted the PC and it all came back with the two dropbox Icons on the panel, etc.

Hope this works for you.

3 Hidden Features In Firefox 15 You May Want To Enable

Firefox 15, which has been released a few days ago, comes with some cool features disabled by default: native PDF viewer, preferences in tab and click-to-play plugins.
These features have been in testing for quite a while, but they are not 100% ready so they aren’t enabled by default and there are no options in the Firefox preferences to enable them. But, if you don’t mind an occasional glitch, you can enable them  using the about:config tool.

firefox 15 native pdf reader pdf.js


Firefox 15 comes with a native PDF reader that uses JavaScript (pdf.js) to open PDF files directly in the browser. This feature is disabled by default but it can be enabled by following these steps: open a new tab, type “about:config”, search for “pdfjs.disabled” and set it to “false” (double click it).
firefox 15 preferences in tabs


In Firefox 15, you can also enable ‘preferences in content’ which makes the Preferences window open in a new tab instead of using a new window. To enable this, type “about:config” in a new tab, search for “browser.preferences.InContent” and set it to “true” (double click it).
firefox 15 click to play plugins


And the third hidden feature in Firefox 15 is “click-to-play” plugins, which disables plugins like Adobe Flash by default but you can still play them with a single click. This prevents Flash and other plugins from loading automatically. To enable ‘click-to-play plugins’ in Firefox 15, type “about:config” in the address bar, search for “plugins.click_to_play” and set it to “true“.

Note: after changing the native PDF reader and click-to-play plugins preferences in about:config, you need to restart Firefox for the changes to take effect.

How to Cross Compiling with codeblocks using linux

The following is how I did this on Ubuntu ‘Precise Pangolin’ Linux:

Step 1:

Install MingW32 for linux

# sudo apt-get install mingw32

Step 2:

Settings->Compiler and debugger settings

 Select GNU GCC Compiler and click the Copy button.
 Name this: MingW32 Compiler

Step 3:

Click the Compiler tab and then click the #defines tab.
Add the following:


Click the Linker tab and the following under “Other Linker Options”:


*Note: Not all of these are REQUIRED… As I have been recently messing with compiling apps for windows with ogl and dx9 support I have realized that there are some additions I have needed to add here… I will update accordingly when I know more.

Step 4:

Click the Directories tab and the Compiler tab.

 Modify the path to read the following (where ix86 is your architecture type):

Click the Directories tab and the Linker tab:

 Modify the path to read the following (where ix86 is your architecture type):

Click the Directories tab and the Resource Compiler tab:

 Modify the path to read the following (where ix86 is your architecture type):

Step 5:

Click the Programs tab:

 C compiler: i586-mingw32msvc-gcc
 C++ compiler: i586-mingw32msvc-g++
 Linker for dynamic libs: i586-mingw32msvc-g++
 Linker for static libs: i586-mingw32msvc-ar
 Debugger: i586-mingw32msvc-gdb    **** MORE ON THIS LATER ****

Click OK and save your changes.

Step 6:

Ubuntu’s mingw32 package and from what I can tell, MingW32 in general doesnt really have a solid gdb option for debugging natively in linux so we’re going to work around this using wine and mingw32’s latest insight build for windows

Install Wine


# sudo apt-get install wine

Step 7:

Download Insight here:


Step 8:

Once you download insight.exe, extract the archive using wine:

wine insight.exe

I extracted this to my desktop

Step 9:

Move the insight folder to /opt

the path should now look like


Step 10:

create a shell script in /usr/bin:

(note: shell scripts should start with a hash (#) bang (!), ie: “# ! / bin / sh ” [with no spaces] but when I add that the forum post tanks)

# sudo gedit /usr/bin/i586-mingw32msvc-gdb

and add the following:

wine /opt/insight/bin/gdb.exe "$@"

Save the file and quit gedit

Step 11:

# sudo chmod +x /usr/bin/i586-mingw32msvc-gdb

Now we have a way to execute the windows version of mingw32’s gdb for windows in linux using our shell script wrapper

Step 12:

Create a new console application project in Codeblocks…

Using the wizard select the MingW32 Compiler option.

Step 13:

Right click the project and go to properties. Click the Targets tab and set the Output Filename to be whatever you want with a .exe file extension. Make sure the Type is a Console Application.

Step 14:

Hit F9 in codeblocks and the hello world application runs!! YAY!

Set a breakpoint on line 5 and hit F8 and the application breaks in the debugger!! Woot!

Now you can successfully compile, execute, and debug windows applications in linux using codeblocks!!!

Source post:  Click here

(C/C++) How to make windows executable file(.exe) from GNU/Linux

To make windows executable file(.exe) from GNU/Linux you need a Cross-Compiler named ” mingw32

  • Installation

If you using Ubuntu  then install “mingw32".You can install it many ways but if you are lazy as like me then you can use terminal.Give this command on terminal.

sudo  apt-get  install  mingw32

Replace “apt-get” with “yum” or whatever your linux distro uses.


To compile C  source code give below command on terminal

i586-mingw32msvc-cc  main.c  -o  main.exe

here main.c is your c source file and main.exe is you desire .exe file name.

To compile C ++  source code give below command on terminal

i586-mingw32msvc-c++  clock.cpp  -o  clock.exe

here clock.cpp  is your c++ source file and clock.exe is you desire .exe file name.

Now you can run those main.exe and clock.exe on Windows OS. if you want to run those .exe file on linux you need wine or  other software that can run windows executable file. I prefer to use wine its  free.

to install wine on Ubuntu give this command on terminal

sudo  apt-get  install  wine

Replace “apt-get” with “yum” or whatever your linux distro uses.

now type on terminal

wine  main.exe


C Program Without a Main Function


How to write a C program without a main function?. Is it possible to do that. Yes there can be a C program without a main function. Here’s the code of the program without a main function…

#define HRS(f,a,c,e,b,o,Q,k) f##b##Q##k
#define shadhin HRS(m,r,s,h,a,d,i,n)

//HRS = Habibur Rahman Shadhin

int shadhin()
        printf(“”Shadhin” Awesome!!!!!!!!!!!!!!”);

Does the above program run without the main function? Yes, the above program runs perfectly fine even without a main function. But how, whats the logic behind it? How can we have a C program working without main?

Here we are using preprocessor directive #define with arguments to give an impression that the program runs without main. But in reality it runs with a hidden main function.

The ‘##‘ operator is called the token pasting or token merging operator. That is we can merge two or more characters with it.

ψ NOTE: A Preprocessor is program which processes the source code before compilation.

Look at the 2nd line of program –

#define HRS(f,a,c,e,b,o,Q,k) f##b##Q##k

What is the preprocessor doing here. The macro HRS(f,a,c,e,b,o,Q,k) is being expanded as “fbQk” (The ## operator merges f,b,Q&k into fbQk). The logic is when you pass (f,a,c,e,b,o,Q,k)as argument it merges the 1st,5th,7th& the 8th characters(tokens).

Now look at the third line of the program –

#define shadhin HRS(m,r,s,h,a,d,i,n)

Here the preprocessor replaces the macro “begin” with the expansion HRS(m,r,s,h,a,d,i,n). According to the macro definition in the previous line the argument must be expanded so that the 1st,5th,7th& the 8th characters must be merged. In the argument (m,r,s,h,a,d,i,n)  1st,5th,7th& the 8th characters are ‘m’,’a’,’i’ & ‘n’.

So the third line “int shadhin” is replaced by “int main” by the preprocessor before the program is passed on for the compiler. That’s it…

The bottom line is there can never exist a C program without a main function. Here we are just playing a gimmick that makes us beleive the program runs without main function, but actually there exists a hidden main function in the program. Here we are using the proprocessor directive to intelligently replace the word begin” by “main”. In simple words int shadin=int main.