Showing posts with label Tips. Show all posts
Showing posts with label Tips. Show all posts

Saturday, 6 September 2014

Moving steam games to another drive

So I came across this recently and thought to share it with you guys.

First of all, exit steam completely. If you've closed it, check if it's in the system tray and if it is, exit from there as well. Now, fire up Windows Explorer and go to where steam is installed on your computer. In my case, it was in the default installation directory (C:\Program Files (x86)\Steam).

Once in the folder, delete everything EXCEPT the SteamApps folder and Steam.exe. Now, go UP a directory level and move the whole Steam folder to wherever you want it to be. In my case, I moved it to E:\Games folder.

When the move is complete, double-click on the steam.exe. It'll re-download steam client for you and will require you to login to your steam account again.

So that's it. You should have all your games available to you in your new drive location!

Original source: https://support.steampowered.com/kb_article.php?ref=7418-YUBN-8129

Thursday, 18 July 2013

Using find command to search for a particular directory in unix

I was looking for a particular directory today on my computer and I didn't know how to do it. After spending some time searching for it, I found the following command:

find [parent directory] -type d -name [directory name]

So in my case:

find /home/vader -type d -name wrapper_scripts

Optionally you can also use:

find /home/vader -type d | grep wrapper

Thursday, 20 June 2013

Copying symbolic links (UNIX/Linux)

At some point, you might come across a situation where you have some files and a bunch of symlinks (symbolic links) in a folder and you wish to copy the data that is pointed at by the symlinks and not just blank links. If you are using Redhat Enterprise Linux, this should automatically happen when you call the cp command. However, on UNIX platforms or Linux distributions, this is not the case by default. In those cases, you will have to issue the following command:

cp -L {file(s)} {destination folder}

The -L option in cp command forces it to follow (dereference) symlinks and copy the data that is pointed at by the symlink.

In case you do not want to follow symlinks, you can issue the following command instead:

cp -P {file(s)} {destination folder} 

Wednesday, 19 June 2013

Mounting ISO images on linux

So I learnt this today and decided to share it with you guys. If you have an iso image and want to mount it on Linux, simply execute the following command in terminal:

sudo mount -o loop mydisk.iso myfoldername

So in my case, I had iso file called 2012photos.iso on my desktop and I wanted to mount it on folder called 2012pics which was on Desktop as well. I executed:

sudo mount -o loop /home/manthan/Desktop/2012photos.iso /home/manthan/Desktop/2012pics

Sunday, 16 June 2013

The application was unable to start correctly (0xc000007b)

So I found this error when I started Lotus Notes this morning. After looking through some forums, I found that I needed to re-install Microsoft Visual C++ 2010 (Redistributable) from here.

This error is usually caused by C:\Windows\System32\MSVCR100.dll being corrupted. Reinstalling VC++  fixes it.

Saturday, 11 May 2013

Managing password expiry for a user account (Unix/Linux)

I find this very useful on several occasions so here we go. Login as root and execute the following:
passwd -x -1

So if you want to remove password expiry from bob's account, type:
passwd -x -1 bob

Notice that -1 parameter after -x represents number of days before the password expires. Since we do not want the password to expire, we have set it to -1. However, you can set it to any value you want. So, if you want your password to expire after 90 days (i.e. 3 months) for bob's account, type:
passwd -x 90 bob

Tuesday, 7 May 2013

Checking memory (RAM) size on Solaris

If you want to check how much RAM your Solaris machine has, here's how:
/usr/sbin/prtdiag -v | grep -i memory

You can also try:
/usr/sbin/prtconf | grep -i memory

Thursday, 2 May 2013

Removing password expiry from your unix machine (Linux and Solaris)

Here's a quick one. If you have a server and you do not want the password for a user to expire (as it can screw some things up while its active), you need to execute the following commands as root:

passwd -x -1

where is the username whose password expiry you wish to remove. For instance, in my case, if username is dm014, I executed:

passwd -x -1 dm014

I have tested this and it works flawlessly on linux and solaris.

Wednesday, 1 May 2013

Compiling C++ easily on Linux (Easy C++ build system)

I was developing some C++ stuff on my Linux virtual machine and wanted to create something that would make it easy for me to compile C++ code. So I wrote up some bash code and added it into .bashrc as a function. Here's the code:

function cpprun(){
        echo "Checking if output directory exists..."
        if [ ! -d "./output" ]; then
                echo "Creating output directory..."
                mkdir "./output"
                echo "Output directory created."
        elif [ -f "./output/cpprun.o" ]; then
                echo "Backing up previous output..."
                mv ./output/cpprun.o ./output/cpprun.bak.o
                echo "Backup finished."
        fi

        echo "Running g++ compile..."
        g++ -o ./output/cpprun.o *.cpp
        if [ -f "./output/cpprun.o" ]; then
                echo "Compile finished."
                echo "Running output..."
                echo "-----------------"
                ./output/cpprun.o
                echo "-----------------"
                echo "Run finished."
        else
                echo "Compile failed."
        fi
}


Add this to your .bashrc script and then you should be able to compile your C++ code by typing cpprun in the base directory.

Saturday, 20 April 2013

Changing mysql username and password used by phpmyadmin

So, I had to do this the other day and I got a bit confused. After poking around a bit, I finally found it. If you have xampp installed, go to the install directory. In my case, this directory is C:\xampp which is the default directory. Locate the phpmyadmin folder and open it. Locate the config.inc.php file within the phpmyadmin folder. Open up the file. You need to make change in the following two lines:

$cfg['Servers'][$i]['user'] = 'root'; 
$cfg['Servers'][$i]['password'] = 'password'

The underlined parts are the ones that you've got to change. This file contains a lot of admin stuff so make sure you look around a bit and understand what it does.

If you don't know what you are doing, ensure you take a backup of the file before changing things.

Sunday, 14 April 2013

How to prevent class redefinition errors in C++

I have just started learning C++ and have been getting a lot of these errors. I finally found a solution to this after spending some time on the internet.

Say for instance you have a class called "Animal" and g++ complains that this class is being redefined. Just add the following two lines at the very top of the Animal.h file:
#ifndef ANIMAL_H
#define ANIMAL_H


and add the following at the very bottom of the file:
#endif

So, if your class is called SomeClass, then it will be SOMECLASS_H instead of ANIMAL_H. You should have these in every header file. It prevents that header file from being redefined more than once.

Saturday, 13 April 2013

How to tell which Linux partition a directory is on?

This is really simple. First of all, you need to know the full path to that directory. "cd" into that directory and type:
pwd

and it will display full path of the directory you are in. Remember that or even better, copy it to the clipboard. Type the following command to know the name of the partition:
df

where replace with the full path of your directory. This in my case becomes "df /data/android/sample".

If you are already in the directory, you can type "df ." and it will give details about the partition you are currently on.

The output should be something like:

Filesystem    1024-blocks      Free %Used    Iused %Iused Mounted on
 /dev/hd4            32768     16016   52%     2271    14% /


The highlighted part is the name of your partition.

Friday, 27 April 2012

Linux - Windows comparison


Well, I wrote the following article a year ago. A YEAR AGO! I'm actually amazed that I wrote such a thing. Well, so... Here it goes...

Linux, as you all know, is a free-open source operating system. Inspire of having number of advantages over Windows, Linux is still free and of course open source. Now, you might be thinking why I'm using terms 'free' and 'open' source separately. 'Free' means that Linux is freely available and downloadable from internet. Some of the vendors like 'Ubuntu' offer CDs loaded with Linux absolutely free of cost. Open source means that if you know kernel programming and mechanics of operating system, then you can actually tweak Linux and also program Linux from a scratch. That's open source and Linux provides that flexibility. Unlike Linux, Windows is not open source. It does not allow user to modify its kernel or components. This is one of the reasons why Linux is hot favourite among young developers.

What separates them?
The main difference between Linux and windows is their build. Practically, Windows is created only by Microsoft Corporation while Linux has been created and tweaked by entire world! Why entire world? Because, it's open source. If I have Linux and I find a bug, then I can tweak and remove that thing myself. I also tell the organization about the bug which I fixed. So, they verify it and tell their rest of the consumers about the fix. So, that's how it all works. With windows, it is not like that. I must appreciate Microsoft’s efforts in improving windows because in new versions of windows – The Vista Series – they have put an improved version of error reporting like Problems Report and Solutions. With that you can just submit the error report. You cannot tell them how to fix that even if you know. Of course, you cannot fix grave errors in windows even if you think because it's not open source!



Who's better on performance?
Practically, on considering stable releases of Linux offered by several organizations like Ubuntu, Debian, Fedora, etc., no doubt Linux outperforms Windows. Windows has always been a bulky operating system taking several minutes to boot up, then a minute to get stable and so on. While with Linux, running on an average PC, booting up is a child's play for Linux, 10 – 15 seconds is a limit. Even if 'background processing' indicator on mouse cursor is on, you can still get your stuff by clicking. Exploring your computer is just with double-click of a button. You'll never find this speed on Windows!
Also, shutting down your PC is a matter of 5-6 seconds for Linux. And what's more? Linux works on a 1 GHz PC with 128 MB RAM and even 10 GB Hard Drive!

What's your colour today?
Unlike Windows, Linux provides a lot of customization features. It is so flexible that you can customize almost everything. From changing your wallpaper to behaviour and animation of minimizing/maximizing a window, you can change and tweak everything. Linux also provides various desktop effects – some of which even require a 3D card – which are super cool.
For Linux, wallpapers are billions, themes are millions, and yet there are thousands of programs that help even more to customize Linux. Also various types of desktop environment are available on Linux like GNOME (Most common with cool GUI), KDE (High end graphical interface), and Xfce (Fastest of all). These desktop environments not only handle the look and feel of the Linux environment but also provide you with lot of other flexibilities. Instead of trying out new desktop environments, I prefer to GNOME and its cool Compiz-Fusion Desktop effects which tweak almost all aspects of the operating system. In customization, Linux easily overcomes Windows.

Applications?
This is where Linux gets outperformed. Almost 91% of the applications available in the market run on windows. 5% work on Mac OS X, 3% of it in Linux and the rest are for other OS. Windows has its roots wide-spread all over the world because it was the first OS to offer the idea of multi-tasking and a lot more new features that were not even thought of at that time. While Linux – which is not that old but still is not as old as windows – has relatively very less number of applications available worldwide. Linux is rapidly getting wide spread in the world of computing because it is a lot more flexible and offers a lot more possibilities than Windows. Linux offers its developers great flexibility of working with applications. Previously, Linux was called non-user friendly because it was difficult to operate but now that it has been tweaked and is available in several forms, Linux has removed this badge of dishonour from itself.
Organizations like Ubuntu etc. have made Linux user friendly and easy to use operating system that provides its users with number of options which makes it easy to use.

Running Windows on Linux?
Also, now you can run Windows applications on Linux. With 'Wine' – an application for Linux – you can run windows applications and programs on Linux. Wine uses its DLL library to run Windows applications. If you dual boot Windows and Linux, then it'll be better. Wine uses Windows library and its own library in combination to run the application smoothly. Wine also has configuration screen where, you can select in which mode Wine should work. There are several modes available based on Windows OS Released. On my Linux, there are following modes:
• Windows Vista
• Windows XP
• Windows Me
• Windows 98
• Windows 3.0
And several others including server editions which I cannot recall right now.
Each of these modes create a separate environment for the application to run smoothly. Here, environment does not mean that your Linux look would change. You won't even notice that! So, are you thinking of running Windows Games on your Linux? Don't dream that! It won't run. Games are called as hefty softwares that require large amount of resources and also they have some of functions which are accessible to them in Windows but not in Linux. However, these people are trying a lot to make each and every application of Windows run on Linux. Good luck to them!

Where's the security?
Linux has security from viruses. Don't think that an antivirus system has been integrated to it. It isn't in this case. Because, Linux does not support viruses! Yes, Viruses don't run on Linux because they find it hard to harass you while you are logged in. Surprised? Ok, let’s be frank. There's one virus on Linux and that's – Bliss. But just think of it. Linux has just one virus to support while Windows is entirely surrounded by viruses. Viruses for Windows – maybe billions – Viruses for Linux – Just One!! And that too is not going to do any big thing to your computer! So, here we have arrived to the point where we must say that Linux is too stout to respond to viruses. Consider a case where a burglar has entered a bank, he shows a gun, fires in the air and expects people to panic. But what happens? People ignore him! He shoots at the cashier but finds that his guns do not work against him. Bullets just fall down touching the cashier! This is the case when virus enters into Linux. Virus would try hard to do harm but Linux won't execute any operations that virus has told. Virus will try to infiltrate your files but that also would not work because unlike windows, Linux is not having applications chained.

Little things that matter!
Yet, there are a lot of little things offered by Linux that provide great advantage over Windows. First of all, Linux has a 'Force Quit' feature. If you find any misbehaving application (Though you'll rarely find) that's taking too long to respond, you can use Force Quit. Force quit is a utility provided in Linux which immediately exits a non-responding application. So, you won't need to wait minutes for a non-responding application to end. Sometimes, you'll find that in windows, when an application does not respond, then your computer will also not respond. This happens because in windows, all applications are chained. When running applications are chained, they all get affected if one of them stops responding. This is not the case in Linux, In Linux, applications work independently, meaning, that they are not chained. So, if any damn application gets 'hanged' your computer and other applications will continue working in full swing. Second advantage in Linux, that it has an in-built archive manager. With archive manager, you can handle multiple types of archives without installing a separate program for it. Linux also has a highly advanced calculator with three extended modes which are 'Advanced', 'Financial' and 'Programming'. Linux also comes with Password and Encryption key manager which allows you to create passwords for applications and folders. It also allows you to create encryption keys whose strength ranges from 2048 bits to 4096 bits. With that, you can encrypt archives, files and folders to ensure that they are safe. Many Linux editions also allow you to change the way login screen looks and behaviour of the boot loader and its appearance. Linux also allows you to scale CPU usage. Meaning, you can set how much of the CPU power Linux should use. This helps you a lot in saving power. Suppose, you are reading an eBook on your Linux PC during a journey, if you were using windows, and even in power saver mode, you'll drain a lot of battery. But in Linux, it dims the display automatically. Now, reading an eBook does not require processing power. So, you can set the value to least mode. In this way, Linux will stop most of background processes which drain battery and will ensure that the battery is saved. Now, as were discussing about battery, it reminds me of an amazing feature that Linux provides. Linux has an in-built system that provides detailed information on the battery installed on your laptop. It includes details like your battery model, version, status, and vendor. These details are common in windows. Excluding these, it also tells you details about battery technology, serial number, current charge capacity of battery(in %), current charge(in watt-hour), last full charge(in watt-hour) and design charge(in watt-hour). It also provides you with information based on graphs too! I'm sure that these features are not available on windows.
If you refer to new versions of windows, in Vista line, you’ll find that they are having preview panes. The moment, you select an item, its preview (if available) is shown in the preview pane. Previews are available for pictures, music, videos and some other types. Suppose, I click a music file. If my computer or rather Windows media player has that plugin, then it will show a mini media player in the preview pane with a play button. If I click play button, it will search the plugin in Windows Media library and then it will play the file. On my VAIO BZ, windows music preview does not work correctly. For the first file I play on starting the computer, it takes a lot of time in loading the preview pane. After that it plays the file. Now, Ubuntu Linux 9.04 has something new to offer. Now, unlike windows, Ubuntu has a 'Movie Player' as default player. While exploring my computer, if I stumble upon a music file which I want to preview, I simply hover my mouse over it and immediately, it'll start playing the file. But unfortunately in this technique, pausing is not possible. If I move down my mouse from that music file, the file immediately stops playing. Ubuntu also does not offer a seek bar!
Also, there's one thing where Linux surrenders. It's Silverlight Experience! At Windows, you have Silverlight integrated in Windows Internet Explorer as well as many other web browsers like Firefox. But, in Ubuntu (or I assume in most of Linux operating systems) Silverlight isn't available. Yes, if you do visit a website featuring Silverlight, it'll tell you to download an alternative version of Silverlight as moonlight but even after downloading moon light, I can't get Silverlight experience – It still says that Silverlight is missing.
So, what do you learn from this? Most of all high-end Microsoft technologies aren't shared by Microsoft.
For all Photoshop editors, Linux is a disappointment because there's probably no Linux edition for adobe Photoshop.
Now, Linux also has an in built application called Disk Analyser. It is an application which tells you what folder has been eating, rather reserving your disk space. It is very useful application in that way because it lets you know what to delete to free your space. It not only tells you about your file system but tells you the 'free space sharing' on any other device that you connect. In this case, windows gets defeated. It's not having an in built application for this, so, you'll have to wander-on-the-web to get one!
I've heard that Linux produces outstanding graphics but I haven't seen it in action and therefore I tell you about that so sure. But I think that it would be able to produce out-standing graphics because it's swift. Windows and other operating system themselves allocate very high memory and therefore they have relatively less to dedicate for graphics. Whereas in Linux, this case is totally different. Linux itself uses very less of your RAM as well as your hard drive. So, it can dedicate more graphics to your games and all that stuff. This is just a guess and I am not so sure about it. Built-in games of Linux are very standard – sort of only two-dimensional and therefore, you cannot judge its actual capacity. However, some of real 3D games are available but aren't satisfactory because they aren't developed that passionately. I purely do not mean to discourage or hurt the Linux game developers but despite of such nice capabilities of Linux to handle the resources you won't get any game on Linux that can compete the one on windows. This might be because the real 'expert' game developers are looking for money and hence they are moving towards development of games for windows as most of the high-end games in windows aren't free. Now, you might be wondering about 3D modelling software like Maya? As of now, I haven't encountered any such software but I am still looking for it. There must be some sort of software available on Linux. Don't worry, you'll obviously find one.

Speed with appearance?
This is very easy question to answer – You compromise speed, you'll get speed. But after you use Linux, you'll probably disagree with this. Even after using themes and effects, you'll observe that your working speed has been little affected. Shocked? I was too but I soon discovered this myself on my computer. Of course, you might suffer from a sort of decrease in speed at first but this decrease in speed will be rather unnoticed by you unless you are using a computer that's got a configuration which is just on the minimum system requirements of Linux. Now, if you know this, then there are different window managers in Linux. Most popular and used is GNOME. Still, there are two other types called KDE and Xfce. GNOME is for a computer user who wants both speed and appearance. KDE is for one who wants very cool appearance, mostly for high-fi users. Xfce us mostly used by users who have very low system requirements and want speed. Now, this is not always true because some users who just don't care about appearance even after having a high-end system use Xfce. Another one, which is not a window manager (Though most of users think it is), is Compiz Fusion. It accelerates the appearance of your system and allows you to perform a lot more tweaks like changing the open/close/minimize/maximize animations, window borders, various effects and things like modifying the application switcher method. All these will be better understood by you if you use hands on approach and get at least a Live CD of Ubuntu Linux. Different window managers provide their own options of modifying the appearance on Linux while on windows? You know, you'll have to stick to the like or not Windows own window manager. Now this is mostly attracting to users but if you consider old versions, then they weren't attractive. But now, considering Windows Vista and Windows 7, they seem to be cool. Still, you don't get options of really 'modifying' them. Don't tell me about the 'themes' option. That's of no use. If you want to change desktop background and other sorts of things without affecting the real appearance, then it's better to do it yourself rather than depending on it.
Still thinking of Windows? Think again! Because Linux is used by huge servers and supercomputers. It's their choice because they rely on the usability, flexibility and resource management of Linux. Shouldn't you rely on it?

Sunday, 22 April 2012

Concurrency and thread synchronization in Java

There are various problems while working with multiple threads. One of them is resource access. If both of the threads are trying to access a single resource, chances are that they will wind up. If the resource is shareable, then it might cause glitches in the system. For instance, picture a situation where two threads are trying to print two different files on a printer. It might happen that printer would print one character from one file and another character from another file. This would result in a jumbled up situation. Solution to this is concurrency. It is to make sure that only one thread accesses one resource at a time. Luckily, Java has pretty straight forward solution for this. If you have a method and if you wish to make it such that only one thread can access it at a time, put keyword 'synchronized' in it. So, if I have a method to print a line, it will be:

public synchronized void print(String s)


The word 'synchronized' in the method signature makes sure that only one thread uses that method until it finishes execution. If two threads are trying to access it, the other one will have to wait while the first method finishes its execution.

Watch the video here:

Tuesday, 17 April 2012

How to use Timers in Java?

Well, this post will be similar to the one about Threading. However, it is an important concept and thus needs to be covered. First of all, to time a certain task, you will have to make a Timer object. However, a timer object needs to have a TimerTask object. Now, TimerTask is an abstract class and has a run method which gets called on set frequency. So, for instance, if the frequency of the task has been set to 2000 ms, then the run method gets called every 2000 ms. To use Timers, you will have to create your own class which extends the TimerTask class. This would be something like:

 public class SomeTask extends TimerTask{
    @Override
    public void run() {
        //Something to do here...
    }
}


If you are going to access UI elements of a particular JFrame from your SomeTask class, then you will have to pass a reference of that JFrame in its class constructor. This is because all your UI elements are private and thus cannot be accessed by an external class. You will also have to make methods which would access your private UI elements in the NewJFrame. For a JFrame called NewJFrame, the code would look like:

public class SomeTask extends TimerTask{

    NewJFrame parent;
    public SomeTask(NewJFrame frame){
        parent = frame;
    }
   
    @Override
    public void run() {
        //Do work here
    }
}


If you want to type Hello every five seconds to a JTextArea in NewJFrame, then you'll first have to create a method that would do that in your NewJFrame. This method can be as simple as:

public void type(){
     jTextArea1.append("Hello\n");
}


Now, access this method from the run() method of your timer task simply by:

parent.type();

To run this task, you will have to make a timer by:

Timer t = new Timer();

Then, create a new object of SomeTask class that you just created.

SomeTask st = new SomeTask(this);

Notice 'this' in the constructor. It is because we asked for it in the class constructor as the task needs to access the UI elements. Now schedule that task by:

t.schedule(st,0,2000);

The above line takes three parameters. First is the TimerTask object, which in this case is the SomeTask object called st. Second is the intial delay (in ms) which is concerned with how long will it take to start the task for the first time and the third parameter is the frequency of the task which in this case is 2000 ms.

Thats it! Now you have scheduled your task and it will run almost instantly (0 ms delay). It will keep running every 2 seconds (2000 ms) until someone calls:

st.cancel();

Which will stop the task from running.

Watch the video tutorial here:

Sunday, 15 April 2012

Threading in Java

Every thread in Java needs a Runnable. To make a runnable, you must first create a class which implements the Runnable interface. Runnable interface has a method called run() which gets called by the Thread. Your class will need to have this method. Put your code in this run() method. Your Runnable class should look similar to:

public class Work implements Runnable{

    @Override
    public void run() {
        //do some work..
    }

}
Now, you can create a thread in multiple ways but the most appropriate way is to pass the runnable object in its constructor.

Thread thread1 = new Thread(new Work());
Work work = new Work();
Thread thread2 = new Thread(work);


thread1 and thread2 are both valid threads. Now to start a thread, just write:

thread1.start();
thread2.start();
Make sure that you say thread1.start() and not thread1.run(). thread1.run() simply calls the run method within the runnable while thread1.start() runs the run method in separate thread.

Thats it! Now you know the basics of threading in Java!

Watch the video tutorial here:

Tuesday, 31 January 2012

How to extract words from a string in C# (Split string)

This is incredibly easy in C#. First of all, you need to have a string from which you want to extract words. A word is a string separated by spaces. To do that, just say:

string s = "Welcome to my blog!";

Now, when I use the split command, it will return an array of individual strings. So, the implementation will be:

string[] words = s.Split(" ",StringSplitOptions.RemoveEmptyEntries);

As a result, words will have "Welcome", "to", "my", "blog!" in it.

Thursday, 26 January 2012

Google Chrome versus Mozilla Firefox

Well, they said that Mozilla firefox is the most efficient browser. I wasn't satisfied. Hence, I went to check. I am a big fan of Google Chrome. However, I recently learnt that chrome collects browsing information. That didn't sound good to me and hence I switched to Mozilla Firefox. On the download page, it said that it is the most efficient browser. I downloaded it, but initially I had some issues. It lagged a bit when I used it on my laptop. However, when I used it on my university's mac (with Windows 7 installed) it was smooth. Hence I was suspicious. I had to check. I closed all applications, refreshed the page few times and fired up Mozilla Firefox and Google Chrome.

I opened up www.sciencedaily.com in both the browsers. I fired up Task Manager only to find that Google chrome had three simultaneous processes and firefox had one. This probably means that it is doing multi-threading a lot and has a lot of external handlers. It is a good practice though when you are programming something like a web browser. However, I counted the memory allocated and firefox had like 88,000 and Google Chrome had in total something like 50,000. I was surprised.

Then, to satisfy myself that Firefox is better, I opened two tabs in both chrome and firefox. In one tab, I opened the google home page and in another I opened up www.sciencedaily.com. This time, I hoped chrome to jump up. The task manager showed that chrome had four processes, one more than last time I had seen and firefox still had one process. In terms of memory, firefox allocated something like 120,000 and chrome took something like 90,000. I was even more surprised. My quick analysis at that point was that the memory print of chrome increases rapidly with increase in number of tabs while in same conditions, that of firefox increases at relatively slower rate.

In the third test, in which I seriously hoped firefox to win, I opened up four tabs as follows:
1. Tab 1: www.google.com
2. Tab 2: www.sciencedaily.com
3. Tab 3: www.bing.com
4. Tab 4: news.google.com

This time, firefox really won. Its memory print was around 143,000 while at the same time, that of chrome was around 150,000. Yayy! Victory at last!

So, well, what does this tell to average computer user? I will still be using firefox. However, if I quickly want to check something like a definition or address, I'd use chrome. However, for tab intensive stuff like research and like that, I will be using firefox.

FYI:
Chrome: 12.0.742.122
Firefox: 5.0

Tuesday, 24 January 2012

How do I do threading in C#?


Threading in C# is no big deal. It has the easiest implementation I've ever seen. First of all, you need to have a method that you want to execute on a different thread. For this instance, I'll put method called Calculate(). Now, this method has to be a void. However, it can take any amount of parameters. So, it can be:

public void Calculate()

or

public void Calculate(int x, int y)

Now that we know what to execute, we need to create a thread with this method. This is done by:

Thread t = new Thread(Calculate());

I can now run the thread by typing:

t.Start();

See Also: How do I do threaded programming in Java?