Friday, June 26, 2009

List of Ubuntu Distributions

The Ubuntu project makes two releases per year, using the year and month of the release as the version number. The first Ubuntu release, for example, was Ubuntu 4.10 and was released on October 20, 2004.Consequently, version numbers for future versions are provisional; if the release is delayed until a different month to that planned, the version number changes accordingly.

Ubuntu releases are also given code names, using an adjective and an animal with the same first letter e.g: "Dapper Drake" and "Intrepid Ibex". With the exception of the first two releases, code names are in alphabetical order, allowing a quick determination of which release is newer. Commonly, Ubuntu releases are referred to using only the adjective portion of the code name.

Releases are timed to be approximately one month after GNOME releases, which are in turn about one month after releases of X.org. Consequently, every Ubuntu release comes with a newer version of both GNOME and X. Release 6.06 (Dapper Drake)—and recently 8.04 (Hardy Heron)—have been labeled as a Long Term Support (LTS) , to indicate support with updates for three years on the desktop and five years on the server, compared to 18 months support for non-LTS releases.

The current release is 9.04 "Jaunty Jackalope" - and the next is 9.10 "Karmic Koala", due in October 2009.

Variants
Kubuntu is an official variant of the Ubuntu distribution which uses KDE rather than GNOME
Super OS is an un-official remaster
See also: List of Ubuntu-based distributions

Several official and unofficial Ubuntu variants exist. These Ubuntu variants install a set of packages different from the original Ubuntu. Since they draw additional packages and updates from the same repositories as Ubuntu, however, the same software is available for each of them. Unofficial variants and derivatives are not controlled or guided by Canonical and are generally forks with customizations for specific goals. The "fully supported" Ubuntu derivatives include:

  • Kubuntu, a desktop distribution using KDE rather than GNOME
  • Edubuntu, a distribution designed for classrooms using GNOME
  • Ubuntu Server Edition
  • Xubuntu, a "lightweight" distribution based on the Xfce desktop environment instead of GNOME, designed to run better on low-specification computers.
  • Lubuntu, another "lightweight" distro that uses the LXDE desktop environment and Openbox window manager. This variant is still in development and is available as an add-on package.

There is an enterprise version, similar to Red Hat Enterprise Linux or SUSE Linux Enterprise Server, which is a normal release but labeled as LTS (Long Term Support). For example, Ubuntu 8.04 LTS Desktop was released in April 2008 and will be maintained until April 2011 (unlike standard releases, which are supported for eighteen months).

Other Ubuntu distributions developed or otherwise recognized by Canonical include:

  • Mythbuntu, a multimedia platform based on MythTV
  • Ubuntu JeOS (pronounced as "juice"), is described as "an efficient variant ... configured specifically for virtual appliances".
  • Ubuntu MID Edition, an Ubuntu edition that targets Mobile Internet Devices.
  • Ubuntu Netbook Remix, designed for ultra-portables including the ASUS Eee PC,Dell Inspiron Mini Series, and the Acer Aspire One.
  • Ubuntu Studio, a multimedia-creation form of Ubuntu

There are also a growing number of related derivative distributions such as Linux Mint, gOS, OpenGEU, Super OS (formerly: Super Ubuntu), CrunchBang Linux and gNewSense. Portable Ubuntu for Windows can run Ubuntu as a native application within Windows.

List of Ubuntu Distributions

The Ubuntu project makes two releases per year, using the year and month of the release as the version number. The first Ubuntu release, for example, was Ubuntu 4.10 and was released on October 20, 2004.Consequently, version numbers for future versions are provisional; if the release is delayed until a different month to that planned, the version number changes accordingly.

Ubuntu releases are also given code names, using an adjective and an animal with the same first letter e.g: "Dapper Drake" and "Intrepid Ibex". With the exception of the first two releases, code names are in alphabetical order, allowing a quick determination of which release is newer. Commonly, Ubuntu releases are referred to using only the adjective portion of the code name.

Releases are timed to be approximately one month after GNOME releases, which are in turn about one month after releases of X.org. Consequently, every Ubuntu release comes with a newer version of both GNOME and X. Release 6.06 (Dapper Drake)—and recently 8.04 (Hardy Heron)—have been labeled as a Long Term Support (LTS) , to indicate support with updates for three years on the desktop and five years on the server, compared to 18 months support for non-LTS releases.

The current release is 9.04 "Jaunty Jackalope" - and the next is 9.10 "Karmic Koala", due in October 2009.

Variants
Kubuntu is an official variant of the Ubuntu distribution which uses KDE rather than GNOME
Super OS is an un-official remaster
See also: List of Ubuntu-based distributions

Several official and unofficial Ubuntu variants exist. These Ubuntu variants install a set of packages different from the original Ubuntu. Since they draw additional packages and updates from the same repositories as Ubuntu, however, the same software is available for each of them. Unofficial variants and derivatives are not controlled or guided by Canonical and are generally forks with customizations for specific goals. The "fully supported" Ubuntu derivatives include:

  • Kubuntu, a desktop distribution using KDE rather than GNOME
  • Edubuntu, a distribution designed for classrooms using GNOME
  • Ubuntu Server Edition
  • Xubuntu, a "lightweight" distribution based on the Xfce desktop environment instead of GNOME, designed to run better on low-specification computers.
  • Lubuntu, another "lightweight" distro that uses the LXDE desktop environment and Openbox window manager. This variant is still in development and is available as an add-on package.

There is an enterprise version, similar to Red Hat Enterprise Linux or SUSE Linux Enterprise Server, which is a normal release but labeled as LTS (Long Term Support). For example, Ubuntu 8.04 LTS Desktop was released in April 2008 and will be maintained until April 2011 (unlike standard releases, which are supported for eighteen months).

Other Ubuntu distributions developed or otherwise recognized by Canonical include:

  • Mythbuntu, a multimedia platform based on MythTV
  • Ubuntu JeOS (pronounced as "juice"), is described as "an efficient variant ... configured specifically for virtual appliances".
  • Ubuntu MID Edition, an Ubuntu edition that targets Mobile Internet Devices.
  • Ubuntu Netbook Remix, designed for ultra-portables including the ASUS Eee PC,Dell Inspiron Mini Series, and the Acer Aspire One.
  • Ubuntu Studio, a multimedia-creation form of Ubuntu

There are also a growing number of related derivative distributions such as Linux Mint, gOS, OpenGEU, Super OS (formerly: Super Ubuntu), CrunchBang Linux and gNewSense. Portable Ubuntu for Windows can run Ubuntu as a native application within Windows.

Monday, June 15, 2009

Java Features


  • Platform Independence
    • The Write-Once-Run-Anywhere ideal has not been achieved (tuning for different platforms usually required), but closer than with other languages.
  • Object Oriented
    • Object oriented throughout - no coding outside of class definitions, including main().
    • An extensive class library available in the core language packages.
  • Compiler/Interpreter Combo
    • Code is compiled to bytecodes that are interpreted by a Java virtual machines (JVM) .
    • This provides portability to any machine for which a virtual machine has been written.
    • The two steps of compilation and interpretation allow for extensive code checking and improved security.
  • Robust
    • Exception handling built-in, strong type checking (that is, all data must be declared an explicit type), local variables must be initialized.
  • Several dangerous features of C & C++ eliminated:
    • No memory pointers
    • No preprocessor
    • Array index limit checking
  • Automatic Memory Management
    • Automatic garbage collection - memory management handled by JVM.
  • Security
    • No memory pointers
    • Programs runs inside the virtual machine sandbox.
    • Array index limit checking
    • Code pathologies reduced by
      • bytecode verifier - checks classes after loading
      • class loader - confines objects to unique namespaces. Prevents loading a hacked "java.lang.SecurityManager" class, for example.
      • security manager - determines what resources a class can access such as reading and writing to the local disk.
  • Dynamic Binding
    • The linking of data and methods to where they are located, is done at run-time.
    • New classes can be loaded while a program is running. Linking is done on the fly.
    • Even if libraries are recompiled, there is no need to recompile code that uses classes in those libraries.

      This differs from C++, which uses static binding. This can result in fragile classes for cases where linked code is changed and memory pointers then point to the wrong addresses.
  • Good Performance
    • Interpretation of bytecodes slowed performance in early versions, but advanced virtual machines with adaptive and just-in-time compilation and other techniques now typically provide performance up to 50% to 100% the speed of C++ programs.
  • Threading
    • Lightweight processes, called threads, can easily be spun off to perform multiprocessing.
    • Can take advantage of multiprocessors where available
    • Great for multimedia displays.
  • Built-in Networking
    • Java was designed with networking in mind and comes with many classes to develop sophisticated Internet communications.
Features such as eliminating memory pointers and by checking array limits greatly help to remove program bugs. The garbage collector relieves programmers of the big job of memory management. These and the other features can lead to a big speedup in program development compared to C/C++ programming.

Message Box In Java [Using Plain AWT]

Message Box In Java [Using Plain AWT]


    import java.awt.*;
    import java.awt.event.*;
    public class MsgBox extends Dialog implements ActionListener
    {  
    private Button ok,can;
    public boolean isOk = false;
    /*  * @param frame parent frame
        * @param msg message to be displayed
        * @param okcan true : ok cancel buttons, false : ok button only   */  

    MsgBox(Frame frame, String msg, boolean okcan)
    super(frame, "Message", true);
    setLayout(new BorderLayout());
    add("Center",new Label(msg));
    addOKCancelPanel(okcan);
    createFrame();
    pack();
    setVisible(true);
    }

    MsgBox(Frame frame, String msg)
    {  this(frame, msg, false);  }
    void addOKCancelPanel( boolean okcan )
    {  Panel p = new Panel();
    p.setLayout(new FlowLayout());
    createOKButton( p );
    if (okcan == true)
    createCancelButton( p );
    add("South",p);  
    }

    void createOKButton(Panel p)
    {  
    p.add(ok = new Button("OK"));
    ok.addActionListener(this);
    }

    void createCancelButton(Panel p)
    {
    p.add(can = new Button("Cancel"));
    can.addActionListener(this);
    }

    void createFrame()
    {
    Dimension d = getToolkit().getScreenSize();
    setLocation(d.width/3,d.height/3);
    }

    public void actionPerformed(ActionEvent ae)
    {
    if(ae.getSource() == ok)
    {  
    isOk = true;  setVisible(false);
    }
    else if(ae.getSource() == can)
    {  
    setVisible(false);
    }
    }

    public static void main(String args[])
    {
    Frame f = new Frame();
    f.setSize(200,200);
    f.setVisible(true);
    MsgBox message = new MsgBox  (f , "Hey you user, are you sure ?", true);
    if (message.isOk)
    System.out.println("Ok pressed");
    if (!message.isOk)
    System.out.println("Cancel pressed");
    message.dispose();
    }
    }

Sunday, June 14, 2009

Google Operating System ( Goobuntu )

Goobuntu is a Linux distribution based on Ubuntu that Google uses internally. Some have suggested that Google might plan to market the distribution more widely.While both Google and Mark Shuttleworth, creator of Ubuntu, have confirmed that Goobuntu exists and is used internally,both have strongly refuted suggestions that Google has any plans to market the operating system.Almost half of the 20,000 employees of Google use Goobuntu.

Mark Shuttleworth has confirmed that Google contributes patches to Ubuntu but noted that while some Google employees use this modified version of Ubuntu, others use modified versions of other Linux distributions. Google has supported Ubuntu through the Ubucon conferences and in other ways. Although Shuttleworth and Google representatives have denied any plans to release Goobuntu outside the company, it has nonetheless inspired ongoing speculation about Google entering the operating system business.

Friday, June 5, 2009

Linux filesystem

Windows has a directory tree for each drive. Each tree begins with a drive letter.
Linux has only one tree called the filesystem. It starts with the symbol for the root directory: '/'. (There is a special user also called root. User root's home directory is '/root'. Be careful not to confuse the two.) The root directory has some subdirectories:
  • bin - Essential command binaries
  • boot - Static files of the boot loader
  • dev - Device files
  • etc - Host-specific system configuration
  • home - User home directories
  • lib - Essential shared libraries and kernel modules
  • media - Mountpoint for removeable media
  • mnt - Mountpoint for mounting a filesystem temporarily
  • opt - Add-on application software packages
  • root - Home directory for the root user
  • sbin - Essential system binaries
  • tmp - Temporary files
  • usr - Secondary hierarchy (for user-installed applications)
  • var - Variable data
In Linux, the user never needs to know which physical drive contains particular data. This is unlike Windows where you need to know which drive (C:, D:, etc) to use. Instead, in Linux you mount a drive to a particular mountpoint in the directory tree. For instance, the first CD drive in Windows might be D: or E: or some other drive letter and might change if other drives are added to or removed from the system. In Linux, the mountpoint for the first CD drive is /media/cdrom0. The mountpoint does not change if you add or remove devices, although you can add a convenient symlink (shortcut) to the filesystem such as /cdrom.
If you install an application in Windows, the executable and related files are normally installed to C:\Program Files. In Linux,
  • application executable files (binaries) are installed in /usr/bin,
  • manuals in /usr/share/man,
  • other documentation in /usr/share/doc,
  • etc.
Linux does not have a registry. Configuration data is normally in the form of text files installed in /etc.

Disc devices and partitions

In Windows, the active primary partition on the primary master IDE disc is called C:. Other partitions (and CDROM drives) are called D:, E: etc. In Windows 98 and earlier, the allocation of drive letters to partitions is automatic and fixed. From Windows NT onwards it is possible to reassign some drive letters.
In Linux, it is often said that "everything is a file". In the case of discs, the whole primary IDE master disc is the device /dev/hda, the primary slave is /dev/hdb, the secondary master is /dev/hdc and the secondary slave is /dev/hdd.
The first SCSI hard disc is /dev/sda, the second is /dev/sdb etc. SCSI CD or DVD devices are /dev/scd0 etc.
PATA drives (connected with flat cables) are treated as IDE ATA drives (/dev/hda etc). SATA drives (not connected with flat cables) are treated as SCSI drives (/dev/sda, /dev/sdb etc).
It is possible to have up to 4 primary partitions on a hard disc. One of them can be an extended partition containing up to 63 other logical partitions. The logical partitions must be contiguous. Windows uses only one primary partition and one extended partition containing logical partitions. Linux can use all the partitions, but manual configuration is needed to use more than 20 partitions per disc in Debian.
If /dev/hda is formatted with two primary partitions, the partitions would be /dev/hda1 and /dev/hda2. In a typical dual-boot (Windows/Linux) system, primary partition 1 will be Window's drive C:, so this can be accessed as /dev/hda1. Partition 2 (/dev/hda2) will be Window's extended partition, though this never needs to be accessed directly. Partitions 3 and 4 will be unused, and 5 upwards are the partitions within the extended partition. Partition 5 will be D: or /dev/hda5.
CD or DVD drives cannot be partitioned. A typical CD drive would be /dev/hdc (IDE) or /dev/scd0 (SCSI).
In Windows, there may be two floppy drives, A: and B:. In Linux, the floppy drives are /dev/fd0, /dev/fd1 etc.

Mounting and unmounting devices

Everything in Linux is a file - including devices such as disc drives. In order to use a drive, you must mount the device to a mountpoint in the filesystem. You can then access the drive from the mountpoint. For example, you may wish to use another hard drive to store backups of your system. To add manually an EXT3 formatted partition /dev/hdb1 you might create a new directory /mnt/backup as the mountpoint. You can then mount the partition with the mount command
$ mount -t ext3 /dev/hdb1 /mnt/backup
and unmount it with the umount command (NB only one n)
$ umount /mnt/backup
or
$ umount /dev/hdb1
The configuration file /etc/fstab contains the details of devices which are mounted automatically at boot time.
Removable media can be automatically mounted if you install an automounter. The X-window desktop Gnome includes automounting as standard. The media will not unmount or eject until all processes involving it are finished. In Gnome, right-click on the CD icon and choose eject.

Filesystem formats

The most common Linux format is EXT2 (the Second Extended file system format). Recent distributions use EXT3 which is EXT2 with a journaling system. The journal protects against corruption of filesystem data which might cause lost files etc. As well as being robust, EXT2/3 partitions are efficient and do not need to be defragmented. They can be checked and repaired with the filesystem checker fsck which is similar to scandisk in Windows.
Windows cannot access native Linux formatted drives, but Linux can read from and write to other formats such as FAT, FAT32, etc. However, writing to NTFS is not recommended (see http://linux-ntfs.sourceforge.net/info/ntfs.html#3.2).
More Information :