What’s GNU to you

GSOC interns- 25th anniversary of GNU Project ...
Image by renuka_prasad_b via Flickr

It is an old joke, right? Not quite in this day and time. The meaning of GNU has changed from just an animal to a recognized computer term. GNU in the computer world means “GNU’s not Unix”. GNU was the alternative software to Unix in the early 1980′s, but was at the same time compatible with Unix.

Still clear as a foggy day in London town as the old song says. Well, GNU is an operating system and an operating system is the software that runs all other software on your computer. In the early 1980′s there was no operating systems freely available. At that time there was an owner of the operating system software, and the law which forbid any and all users from cooperating. So in steps Richard Stallman from MIT, who in the 1970′s, had been working with his group and with computer companies on free software for the public. He decided this just wouldn’t do. The early days of computing was based on cooperation. Richard wanted to bring this back. The way Stallman choose to bring it back was to create the GNU Project.

Like all things anyone steps in the middle of, the project turned out to be much larger, and more time consuming than expected. First money had to be found to support the project. Richard and friends turned to creating the Free Software Foundation which initial funds were used to begin the GNU endeavor. After many years and trials all the programs for the operating system were written except for the essential core software. Lo and behold in Stallman’s time of need in pops Linus Torvald and his Linux kernel. The two found each other and thus the GNU and Linux systems merged and gave birth to not only a free operating system, but also a foundation for the open source movement.

In these times, people say fairy tales don’t exist anymore. Well, in the computer world many such tales exist.

The Internet is Alive!

The Internet Works Very Well

Contrary to what most people speculate about or develop theories about, the Internet is not going to go away now or anytime soon. The Internet will also not become “unavailable” for public use. The Internet has become such an integral part of everyone’s daily lives, that living without it and its available resources for personal and business matters is an idea that is unfathomable.

The Internet is very much alive and working well for its users. You can access the World Wide Web almost anywhere there is the capability for Internet connectivity. This includes public places and educational institutions. Some retail establishments may charge for using their systems connections or ask that you purchase something from their business in return.

Using the Internet

Actually, using the Internet is also something that has become even easier as it has evolved. Much of the Internet and navigating it can be self-taught. However, there are numerous tutorial guides and resources that can help a person to get started in using the Internet super highway. Using the Internet for one use is no longer common. Now, individuals use the Internet to check their bank balances or stock prices or even to do things like sending emails and short texts to recipients. It’s also easy to connect using mobile phones, laptops, or other devices.

Finding Various Resources Online

Locating different resources and online applications for business and personal use is very common, too, with Internet users. Interacting online is something that is becoming more common, as well. Therefore, the need to download and use social media monitoring tools has become common. In the future, this will increase even more because social networking has taken off rapidly in recent years.

With the widespread use of the Internet and the ease of connecting to it, the Internet will continue to be a viable tool for individuals.

Enhanced by Zemanta

The Most Popular Linux Distributions Available For End Users

SuSE logo
Image via Wikipedia

If you are a first time user of Linux or a seasoned and experienced Linux user, chances are there is a Linux distribution perfectly suited for your needs. Among the wide array of choices of Linux distributions, it is quite important to know about certain leading Linux distributions that are available for the end users. Following is the list of few widely used Linux distributions, you can choose from:

Ubuntu: Ubuntu Linux can be rated as the topmost user-friendly Linux distribution available at present. Despite being a relatively newer Linux distribution, it has gained much wider popularity than most of the other Linux distributions. This is probably the reason why you may find various new netbooks and laptops being shipped with Ubuntu Linux as their default operating system.

Fedora: Fedora is actually an open source project started by Red Hat. This is aimed at the individual consumers as opposed to the RHEL edition of Linux, which is marketed primarily for the enterprises. This is often assumed to be a free and home-based alternative to the RHEL edition of Linux developed by Red Hat.

OpenSUSE: OpenSUSE is the modern and free version of SUSE Linux Enterprise platform. After the acquisition of SUSE by Novell in year 2003, OpenSUSE emerged as the free version that’s intended mainly for the home users due to its ease of use and friendliness.

Debian: Debian is known for its robustness and security features. This has a different package management system for file distribution (.deb file format) than Red Hat based Linux distributions. Over the years, Debian has become a favorite choice for the power users of Linux who were already familiar with working style of Unix.

Mandriva: It was earlier known as Linux Mandrake and was marketed aggressively for its friendliness of the end users. This is also an excellent Linux distribution as far as the everyday usage by the average home users is concerned. It is still known widely for its intuitive and attractive user interface and smooth navigation.

Enhanced by Zemanta

Using Dual-boot system to Enjoy Two Operating Systems

Third Grade class using the computer lab
Image by Extra Ketchup via Flickr

Many times we tend to avoid trying new things considering the risk of losing our existing things. This risk can actually make you worry when both the alternatives cannot coexist. However, you can feel free to try out new things if you know nothing is going to change your good old favorites. Trying a new Linux operating system is similar to this example. Many people are deprived of learning and enjoying Linux because they do not know about the dual boot systems.

By having a dual boot system, you have the liberty to boot your computer in either of the two (indeed, more than two) operating systems present on your computer. There can be several advantages of using a dual boot machine, such as:

Protection from virus attacks: If one of the operating systems is infected with a deadly virus, the second operating system can easily be used to run the antivirus program. Also, Linux based operating systems currently have fairly less number of viruses developed for them, which makes Linux very good as a second operating system. You can also have access to both systems to download drivers.

Data recovery after a crash: If your operating system has crashed, you can simply log into the other operating system and take a back up of your important files. This is a very important utility which may come handy in case of disastrous situations like crashes.

Defying compatibility issues while running software applications: dual boot capabitlity of your computer offers you complete freedom to try and use software even if they are compatible with only one operating system. For example, you need not look for compatibility solutions, such as Wine if you need to run Windows based applications on a machine with Linux OS.

These multiple operating systems are often installed on the different drives or hard disk partitions in the same machine. The best thing about having a dual boot (multi-boot) system is that it’s fairly easy to set up and does not require any addition technical expertise. It can be done easily by a person who is experienced at installing operating systems and comfortable partitioning the hard disk drives.

Enhanced by Zemanta

Boot Your Linux from Your USB Flash Drive

USB Flash Drive SuperTalent Pico-C 8 GB. Stain...
Image via Wikipedia

In this era when portability of computing devices has become a prime concern, Linux has enabled you to carry even your operating system on USB Flash drives. There are various advantages of using these low-cost flash drives to carry your Linux operating system installed. It allows you to use any computer with the same working environment just when you plug your Linux installed USB drive into it. You don’t even need to carry your laptop, or pocket PC to be able to use your own personal computing environment on any computer.

You can install Linux on your USB flash drive in a number of ways. The most common but longest way is to burn an ISO image of installation into a CD/DVD and then, to install it to the flash drive after booting your machine with the CD/DVD. You can also choose to use Linux Live USB Creator in order to easily install Linux into your USB drive. You can also use another application such as unetbootin that may offer you the choice of some Linux distributions that are not available with Linux Live USB Creator.

After you know the advantages of installing Linux on a USB flash drive and various ways of installing Linux on a USB drive, you should also be aware of what choices of Linux distributions you have. The reason why you should know about the suitable Linux distributions is that various Linux distributions are different in terms of their portability, sizes, speed of running if ran from a USB flash drive. Following are few Linux distributions that are being used widely in their USB installed forms:
* Puppy Linux
* Damn Small Linux
* xPUD
* SLAX
* Moo Linux
* PCLinuxOS
There are several more Linux distributions that can run from the USB flash drives. However, if you want to install Linux on flash drive just as a replacement of your desktop based Linux, you should choose a distribution that closely matches the features of your desktop based version of Linux.

Sites With Linux Flavours

Choosing between a Windows based or Linux based website is very difficult for a person who is not familiar with both these operating systems. The platform on which one is on makes a huge difference of cost, security, ease of use, scalability, design, etc. Hence it is very important that you do proper research before you get your company’s website made. Even after you make your choice between a Linux and Windows, there are other choices you need to make.

Just the choices of languages in Linux itself is staggering. There are plain languages, then there are languages which are made by using these languages. They do have their own advantages and disadvantages. If you have no idea about what is being talked about here, then you need to consult a professional before you make a choice of the language. There are some languages where understanding is simple and helps you work easier. There are some languages where you can easily expand your website and scale to bigger levels. Some Linux languages give you better control over your website. Some languages give the designer simpler tools to work with like the Ruby On Rails language which is quite simple for designers to create complicated algorithms easily. Then there are basic and simple languages like PHP which are very popular and have a variety of advantages over other languages. Python is another popular competitor to these Linux web developing languages which is commonly used and is very easy to write and use. Some languages are better for logic programming – Python; and some are better for functional programming – Ruby. Some websites are preferred to be made on specific languages. Social networking dynamic sites like twitter use Ruby on Rails. Highly interactive sites like online casino and sports betting sites can be designed using Python and other similar languages.

Enhanced by Zemanta

Linux Shell Scripting What and Why?

Microsoft Windows 1.0 Six-Page Advertising Ins...
Image by myoldpostcards via Flickr

If you have known any power users of Linux or some of the developers, you would have probably heard them talk about shell scripting or shell scripts. You might even have wondered what these Linux shell scripts are, and why they are used. There is also a myth about the difficulty of using Linux shell scripts among many Linux newbies. However, the reality is, it takes just a clear understanding of Linux shell and knowledge of scripting to be able to successfully utilize the immense power of Linux shell scripts.

A Linux shell is software that allows the users of Linux to issue English-like instructions to your computer. These instructions are known as Linux commands and are passed to the Linux kernel via the Linux shell. In other words, Linux shell provides users an environment for interacting with the operating system without using a graphical user interface (GUI). There are various kinds of Linux shells available, such as BASH (Bourne-Again SHell), CSH (C SHell), KSH (Korn Shell), and TCSH. You can write shell scripts as per the Linux shell of your choice.

A shell script is a set of commands written in a way that they can be executed sequentially without any manual intervention. These scripts are stored in textual files with a .sh extension. Generally, shells are used for manually entering the commands as inputs, whereas with the use of shell scripts you can define the exact sequence of commands, manipulate their parameters and switches, and expect a composite output as a result of running the script.

With shell scripts, you can store output to files, send as e-mails, or show them on screen without typing commands on the Linux shell each time. Repetition of defined sets of tasks becomes much easier than otherwise with the shell scripts. You can utilize shell scripts to automate scheduled tasks or even facilitate system or network administration. Many MS-DOS users think of shell scripts as Linux equivalents of MS-DOS based batch files, but shell scripts are much more powerful than the batch files in MS-DOS operating system.

Enhanced by Zemanta

Enjoy Unix-based Utilities under Windows Using Cygwin

BEIJING, CHINA-OCTOBER 23:  The new operating ...
Image by Getty Images via @daylife

It is sometimes necessary for users of Windows to run Linux based programs and vice versa. Unfortunately, this problem is not addressed by either using a dual boot system or using Wine, if your primary OS is Windows. This is the reason why a tool, such as Cygwin, becomes very useful that allows you to use Linux based utilities on Windows. Cygwin acts as an emulation layer on top of a Windows installation that allows the UNIX applications to run.

A good thing about Cygwin is that it is a free software that can run on several versions of MS Windows ranging from the Windows 9x series to Windows 7. In order to install Cygwin on your Windows machine, you need to have at least 1 GB of free hard disk space available for a minimal install of Cygwin. For a full installation of Cygwin, a minimum of 5 GM of hard disk space is required. However, full installation of Cygwin is recommended only for the users who are more interested in working on Unix or Linux environment than Windows.

One more thing you need to be careful while installing Cygwin is your anti-virus software. You may need to temporarily deactivate the anti-virus protection while Cygwin is being installed, otherwise your anti-virus may report Cygwin as a threat. You can install Cygwin directly from the Internet if you have an active Internet connection while installing Cygwin or you can install Cygwin from a locally stored installer of Cygwin. You can select from the available packages with Cygwin during the installation based on your needs and usage of Linux utilities.

Cygwin is a powerful tool that can address the problem of cross-compatibility between Windows and Linux based operating systems. This allows you to utilize a number of utilities that are available with Linux from right within your Windows environment. Cygwin provides you an environment so similar to Linux that you may even sometime forget that you’re actually running it under Windows.

Understanding CRON to Run Automated Tasks

crontab example.
Image via Wikipedia

One of the widely used utilities of Linux is Cron, which enables users to automate execution of tasks. Cron allows setting up schedules of certain tasks to run at specific times or at specified frequencies. At the scheduled time/dates, tasks are automatically triggered without a user intervention.

Technically, Cron is a daemon that stays resident in memory after getting started once. This is how Cron keeps track of date/time to run specified commands or to invoke specified scripts/applications at their scheduled times. The schedule for running tasks is defined in the configuration files called, crontab. The crond application (the Cron daemon) keeps invoking commands as defined in the crontab files.

You can set up the schedules in the crontab files defining configuration details, such as:
SHELL – the UNIX shell Cron is supposed to run under.
PATH – It is the path to directory (or directories) where the Cron application actually resides.
MAILTO – It is the e-mail address of the recipient of the output of running the Cron jobs.
HOME – It is the Linux home for the Cron daemon.

In addition, date, time, and frequencies for running various tasks are defined in the crontab files against few specific fields. Values for these fields specify the following values related to running the tasks:

Minute – Minute of the hour and can take a value between 0 and 59
Hour – Hour of the day and can take value between 0 and 24
Dom – Date of the month and can take a value between 0 and 30
Month – Month of the year and can either take a value between 0 and 12 or the name of month
Dow -  Day of the week and can either take a value between 0 and 7 or the name of day
User – Name of the user required for running the scheduled job
Cmd – Command that needs to run at the specified schedule

These details are required to configure the tasks to run at specific date/times and frequencies with the help of the Cron utility of Linux.

Know About the Running Processes with the PS Command

Graph of typical Operating System placement on...
Image via Wikipedia

The Linux operating system has many important concepts that help developers and administrators ensure a smooth functioning of the applications developed for Linux. One of such important concepts of operating systems is concept of processes. A process in Linux represents an instance of a running program. The Linux operating system assigns a unique identifier, process id, to each running process. In order to know the details related to the processes running under Linux, you can use the ps command.

The ps command has the following basic syntax:
ps [options]

When you run the ps command on the command prompt, it displays the information about at least two processes, shell and ps. Shell is the process that runs in order to provide users an environment to interact with the operating system. The ps process is displayed as a result of executing the ps command, which terminates immediately after running the ps command.

The ps command displays four pieces of information related to the running processes by default. These pieces of information are PID, TTY, TIME and CMD. PID is the process id of the process, TTY indicates the name of logged in terminal (console), TIME is an indicative of the processing time the CPU has spent executing the process, and CMD is the name of command result in the process execution.
There are various common usages of ps command with varying values of the options used while running the ps command. For example, in order to get a list of processes containing the word, app, you can issue the ps command with the grep command as follows:
ps -ef| grep app
Similarly, the ps command can issue the list of processes based on various criteria specified by various options, such as aux, -u, -ef, -x, etc. These options can be used for various purposes, such as killing a non-responsive process. You can easily find the process id of a particular process and issue the kill command with the process id thus found.