Monday, December 28, 2009

Networking with Linux : The Web Servers

Let us first discuss the very basic question, what is web server? Well, Prof. V.S.S. Sriram told me that a web server, in layman's term, is something which gives a http response to the http request. In other words a web server gives you html pages upon request.

Some popular web servers are Apache, Apache Tomcat, IIS etc. While Apache is used for PHP pages, Tomcat is used for JSP. IIS is a Microsoft server used for ASP. In this post I will show you how to install Apache and host websites on it.

First of all we need to install Apache. In Ubuntu you can do so by typing
sudo apt-get install apache2
For Fedora fire the following command as super user:-
 yum install httpd

Now to verify that you have installed apache correctly open on any browser http://localhost. A page with title "It Works!" will appear confirming the correct installation.

Now that we are done with installation let us host a website. For that you should know that document root is a folder which contains all the pages a website should have. By default index.html is opened if you simply type the address of a website. I am assuming that you want to have /web/adityapatawari.com as document root. Follow the given steps to host your website.

  • Copy the default website to use it as a template
    sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/adityapatawari.com


  • Change the DocumentRoot by editing /etc/apache2/sites-available/adityapatawari.com to point to the new location i.e. /web/adityapatawari.com. You will need to have root permission to do this.

  • Change the Directory directive, replace <Directory /var/www/>to <Directory /web/adityapatawari.com/ >

  • Now disable the previous site and enable this new one. To do so type


    sudo a2dissite default && sudo a2ensite adityapatawari.com

And you are now a web server ready to try out a web server for real.

Tuesday, December 8, 2009

Networking with Linux : The Domain Names

Every host on network has a unique IP address. Whenever we want to request some information or service from any particular host we need to have its IP address or some other identification mark so that the request does not go to any other node on network.

But this is a problem. Think of it, you meet several people everyday. You tend to remember their name but of course you won't remember the phone numbers of most of them. Why? Because phone numbers are cryptic and difficult string to random numbers. Similarly IP addresses are somewhat impractical to remember. And another good point is that since now a days a lot of websites are hosted on a single server, providing IP will not might get you the desired service. So we give names to the nodes, like google.com or gnu.org.

Now let us talk about the types of domain and categorization. Take the address of this blog as example i.e. blog.adityapatawari.com. Now com is a TLD or Top Level Domain. These type of domains are not for sale to general public. Among other TLDs are org, net, gov, edu and several others. There are also something called ccTLDs or country code TLDs. They are country specific TLDs, like USA has us, India has in and so on.

Below TLDs are second level domains or more usually we call them domains, like adityapatawari.com is a domain, google.com is a domain or more precisely these are second level domains. They can be usually booked on yearly basis. You can book the domain from any domain name registrars, of course keeping in mind the availability of the domain. Below the second level domain is the third level domain. We call them as child domains or sub domains, like blog.adityapatawari.com. and wave.google.com are sub domains. Ideally we can have unlimited number of sub domains once we have the domain but the service providers sometimes restrict the number of sub domains to save the load on their servers.

Similarly we can have fourth and fifth level domains and so on. But I advise you to stick to second and third level domains only.

Sunday, November 29, 2009

Networking with Linux : Understanding IP Addressing and need of IPv6 (Part II)

In my last post I talked about different IP classes. Now let us see a few point of netmask. Netmask decides the class actually and the number of nodes. Unless you are using CIDR (Classless Interdomain Routing) netmasks have a fixed value for each class. The default values are :-
  • Class A : 255.0.0.0
  • Class B : 255.255.0.0
  • Class C : 255.255.255.0
Netmask has a unique property, the bits of netmask has be a stream of continuous 1s followed by continuous 0s. Even CIDR follows this property.

Each network of nodes has a network address of its own which is decided by the netmask the IP has. Now let us see that how this netmask helps us in deciding or finding the network address. Well since we are not discussing CIDR, its pretty simple. You can just convert IP Address and Netmask in binary and do the AND operation bit by bit. What you get is Network Address. Following is an illustration for the same :-

Consider IP address of a node 192.168.154.7 and the netmask 255.255.255.0. This is a class C IP Address used for private networks. Now we are interested in knowing the network IP. For this we just have to convert the IPs and netmask to binary form.
    IP Address : 11000000.10101000.10011010.00000111
    Netmask : 11111111.11111111.11111111.00000000
Now we do binary AND of these bit by bit and we get :-
Network IP : 11000000.10101000.10011010.00000000
i.e 192.168.154.0 and this is the network IP indeed. Network IP is the first IP of the Network and in the similar sense Broadcast IP is the last IP of the network.

Now let us talk a bit about CIDR and its advantage. CIDR as the name suggest is classless. There is nothing like Class A, B or C. While this makes it a bit difficult to understand, it increases its efficiency many folds. You might have observed that class C cannot have more that 256 IPs which might be too less to large organizations. Another alternative is to switch to Class A or B IPs but then its possible that the organization has more than a network to maintain.
To cater this problem we use the concept of CIDR. In CIDR the netmask is not fixed to 255.255.255.0. We can have netmasks like 255.255.248.0. This allows us to create sub networksn or super networks. For example if my IP is 192.168.154.7 and the netmask is 255.255.248.0, my IP configuration will be able to have 2048 IPs in one network. Earlier it had only 256 IPs in one network. So this is what a CIDR can do.

My next post will be regarding Domain Names. Hold tight ! :)

Saturday, November 21, 2009

Networking with Linux : Understanding IP Addressing and need of IPv6

Let me start with a very basic question. What is IP address?
IP Address is a unique address which identifies a node on network uniquely. No two nodes can have same IP address on a single network. That said, now let me tell you that most commonly we use IPv4 to identify nodes on the networks. IPv4 is of the format xxx.xxx.xxx.xxx. IP Addressing scheme consist of a node address, a network address, a broadcast address and a netmask. Let us look about these topics in some details.
  • Node Address : It is a 32 bit or 4 bytes address which identifies a node within a network uniquely. Addresses are classified into five types.


    1. Class A : This Address is of the form NNN.HHH.HHH.HHH where N type of bits represent network address and H type of bits represents node address. To put it in simple term we can say that all the addresses from 0.0.0.0 to 127.255.255.255 belongs to this class.
      This class has two special IP series. 10.HHH.HHH.HHH belongs to local networks only. They cannot be distributed as public IP Addresses. 127.HHH.HHH.HHH is used for localhost i.e. node uses this IP to refer to itself.
    2. Class B : This Address is of the form NNN.NNN.HHH.HHH. We can say that IP belonging to the range 128.0.0.0 to 191.255.255.255 comes under this category.
      This class also has two special IP series. 172.16.0.0 to 172.31.255.255 belongs to local networks. Also 169.254.HHH.HHH is the IP given if DHCP client is not able to get an IP from the DHCP server.
    3. Class C : The Address type is NNN.NNN.NNN.HHH. IP range is from 192.0.0.0 to 223.255.255.255 and 192.168.NNN.HHH is used for local networks.
    4. Class C and D are used for multicast and research purpose. These are normally unavailable for general purposes.


      IPv4 can provide only a finite number of IPs which is not enough to cater to the needs of increasing network nodes. Here IPv6 comes in picture. Unlike IPv4 it consits of 16 bytes (not 6). But since the hardware is costly to implement for IPv6, its use is still not wide spread.

       I will update this post with info about Network and Broadcast address and Netmask. Also I will give a brief introduction to CIDR or Classless Interdomain Routing.


    Monday, November 16, 2009

    Networking with Linux : Setting up a Linux Server

    Usually people think that to set up a server some special kind of distribution is needed and most of the people tend to download the server editions of the distros. But let me tell you one thing, downloading server edition might ease your task a bit but then you will never be able to know what is going on at the back. Also distros like Ubuntu Server Edition does not even have a GUI which makes the work of a beginner much tougher.
    Here are few packages which you need to turn your regular desktop edition into a server OS.
    • Apache2 (Web Server)
    • BIND (Domain Name)
    • FTP server (I recommend ProFTP)
    • MySQL Server (If you want a data base)
    • Telnet (for remote login, old fashioned but good for learning)
    Taking Ubuntu as the desktop installed the command will be :- 

    sudo apt-get install apache2 bind9 proftpd mysql-server telnet

    This configuration is good to go for beginners. We will install more packages as we move ahead. These packages create services which can be started and stoped at any point of time. Now first step is to learn how to start and stop the services and the service names.
    sudo /etc/init.d/service_name start/stop/restart

    So to start apache2 you will write :-
    sudo /etc/init.d/apache2 start


    Similarly to stop the Apache server you have to write :-
    sudo /etc/init.d/apache2 stop


    Rest of the service names are :-
    • proftpd
    • bind9
    • mysql

    Monday, November 9, 2009

    Networking Season Begins

    Starting now I will write some posts on "Networking on Linux". I plan to write about networking from the very basics. I have thought of  the following topics :-
    • Setting up of a Linux Server
    • Understanding IP Addressing and need of IPv6
    • The Domain Names
    • Web Servers like Apache and Tomcat.
    • Mail Servers like Squirrel Mail
    • Load Balanced Clusters
    • Virtualization
    I will try to write one post per topic but some might take more than a post. Also the last two topics are kind of advanced in networking sense. So the journey will start from the next post.

    Wednesday, October 28, 2009

    Discover /etc/fstab

    Many times, after a Linux install Windows partition i.e. NTFS file system becomes inaccessible through Linux. In these cases if you can make appropriate entries on your /etc/fstab you can recover these partitions. Although tools like ntfg-3g and ntfs-config are already there. And these tools are easy to use but knowing the innards never hurts, does it?
    The basic syntax of fstab entry is :-
    [Device] [Mount Point] [File System Type] [Options] [Dump] [Pass]
     Let us take each term one by one.
    • Device : Here we specify the device we want to mount. For eg. HardDisks are generally named as /dev/hda1 or something similar.
    • Mount Point : This entry tells the OS about the folder on which your partition or device will be mounted. You should keep all your mounted devices in /mount/the_device_name or /mnt/the_device_name. Again, this in convention not compulsion.
    •  File System Type : Here you can tell the OS about the type of file system you are going to mount. If you are not sure of the type then try using auto. This will make an attempt to detect the file system type automatically.
      For NTFS write ntfs-3g. Other popular file system types are ext3 and swap.
    • Options : Fstab supports a lot of options. Some major ones are discussed here.

      1. ro or rw : This stands for read only or read write type of mounting.
      2. exec or noexec : This option enables or disables the execution of binaries present in the specified device.
      3. auto or noauto : If you want the device to get automatically mounted on boot then choose auto otherwise choose noauto.
      4. user or nouser : Choosing user will enable all the users to mount the device while nouser will make sure that device is monted only by root user.
      5. defaults : If you find all of this too confusing :) .

    • Dump and Pass : These options have a little role to play if your computer does not contain important data. Dump tell the OS to backup the device, if it is setted to 1. 0 disables it.
      Pass specifies the order to check file system. Usually 1 is used for root partition and 2 for the other devices. The options are :-
      0 == do not check.
      1 == check this partition first.
      2 == check this partition(s) next 
    A typical fstab entry looks like this:-
    /dev/hda6       /mount/hda6          ntfs-3g         defaults      0      0
    


    Reblog this post [with Zemanta]

    Monday, October 19, 2009

    Google Wave is here!!

    Google Wave was announced on the second day of google I/O conference. It is an in-browser communication and collaboration tool. Users send waves to commuicate with each other to communicate. A wave can be a conversation, photos, videos or even a document where people can discuss and work together. It supported richly formatted text. Any wave participant can reply anywhere in the message and since it is live other participants can see the message as you type. This results in faster communication. More participants can join the wave at any pooint of time and can play back to see who said what and when. Google Wave also supports the ability to drag and drop attachments from your computer into Google Wave. You can also embedd photos and videos in a wave and it is as simple as right clicking on the browser.

    It is written in Java using OpenJDK; its web interface uses the Google Web Toolkit. Instead of sending a message and its entire thread of previous messages or requiring all responses to be stored in each user's inbox for context, waves contain a complete thread of multimedia messages (blips) and are located on a central server.

     You’re going to have to wait a while though: Google Wave will not be available to the public until later this year. Right now it’s only available to a select group of developers, who will be able to create their own Wave servers. It’s also an open-source project with a lot of API integrations, so we can expect a lot of user-driven innovations and extensions for the platform as well.

    Thursday, October 15, 2009

    Difference between Add-On Domain, Sub Domain and Parked Domain

    If you have hosted a website somewhere then you must have faced the three types of domains and wondered what's the difference?
    Let us assume that you own abc.com and xyz.com
    Usually you will always stick to sub-domain but here is the difference if you wanna know :-

    • Add-On Domain
      Here your two domains act separately from each other. No domain is dependent on other. If one is down other is not effected. Both will have different CNAMES, MX Records etc. Here you paid for the two domains.
    • Sub Domain
      Consider that your abc.com domain. Its a blogging site. Now you want to integrate a forum for abc.com then one way is to put the pages in directory abc.com/forum or you can have forum.abc.com by adding directory forum to sub domain. This doesn't costs you anything. You can have as many sub domains as you want (Some hosting services might put up an upper limit)
    • Parked  Domain
      Now consider a scenario where you wanted xyz.com but have to live with abc.com. After several years you got xyz.com but now all of your friends know that your website is hosted at abc.com. Tough situation. You can add a redirect but parked domain is an intelligent solution. Here you park xyz.com over abc.com. Now both of your domains points to the same folder. Here also you paid for both the domains

    Tuesday, October 13, 2009

    Sneak Peek in Ubuntu 9.10

    Just 15 days left for the release of Ubuntu 9.10. This release will see some major changes in applications as well as looks. Here are some of the features which you will see in new Ubuntu 9.10.


    1. Ubuntu has migrated to Upstart. It is expexted that boot time will reduced considerably because of this.
    2. Our old "Add/Remove is no more there, instead "ubuntu software centre" will be there to do the same tasks and a bit more in new Ubuntu 9.10.
    3. Empathy will now be the default IM client in Ubuntu leaving Pidgin behind.
    4. Ubuntu will come loaded with "Quickly" which enables developers to build software and share them easily using .deb or personal package archive.
    5. This version will have ext4 as the default file system. A high performance and disk utilization is expected.
    6. Ubuntu 9.10 will also introduce GRUB2 as the default bootloader replacing legacy GRUB. The older bootloaders will be updated automatically.
    This is just a  glimpse. The monster is yet to be unleashed, so hold your breath!

    Saturday, October 10, 2009

    Firefox 3.5 vs Internet Explorer 8


    I am a Linux user from core of my heart but every now and then I have to work on Windows and I always look for firefox to do my browsing. Sometime back I was chatting about browser security and vulnerabilities with some of my geek friends. This post is a summary of that chat and a few additional things.

    IE has a lot of security features that can be configured and tweaked. Microsoft defines security “zones” such as “Internet,” “Local intranet,” “Trusted sites,” and “Restricted sites.” These categories can be customized to suit the user’s needs.
 Firefox's option are less and simple. If something is turned off for a website it is turned off for every site. While this may look as a bad choice to some people, in a way it is good too as you don't have to put every site in a category or other. Too many categories tend to confuse the beginners.

    Both Firefox and IE exploit user info for some of their features. IE send your browsing history to Microsoft for the Suggested sites feature. This history is processed there and then a link in Favorites Bar suggests you sites you might find interesting. According to Windows Help and Support even items deleted from your history "will be retained by Microsoft for a period of time to help improve our products and services." Firefox, on the other hand does not sends any history but it does send your ip address to google through an encrypted SSL connection so that you can find better search reasults.

    IE has a "easy to bypass" content advisor feature which lets you define the type of website users shouldn't visit. Firefox provides a blacklisting service, each newly visited site is compared against a blacklist of known defaulters and appropriate action is taken accordingly. It is too bypassable but takes a bit more determination.

    Security Plugins is an area where IE stands no chance against Firefox. A lot of plugins are available to suit need of every user from scripts blocking addons to anti-malware tools. Personaaly I use web developers toolbar for removal of java scripts and other cool features.

    In terms of speed face the facts IE people, Firefox beats you. IE speed sucks with java scripts and image rendering.

    Now lets talk about the product. As always IE being a Microsoft product is closed sourced and imposed on you to have it, doesn't matter you like it or not, yoou cannot remove it. Firefox comes as an addon, install it, try it, keep it if you like. And its a really cool place for young developers to contribute.
    Finally I think Firefox beats IE in most of the aspects. Its just a matter of time when firefox will rule the Web world. Be a part of it!

    Friday, October 2, 2009

    How to create a Fedora or Ubuntu repository

    First of all let me tell you why you should create a local repository.

    It happens many times that we need some software for our Linux OS but internet connection is too crappy or inaccessible at times. A local repo comes handy in these cases. Also install speed increases considerably because of rapid download.
    Organizations using linux can save a lot of money and bandwidth by creating a local repository since packages are downloaded once into the repository server and all the computers can get the packages directly from the local repo server at a much high speed.
    Following are the steps to create Fedora repo. Ubuntu repo is also created similarly.

    1. We will create this repository in such a way that it is available using http. If you are creating this repo for your personal use and not on a server then you can skip this step. Since we are creating this on a server it is safe to assume that apache is already installed. If apache is not installed then type yum install httpd as root (Ubuntu users should type sudo apt-get install apache2). After the install start apache by using /etc/init.d/httpd start. The default document root is /var/www/html, so we'll create the repo in /var/www/html/repo.
    2. To create a repo we need a tool called createrepo which is available in fedora repository. Typs yum install createrepo to get this tool. Now create two folder in this way :-
      mkdir -p /var/www/html/repo/base/11/i386
      mkdir -p /var/www/html/repo/updates/11/i386

    3. Now we have to to populate these folders with packages. There are two ways of doing so. Either start by copying the packages present in fedora install dvd then use the rsync protocol to populate the rest of the packages or start by rsync only. To use rsync type rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/releases/11/Everything/i386/os/Packages/ /var/www/html/repo/base/11/i386.
      rsync -avrt rsync://ftp-stud.hs-esslingen.de/fedora/linux/updates/11/i386/ --exclude=debug/ /var/www/html/repo/updates/11/i386
      These are indicative addresses only to show the method. A complete list of rsync mirrors can be found at fedora website.
    4. Now run createrepo /var/www/html/yum/base/8/i386 to get the repo ready.

    Wednesday, September 30, 2009

    Difference between Facebook Page and Facebook Group

    Facebook is one of the most popular social networking website. It not only provide individual networking but also a means of advertising products and brand names. Companies like Google, Puma even sitcoms are using facebook to increase their popularity.
    The two most important tools for marketing any product on Facebook are Facebook Page and Facebook Group. While both provide facilities like logo integration, member invites, discussion boards, video and image display, there are some important differences too.

    • A Facebook group can be created by anyone. It is not necessary that the creator of the group is associated with the product officially while Facebook makes it mandatory that the Facebook Page is created by the official authority of the product.
    • Facebook Page provides tools to track visitors stats and traffic. Groups do not have any such facilities.
    • One of the most important feature of Facebook Page is that it is indexable by the search engines. The reason behind this is that no login is required to view a Facebook page while Facebook group requires user login. 
    • Facebook Page has feature to add Notes, also blog posts can be imported as notes. Page also supports RSS Feeds. These features are not supported by Facebook Group.
    • Facebook Group Members can send out invites to other people to join the group where facebook page does not have the concept of members, instead they have this thing which is known as fans. And Fans cannot invite other to join the "fanship"
    • Instead of activity notification by Facebook group, Facebook Page sends update notification which is hard to miss and does not mix up with other posts on the user's wall.
    If you own the product you are promoting then I suggest creating both a page as well as a group. Otherwise legally you can only create a Facebook Group, not a Page.

    Wednesday, September 23, 2009

    Recover Your Grub Bootloader After Windows Installionation On Fedora Or Ubuntu

    It usually happens that after installing Linux you need Windows again for some specific application which is not meant to used on Linux. So you need to install Windows again. And when you do so you will loose your bootloader and will not be able to login into your Linux account. Here is the method to recover the bootloader and use both Windows and Linux together.

    1. Boot into any Linux using Linux Live CD. Here we are using Ubuntu Live CD.
    2. Open the Terminal. It is present in Accessories sub-menu of Application menu.
    3. Type sudo grub.
    4. Next we find the stage1 file of the boot loader. To do so type find /boot/grub/stage1. The output will be something like (hdX,Y), here X and Y are digits depending upon the hard disk and partition.
    5. Now type root (hdX,Y)
    6. Next type setup (hdX). Be careful regarding spaces.
    7. finally write quit.
    Your boot loader is recovered successfully. Now reboot and remove the live CD.

    Thursday, September 17, 2009

    Host Your Website Using Drupal CMS on Ubuntu Server

    Hosting a website is very crucial job which can change your entire career path or can help your business to grow beyond limits. Larger companies and organizations generally have professionals to setup the website but what about small industries and people who cannot afford professions. In this scenario CMS like Drupal and Joomla!comes to rescue.
    First of all let us talk about CMS. CMS stands for Content Management System. Its a collection of tools which give you "Click Next" interface for website creation. You will most generally, get a php interface and mysql or postgre sql databse connectivity. Creation and inclusion of forum or wiki is as simple as selecting a check box. You can create user, decide their roles, ban them or give them permission to add pages to your website. And here is the best part, you don't need to know any programming language or some complicated sql queries to use a CMS like Drupal. So without wasting any time let us start creating our website.
    1.  First of all we need to install the required packages. For this use the following command :-
      sudo apt-get install apache2 php5-mysql php5-gd libapache2-mod-php5 mysql-server
    2. You will need to set the mysql user id and password. For this fire the following command :-
      mysql -u root
      mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yourpassword');
      The output should be :-


      Query OK, 0 rows affected (0.00 sec)
      Quit the mysql prompt:
      mysql> \q

    3. If you don't know how to configure Apache manually then download webmin. It is a complete Server management utility.
    4. Using webmin configure apache. You can do so by clicking to servers tab and clicking apache. You have to provide server address and document root. Document root is a folder in which all the website files are kept.
    5. Download Drupal. It is recommended that you go through the ReadMe's first but if you are too lazy for that then continue reading.
    6. Extract drupal at your document root and rename default.settings.php file in the sites/default to settings.php
    7. Go to your document root and fire the follwing commands :-
      chmod o+w sites/default
      chmod o+w sites/default/settings.php
      This gives the webserver the permission to modify your files.
    8. Read  INSTALL.mysql.txt for instruction on setting up mysql server.
    9. Now preparations are finished. Lets start the real work. Open your website. You will get a page asking you to install in english. Click on it if you want an english install. 
    10. You will be presented with some "simple to fill" forms. Fill in with correct details and there you have!!
    11. Now login into drupal using the id you created while filling in the form and start creating pages.
    This is how you can get your website up in no time. And yes, it is as easy as it sounds!!!

    Monday, September 7, 2009

    Windows Alternatives for Linux

    A lot of Linux newbies complain that they can't run their favorite applications on Linux or that some files can't be opened or some codecs are missing, so on and so forth. Well its time that everyone should know that Linux has some pretty cool apps which can not only do your day to day work but can substitute ALL of your windows applications. Here is a list of some of the most common Windows applications and their Linux substitutes.

    • Office and Other Editors


      1. MS Office -> OpenOffice.org
      2. MS Office Word -> OpenOffice.org Writer
      3. MS Office Power Point -> OpenOffice.org Impress
      4. MS Office Excel -> OpenOffice.org Calc
      5. Notepad -> GEdit, KWrite



    • Internet and Networking


      1. Web Browsers (IE, Firefox, Opera) -> Web Browsers (Firefox, Opera, Epiphany)
      2. Chat Clients (Gtalk, Yahoo! Messenger) ->UNIVERSAL CHAT CLIENTS (Pidgin, Kopete)
      3. IRC (XChat) -> IRC (XChat)
      4. Outlook -> Evolution
      5. DC++, Apex DC++, Strong DC++ -> linuxdcpp



    • Media Players and Tools


      1. Video Players (Windows Media Player, VLC) -> Video Players (Movie Player, VLC)
      2. Audio Players (Winamp) -> Audio Players (Amarok, Rhythm Box)
      3. Audio Editing -> Audacity, Traverso
      4. Video Editing -> Avidemux
      5. CD/DVD burning (Nero) -> Nero For Linux, K3B, Brasero
       

    • Engineering and Design Tools


      1. IDE for programming (Eclipse, Netbeans) -> Eclipse, Netbeans, Geany
      2. Circuit Design and Simulation -> Eagle, TinyCAD
      3. Project Management (Microsoft Project) -> openProj, dotproject
      4. Designing and CAD -> freeCAD, Blender, sweethome3D


    More will be added soon :)

    Saturday, August 29, 2009

    End of the month

    What an amazing month!!
    I organized four workshops and one install-fest, did networking for Sensex simulation and learned a lot from seniors. I am planning to do some php and ajax next month. Ofcourse exams will be there till mid September but after that the actual study will begin :). I have to finish ajax to take part in IBM-TGMC, not to mention the release of linux store by yaps.co.in. I have to look after it too. And then another workshop is due on Drupal or Joomla on Software Freedom Day Eve.
    Phew!! Lot of work to do so I am off 8)

    Sunday, August 16, 2009

    An Install Fest and The Three Workshops

    First time in Birla Institute of Technology, we had an Linux Install Fest and that too featuring "Ubuntu 9.04 BIT-LUG Edition" modified for better user experience by ME :)
    We also distributed Fedora11 original DVDs on install fest. We did more than 80 installations that day. A fair price to sacrifice a Sunday.



    Workshop 1 & 2 : Date 10 Aug 2009.

    This workshop was organized for newbies and especially for the fresher batch of our college. We started off by showing some cool compiz effects on fedora11 gnome. Even after attending the classes from 8:00 to 5:00, more than 60 people turned up, some out of enthusiasm others out of curiosity. We had some slides prepared by our volunteers. We showed them the alternatives of windows applications available for linux, like for media player we have rhythmbox. We also had some "Tux v/s Windows" fight videos. We told them about benefits of installing fedora (A distro which comprises every latest stuff and yet it is highly stable). All this made up an environment for the install fest which was scheduled the next day. We also invited feedbacks in the nd. Most of them were positive though some were a bit disappointed that we didn't bashed windows to a greater extent.


    Install Fest : Date 11 August 2009
    It was a holiday and yet one of the busiest day for us. We had permission to use the college lab. As we reached there, we found a couple of enthusiast already waiting for installation eagerly. We had a total of 7 volunteers and slightly above 80 installations. Fedora11 DVDs were also distributed for free. Since we have a local repository in our campus we thought it to be wise if we write a script for the installation of some common softwares and to add the local repositories. For desktops Debjit had arranged for network boot. The fest was a huge success as till date we have people who are approaching us after seeing the laptops on which we installed fedora on install fest.



    Workshop 3 : Date 16 August 2009

    This workshop was organized for more advanced users. We expected about 80-100 participants but we were astonished to see the rush. We had about 200 participants! So we decided to take the same workshop twice. We started off by telling basics of shell scripting and then made our way towards "Virtualization on Fedora". We had a little Question-Answer session after that. We also invited users to share their experiences with fedora. At the end we had a small slide show about "How to Contribute to Fedora Project". We had the sides made with the help of "join Fedora" page on wiki.

    Thursday, August 6, 2009

    Understanding Linux Directory Structure

    Understanding Linux file system is easy and crucial for every Linux user and programmer. First of all users should know this fact that for Linux everything is a file. And be everything I mean everything including your hard disk, mouse, even folder are also treated as a special kind of file. Every Linux consist of the following folders:-

    • / :It is the starting point of the file system. "/" contains everything. Every file and every folder. It is the parent drive of Linux. You will find every directory listed below in "/" even though they may be in some other drive.

    • /boot : It is place which contains your bootloader. It also has the linux kernel and initrd module which is loaded during the boot process and are crucial for booting the system. Remember "Don't Ever Mess With /boot" unless you are ready with backup

    • /bin : This folder has all the executable or binary files in it. It contains all the application programs and commands.

    • /dev : This folder is the device folder. It has a file corressponding to every device attached to your computer which includes hard disks, network cards, printers and other such devices.

    • /etc : This folder has all the configuration files. This folder defines that how your system will behave overall. It has user lists, skel which is copied into user's home every time a user is created, graphics configurations, network configurations and lots of other such stuff.

    • /home : Home folder is a place where the user normally gets in when he/she logs in. Its like a pesonal place where other users are not allowed to get it. A user gets a personal place at /home/user-name by default.

    • /lib : This folder contains library files which help in smooth working of applications. If you ever encounters dependencies problems while installing any software then this folder is guilty.

    • /proc : This directory basically represents the current state of your machine. It contains files corresponding to each process running on your computer.

    • /sbin : This folder also contains binary files but of special type. These files are to be executed only by superuser. It contains commands like shutdown and of course not every user can be entrusted with shutting down the system.
    • /usr : The /usr directory contains files and programs meant to be used by all of the users on the system. for example you will find program related to date there.

    Sunday, July 26, 2009

    The Holy Linux War : Fedora vs. Ubuntu

    Since long there has been an ongoing war between fedora users and ubuntu user claiming their distro to be better than others. In this post I try to show various pros and cons of these two distributions.

    • Free Spirit : Here by Free I mean freedom. If we talk in terms of making a distro comprising only of free software then guys no one can beat fedora community. Its distros are packed with free softwares only and they work great. I think here is a plus one for fedora.

    • Stability : Ubuntu is a clear winner of stability. No doubt about it and even fedora user will agree to it. Ubuntu crashes are so rare that you will hardly remember about when it crashed last. On the other hand fedora crashes more often. While Ubuntu is throughly checked for bugs, there is a romour that fedora is being used by red hat as their testing distro. +1 to Ubuntu.

    • Community : Both of these Linux have huge community but personally I would give a +1 to fedora because of their various projects and sub-projects which attract a lot of people, both developers as well as end users. Ubuntu community does not offer any such incentives although both communities are very helpful. +1 to Fedora.

    • Release and Distribution : Both the distros are release a new version twice an year. Ubuntu 9.04 and Fedora 11 are the latest. Ubuntu gets the major credit of making linux popular among common peopleby shipping cds across the world for free. Fedora, on the other hand, has a program called "free media" where volunteers distribute fedora cd/dvd to nearby people for free or very nominal charges. Since Fedora depends on their volunteers a lot for distribution, sometimes they are delivered late or not delivered at all but their effort is worth noting. So +1 to both, to Ubuntu for excellent delivery system and to fedora for their system + spirit.

    • Looks : Since both the distros use GNOME desktop environment by default, looks only vary in the terms of booting screen, wallpapers and screen savers. Again this is a matter of personal choice. I like the booting screen of Ubuntu and screen savers of Fedora.But overall I would say that Fedora looks are better than that of Ubuntu. Personal +1 to Fedora

    • Repositories : Both of these distros have huge repositories. But let me tell you this fact that perhaps Ubuntu has the largest repository you will ever find. If you ever find one, just let me know!! Since fedora follows FOSS principle strictly, users sometime do not get the desired software in repo and are forced to do a manual install. +1 to Ubuntu.

    • Softwares and Tools : Fedora provides some out of box tools which I have never seen in anyother linux till date. Fedora Live Usb Creator is one such tool. As the name suggests you can create live-usb of most of the Linux distros. Another handy tool is "Revisor". It can create custom installation media, so that you don't have to download and reinstall every package from repo everytime you reinstall Fedora.

    • Distro Customisation : Can you think of a linux optimized for gaming or for robotics? No? Well let me tell you, Fedora has this thing which they call as a spin or special interest group. Its a bunch of contributers having a similar taste. These group roll out modified fedora which are available on fedora website itself. No other linux, in my knowledge, support this, though ubuntu has many modifications such as kubuntu, xubuntu, mythbuntu, nubuntu etc. but still fedora wins on customization. Also customization is very easy in fedora due to availability of tools like revisor.

    Saturday, July 18, 2009

    My Projects... Now and Future

    Past few days were very hectic yet fun. I was finally able to upload "pydit", my python based text editor . Tiny-edit is already uploaded and its doing fine.
    Creating pydit was a tough job as wxPython tutorials are all lost and those who survive are too bulky or too tough for beginners like me still I managed it well (I think!!!). I'll plan to make an nmap frontend next. The GUI is already on the paper. I think I should use python for it. Well, time to get back to work.

    Thursday, July 2, 2009

    ..3..2..1..Python Resumed :)

    After spending nearly a month to get into Linux and Networking, I am really missing python. And I guess its time for me to get to it. I am trying to mix Linux, Python and Networking by developing a software for easy management of Linux servers. The main goal is creating master zones, child domains, mail servers, dhcp, apache web hosting etc. with simple clicks and user friendly gui. Also a tutorial on wxpython is on the way as I wasn't able to find a good one when I was learning it. Time to get back to work!!! :)

    Saturday, June 20, 2009

    License For Your Open Source Software And You

    Last year I wrote a program for a text editor in java. I wanted to release it on code.google.com but as soon as I went on their hosting page, there was a field for the license type, which I was unable to fill as I didn't knew which one is the best suited for me. I read some of the licenses and here is a summary of them.

    But before anything else let us first consider the need of a license. Consider a situation where you wrote an application or a program code and uploaded it on net. You didn't considered licensing option at that time. Next time when you open your email you see a legal notice for copyright infringement. Yeah!! Thats the program you wrote... What actually happened is that someone copiedor downloaded your source code copyrighted it and sued you for illegal use of the program!! Yes this can happened and has happened before.

    These Licenses are designed in such a way so as to protect your rights as well as the spirit of free software. Here I will talk about three major licenses i.e. GNU General Public License(GPL), GNU Lesser General public License(LGPL) and Apache License. For a list of other Licenses please visit http://www.gnu.org/licenses/license-list.html

    • GNU General Public License (GPL) :-
      The main aim of GNU GPL is to ensure that you have the freedom to distribute copies of the GPLed software you created or obtained , you have to ensure the availability of source code. You can charge some amount of money. You have to give other users right to modify the source code and redistribute the modified version but under GPL only. There are different versions available for GPL. Latest is GPLv3. Unlike GPLv2 it has a clause to protect users against the patent deals and extend the limited patent protection to the whole community. It also protects the users against tivoization.
      GPL ensures that each free GPLed software provides its source code and that you are free to modify the code to create your own customised program and redistribute it but only under the GPL license so as to protect the rights of the original developer. Also it makes mandatory for the modifier to keep all the notices intact and to add proper declarations about the modifications made, so that any harm done will not defame the original developer.

    • GNU Lesser General Public License (LGPL) :-
      GPL doesn't allow the use of GPLed libraries into proprietary programmes but in some cases if one want to release a free library intended to be used in proprietary programs then LGPL come to rescue. It allows the users to copyright a free software that can be integrated with some proprietary software. You should avoid this license if you can. Releasing a library under GPL will make sure that the library is used by free sofwares only. This may force the other developers to release their software using GPL and thereby contrbuting to the free software world.

    • Apache License :-
      GPL is a very mature license. Its ideal for free applications but for beginners understanding GPL completely is a hassel. On the other hand Apache license is easy to understand and provides more or less the same protection as provided by GNU GPLv3.
      Free Software Foundaion considers Apache license to be compatible with GPLv3. Therefore Apache 2 software can be included in GPLv3 projects, because the GPLv3 license accepts Apache software into GPLv3 works. However, GPLv3 software cannot be included in Apache projects. The licenses are incompatible in one direction only, and it is a result of ASF's licensing philosophy and the GPLv3 authors' interpretation of copyright law.

    • Creative Commons :-
      Creative Commons provide an out of the box license which is not only flexible but also easy to use and much more easier than create. Yes, you can create a CC license, specially customized to suit your needs like the one I have for this blog. You can create a license for your work here. CC license is not generally used for software licensing. It is more suited for literature or  documentation work. In this license type you can choose the condition you want to set for your work. These conditions are :-
      1. Attribution : You let others to copy and use your work only if they give you the credit the way you want.
      2. Share Alike : You can allow other users to share your work but keeping the same or similsr license like the original one.
      3. Noncommercial : You can permit others to use your work for Noncommercial/Commercial purposes
      4. No Derivative Works : You give others permission to copy and distribute your work. But only Verbatim copies not any sort of derived work.
    So for general purpose you can pick eiher GNU GPL or Apache license. It won't matter much. There is an ongoing debate about which one is better with no results ofcourse. I will recommend using GPL but feel free to choose any one of them. Creative Commons apply to a different area. You can use it to license your blogs or tutorials.

    Tuesday, June 9, 2009

    The Happy Man

    Today I am the happiest man of the world. I finished my training with nettech and that too being a topper. And I got an offer to work with the team nettech as a faculty member. Now isn't that good!! I'll be teaching at XIM, Bhubneshwar. Although getting tickets for bhubneshwar in such a short time was a challange but, hey, they made air planes for people like me. It's the beginning of a new journey. I can't wait to learn more linux from senior teachers. I also had a little chat with Debjit. He is planning to conduct classes this semester on Linux. I guess I'll be helping him out. As the general secretory of BIT-LUG I have to invite Swapan sir for a workshop. A lot to do and very less time.....

    Friday, June 5, 2009

    Linux : Choose your flavour

    Once you decide to try Linux the next question arises “Which Linux should I use? There are just so many of them. :( “ Well! I agree. Indeed there are a lot of Linux distributions (distro in short) available. People often ask “Which one is the best?” This is very difficult to answer. I believe the question should be “Which one is best for me?” In this article I'll try to answer this question and discuss some of the popular Linux distros

    Debian : Debian is the parent Linux of Ubuntu and DSL and many other popular Linux distros. It has a good community support and uses .deb installation packages. But the biggest drawback is that stable releases are out only once in 1 to 3 years. Beginners can try.

    DSL : DSL or Damn Small Linux is a distro which indeed lives upto its name. Its only a 50MB distro with fully loaded GUI. You can even install it in a pendrive and boot in any computer with it. Its very suitable for old PCs having very small hard disk space or very less ram size. Not recommended for beginners.

    Fedora : Fedora is the community Linux of Red Hat with GNOME default. If you want everything to be latest in your distro then Fedora is a good choice. Also it has a very active community. Another thing worth mentioning is Fedora's 'spins'. These spins are modified versions of Fedora. They are modified by various Special Interest Groups enhancing some ability of Fedora. Like, there is a Gaming spin available which enhances your gaming experiance. Since everythng is latest, you may have to compromise with stability. But trust me its a very small price and if you have used any Linux before and wanna change than you should give a try to fedora. And yes, it look great. Recommended for user who have already used a linux before, begginers may try.

    Mandriva : Mandriva, formerly known as Mandrake, is a great distro providing very beautiful looks. Three versions are available of this distro namely free, one and powerpack. Free is bundled with completely free software i.e. it does not contain any proprietry stuff. This means that you have to insatll most of the codecs on your own. It s suitable for freeware freaks. One is fully loaded with all softwares and is ideal for use. Its default is KDE. Powerpack is paid version of Mandriva. It comes with Professional support and is fully loaded. It uses rpm based installation packages and urpmi is the default package manager. You may expeience occasional crashes but nothing beyond repair. Recommended for user who have already used a linux before, begginers may try for fun.

    Mint : Mint is perhaps the most easy to use Linux. It is built on the strong foundation of Ubuntu only. It has its own repositories but it also support Ubuntu's repositories. Mint also has a esy to customise desktop utility. And if you are a bit creative then this is the right place to show it as mint developers always welcome new ideas more than any other Linux. Recommended for beginners.

    Puppy : This linux is so small that you can carry it in old 128MB pen drives and use it seamlessly. Its completely GUI based. It has an internet browser, a texteditor, amedia player n lots of other stuff. Whats more, it can save your settings and files and write it back on multisession cds or pendrives. So you dont need to set the environment every time you boot from a pendrive. This is an ideal linux for older PCs having less RAM or hard disk. Packages are hard to find. Not recommended for beginners.

    Red Hat : Red Hat is the leader in Linux world. It broke the myth that open source cannot earn money. This is the parent Linux of many other distros like Fedora, Mandriva, CentOS etc. Since Red Hat bills its users, therefore its generally not used for desktops, but used in servers and other workstations where stability is very critical. Support is also very nice but paid. Not recommended for beginners.

    Slackware : This Linux is for the people who already know the basics of Linux. It provides highest customisibility possible. You can choose from a range of packages to be installed but be careful as you should know that which packages are critical for smooth system working. Its an excellent Linux for the people who want to know the innards of a Linux. Not recommended for beginners.

    Slax : Its a slackware based Linux. Blessed with good looks n stability it uses KDE and is unbelievingly small in size, only 190MB. It can be installed on a cd or a pendrive and is good to carry anywhere. The only problem is that it is hard to install on harddisk as it doesnt have an installer with it. Not recommended for beginners.

    Suse/OpenSuse : It is a Linux supported by Novell. It is a beautiful distro providing high user friendliness. It also simplifies the developing and packaging methodologies making it a Linux of choice for developers. The package manager YaST is very powerful. Although the opensuse repositories are not enough but they do have a lot of third party repositories including popular packman repository. The community position is also strong. Beginners may try.

    UBUNTU : Ubuntu is the most popular Linux distro available. Much of the credit for making Linux so popular goes to this distro. It has a huge community, perhaps the largest. Forum support is also awesome. But what made this distro really popular is its free cd shipments. Yes! You can request UBUNTU cd free of cost and ofcourse downloading the distro is always an option if you are too eager to try. Ubuntu is available with GNOME, KDE, XFCE desktop environment with aliases Ubuntu, KUBUNTU, XUBUNTU. GNOME being their default. It is highly stable but looks are simplistic and not that appealing like that of Mandriva or Fedora. It has a huge repository with synaptic being default package manager. Both desktop and server editions are available free of cost. Normally two versions are launched every year, one in april, other in october. Recommended for beginners.


    *MORE TO BE ADDED SOON

    In the end...

    My networking and ethical hacking course from Nettech is coming to an end. Tests are already finished, only project work is left. As I mentioned earlier, these were among the most hectic weeks of my life. But I really enjoyed these days. The atmosphere, the "Ten minutes - Ten marks" tests and "feel the heat in ac", really made this course memorable. I am gonna miss all this. But these 25 days have opened a new chapter in my life. I have a lot to try in so less time. DNS, Web Servers, Mail Servers, Samba, NFS, NIS, PHP, Apache........ the list is endless. But I have to start somewhere. I guess, I should start with PHP. Anyways I'll keep trying n meddling with things as usual and try to keep up.

    Tuesday, May 26, 2009

    I have to sleep!!!

    I really need to sleep man. This nettech is beating the hell out of me. But I must admit, its fun. We are configuring routers, DNS servers, DHCP servers and a lot of other things. I was using Linux as my primary OS since past two semesters but now I am actually seeing the innards of the system. Half of my class time is spent with /etc directory. Its great man. Santu sir says that if you can read the /etc completely then you will master the Linux. I have started, though the directory is really huge. Me and Avinash are actully topping the Swapan sir's troubleshooting class. A couple of days before some girls asked me "What do you eat? You have answer for every question." Now how to answer such a question. I am planning to buy a domain name. I think I'll have it by the mid of june. See you on my domain later. :)

    Sunday, May 24, 2009

    Linux Tricks

    Here are a few tricks which I have learnt in past from different sources.
    • Create two file with same name : Have you ever seen two files with same name in same folder???.... Well I don't think so...Here is how to make two file with same name. Create the folder where you want to make these files. cd to this folder. Now type this $ touch "aditya" and $ touch "aditya ". Obviously most of the people are not able to notice the space after aditya and will definately bang their head on wall or complain that there is a bug in Linux.
    • Allow root to do remote login : If you have done telnet then perhaps you must be aware that root cannot telnet directly. He has to login as a normal user and then type $ su - then the password. But if you want root to login directly from login screen then edit the file securetty present in /etc and add the pts/x terminal from where you want to login, here x is the terminal number.
    • Change the Pre-Login message : To change the message displayed on the login screen of command line login, go to /etc and edit the issue file. Just type the message you want and restart the computer.
    • Change the post-login message : If you want to display a message just after the user logs in then just edit the motd file present in the /etc directory.
    • Do not allow any users to login : If you do not want any user to login in your server then just change the permission of passwd file present in /etc by typing # chmod 700 /etc/passwd. Alternatively you can also edit the passwd file but be extremely careful. You can also create a file called nologin.txt in /etc folder. Just type the message you want the users to get when they try to login.
    • Do not allow specific users to login : You can change the permission or owner of the home directory and the victim user will never be able to login.



    The commands in this post are dangerous. You should backup all your data first.


    Most of the commands will require you to be the root of the system. If you are not root then first take the permission from the root and do tell him/her your intentions
    .

    Run the commands at your risk. Author is not responsible for any harm done to the system.

    Files are written in orange and commands in blue.

    Linux commands for beginners

    Most of us are afraid of Linux commands, so here is my post to help those people. Although most of the things can be done using GUI now a days but knowing commands help a lot, specially when something goes wrong with your GUI. If you are in a fix about some command then there are two ways to get out of the problem.
    • help : "$ command-name --help ". It shows the syntax and some basic explaination of the command.
    • man : "$ man command-name ". It shows more details about the command.
    1. cd : Everything in Linux lies in a directory like thing called " / " or the root or the mount point of the file system. cd command is just like the cd used in windows i.e. it is used to navigate among the folders or directories. For example to go to a directory "/home/adimania" type $ cd /home/adimania and there you are.
    2. ls : To check the contents of a particular folder type $ ls . It will show the list of the files and folders present in the directory. Thats not all there is a lot more to ls than this. Use $ ls -al to view details about the file including the hidden ones!!! If you dont want to see the hidden files then simply do $ ls -l
    3. cat : This command is used to read the contents of a file or to write/append it. For example to read a file named adimania simply write $ cat adimania . Or to append it write $ cat > adimania . This will overwrite the file adimania. To append it you should write $ cat >> adimania. Two important point worth noting here are that your present working directory should be the one where the file to be read/append is present and that you cannot completely edit the file by cat command. Most probably you will end up overwriting it, so use cat for reading and avoid writing with cat command
    4. pwd : This command simply tells us about the present working dirctory of the user firing it. For example user adimania upon login will go to /home/adimania by default. so immidiately on login if you write $ pwd then output will be /home/adimania .
    5. mkdir : This command is used to create directories provided you have permission to do it. For example if you want to create a directory on /home/adimania you can do so by writing either $ mkdir /home/adimania/aditya or $ mkdir aditya . Can you tell me the difference? .... First command will run from anywhere, you just need the permission, while the second will work only if you are present in /home/adimania. In other words former is the absolute path and latter is the relative path.
    6. rmdir : This command is used to remove or delete an empty directory. Mind it, the directory should be empty. To delete aditya created by previous command you should type $ rmdir aditya. If the directory is not empty then an error message will flash.
    7. rm : This command will come to rescue when the directory is not empty. rm command basically deletes the files present in the directory. If there exists a file called friends in aditya directory then you should first delete the file friends by writing $ rm friends or you can also write $ rm /home/adimania/aditya/friends. You can also delete all the files in one go by writing $ rm *. The rm command can be used to delete a non empty folder just by writing $ rm -r /home/adimania/aditya. Here -r stands for recursively.
    8. mv : Ths command is used for moving a file or a folder from one place to another. To execute this command you need to write $ mv /home/adimania /home/adimania/aditya. Here first path is the source from which the folder/file is to be moved and the second one is destination where the moved file will ultimately reach. You can also use this command to rename any file or folder.
    9. cp : This command is used to copy a file or a folder from one place to another. The command format is similar to mv command. To execute this command you need to write $ cp /home/adimania /home/adimania/aditya. Here first path is the source from which the folder/file is to be copied and the second one is destination where the copied file will ultimately reach.
    10. touch : This command changes the time stamp of the files. If the file does not exist it will create an empty file. It is typed as $ touch aditya.
    11. echo : This command displays a text or a value contained in a variable. It can also be used to to write the output in a file by using '>' or to append use '>>'. For example $ echo hello will give output as hello. To write "Hi how are u?" in a file hello.txt you can execute $ echo Hi how are u? > hello.txt and you will get desired result. Most wide use of echo command is in getting the values of variables. For example to know the value stored in PATH environmental variable simply write $ echo $PATH.
    more commands to be added soon. watchout for this space ;-)

    Tuesday, May 19, 2009

    Five days in Nettech

    Well five days just came and went away. These were perhaps some of the most hectic days of my life after Bansal Classes, Kota. Swapan is simply superb and so are rest of his faculty members. That guy can actually make the most boring subject the most interesting with is weird yet simple examples. Now at least I can say that I can design a basic network. "Think like a chor and act like a police." is what is says to us.
    Santu sir is teaching us Linux. I had never explored /etc so much. He says that if you can edit /etc on your own without any one's help then perhaps you are the best Linux engineer possible. And I am trying my best on that ;)
    More on it later. I'll publish some basic Linux commands very soon. Keep waiting :)

    Saturday, May 16, 2009

    Linux : The so called "Geek's OS"

    Linux, since a long time, is well known as a geek's operating system. An OS with commad line interface, where one has to remember all “so complicated” commands wih a handful of arguments and options and all that stuff. I remember when I tried Linux first time some six years ago. I was frustrated in a couple of hours. I wasn't able to access my windows drives (FAT32). Applications were hard to find and harder to install. I switched back to windows within a couple of weeks.


    But with changing scenerio and time Linux has emerged as not only one of the most powerful operating system but also more user friendly than one can ever imagine. Think about it, an OS which costs you nothing, provides a mind blowing GUI, with tons of options for customising the desktop and its own behaviour. Yes, this is today's modern Linux. Its user friendliness beats that of windows in some aspects (actually in most of the aspects, if you ask me). Its repositories are huge and contains so many application programmes than your computer can possibly support (unless you are running a supercomputer in a top research facility ;] ). No more learning those nitty-gritty commands is required. A double click of standard usb or ps2 mouse is more then enough. Just install a Linux and have fun. You can access your files just by clicking them. Linux comes preloaded with most of the drivers, so you need not to install them separately. Like the touchpad scroll and other media keys of my laptop do not work with windows unless I install all the drivers individually from diffeent cds but this is not an issue with Linux, Everything works fine without installing any more drivers.


    Let us compare some usual windows applications wih Linux applications and see the result:-


    • Multimedia applications : While Windows is bundled with Windows Media Player, Linux comes loaded with Movie Player and Rythm Box (GNOME desltop environment) or Dragon Player and Amarock (K desktop environment or kde). While both the desktop envirnment players are bundled with many more codecs than Windows Media Player, KDE players are more powerful than GNOME's although GNOME provide a more simple user interface. People using players other than Windows Media Player will be glad to know that players like vlc and real player are also available for Linux and that too free of cost. Although vlc player is loaded with most of the codec you will use in your entire lifetime but still if something is missing then Codina will come to rescue. Codina auto detect the missing codec, search it (both free and proprietry) and will install it on your wish (by wish I mean to say a mouse click).

    • Office Suite : Most of the Linux distros are bundled with Sun's OpenOffice. It's a complete office suite providing a lot more than MS-Office. MS Word is replaced by OpenOffice Writer. Powerpoint is replaced by Impress. Excel is substituted by Calc and Access by Base. You can do a lot more than usual MS-Office work with these applications. There is no need to install a pdf converter sepearately, it is integrated with these applications, you just need to click a button. The default file extention is not the same as that of MS-Office but it completely supports MS-office formats (upto office 2003, 2007 is on the way). Yes!! you can save your document in the format you want. Save it as .doc or .odt (the default OpenOffice format) or as .pdf or as any other given choices. Now try that with MS-Office!!!

    • Internet Applications : Most of the Linux uses Mozilla Firefox as its default web browser although other browsers like Konqurer (KDE) and Epiphany (GNOME) are also available. Most of the users find firefox good enough so there is no need to install another web browser. Infact many of the Windows user use Firefox instead of Internet Explorer. Now lets talk about chat clients. Well there is an extensive list of such clients which are powerful and yet so simple that its a child's play to configure them. I am currently using Pidgin for gtalk. It supports gtalk, yahoo messenger, aim, msn, myspace, irc and a lot more than I can remember. So there is no need to install different clients for gtalk and yahoo messenger one single client will suffice. And yes, it looks coolt. Alternatively you can use Kopete (KDE default) which also support a lot of protocols. IRC clients like Xchat are already well known to most of the users hanging on irc. Evolution is also present as a subsitute to Outlook. Also one can always install Mozilla Seamonkey suite which is a complete internet applicaion suite.

    • File System Browser : Just like Windows have Explorer Linux also has file system browser like Dolphin (KDE) and File Browser (GNOME). It is needless to say thet they are powerful, more than Explorer. Ofcourse it is loaded with all the usual features but one feature which I like most is that that you can open more than one location within same window in tabs or even partition the the window and see two or more locations simultaneously. Isn't that way ahead than Windows Explorer!!

    • Other Utilities : Linux comes loaded with lots of softwares like cd/dvd burning tool, a basic text editor, a tool for taking screen shots, encryption utilities and a lot of other “this and thats”. Lets talk a bit more about these application tools. Linux comes with K3B (KDE) or Brasero (GNOME) bundled with the distros so you need not to install any burning software explicitly. Linux editors are the substitutes for notepad but way useful. They are a lot helpful for programmers than notepad because of features like highlighting and color coding the programming language keywords and is also helpful in customising the indents for sensitive languages like python. Unlike Windows, Linux provides a screnn shot tool which can be used to click entire screen or a window or you can simply specifiy the area you want to be clicked. Ofcourse Linux' security is something well known. Just let me tell you this, its really difficult to hack a Linux and Linux also has so less number of viruses that there is practically no need of an anti virus.


    To conclude this article I will just say that being open source doesn't mean that software is weak in any sense. So what are you waiting for?? Try a linux distro now. Its completely free of cost and trust me you will love it.

    Friday, May 15, 2009

    The First Post On the Second Day

    Phew!! This is my second day on the training and seriously its hell tiring. I have classes from 9:00am up till 8:30pm. Oh by the way I am doing my training on "Networking and Ethical Hacking". Its fun, requires hard work though but I must say Nettech and Swapan has made it interesting. For the first time I saw an actual router in my hand and an optical fibre cable and an NIC card and lots of other things. Although this tight schedule is keeping me away from python and mandriva, but of course I can always get back to them whenever I want and seriously I think its worth it. More on my training later. I am writing an article about Linux. I have to finish it first.