Tuesday, May 27, 2008

Google Open Source Blog: This Week's Top 10's: Universities for Google Summer of Code 2008

Google Open Source Blog: This Week's Top 10's: Universities for Google Summer of Code 2008

University of Moratuwa is the 1st in Top 10 Universities for Google Summer of Code 2008



I'm very proud to see that University of Moratuwa(UOM) is the 1st among top 10 universities. This is a BIG achievement. UoM has fist places for both Most Applicants and Most Accepts list.

Monday, March 24, 2008

Nameserver

The resolv.conf file is the resolver configuration file. It is use to configure client side access to the Internet Domain Name System (DNS). This file defines which name servers to use.

The resolver is a set of routines in the C library that provide access to the Internet Domain Name System (DNS). The resolver configuration file contains information that is read by the resolver routines the first time they are invoked by a process. The file is designed to be human readable and contains a list of keywords with values that provide various types of resolver information

Note: File name is /etc/resolv.conf and not /etc/resolve.conf.


Sample resolv.conf file

nameserver 202.54.1.10
nameserver 202.54.1.11

Sunday, March 23, 2008

Setting Up Clients To Use a Proxy

http_proxy
ftp_proxy
gopher_proxy
wais_proxy


export http_proxy="http://your.proxy.server:8080/"; //export http_proxy
eg: export http_proxy=http://cache.mrt.ac.lk:3128

export ftp_proxy="http://your.proxy.server:8080/"; //export ftp_proxy
eg: export ftp_proxy=http://cache.mrt.ac.lk:3128

export gopher_proxy="http://your.proxy.server:8080/"; //export gopher_proxy
eg: export gopher_proxy=http://cache.mrt.ac.lk:3128

export wais_proxy="http://your.proxy.server:8080/"; //export wais_proxy
eg: export wais_proxy=http://cache.mrt.ac.lk:3128



No proxy

Some clients support the no_proxy environment variable that specifies a set of domains for which the proxy should not be consulted; the contents is a comma-separated list of domain names, with an optional :port part:
export no_proxy="cern.ch,ncsa.uiuc.edu,some.host:8080"


Monday, March 17, 2008

Get Money

Friday, February 15, 2008

Network File Copy using SSH

Push: Push local file to remote server.
Pull: Pull remote file from remote server to local machine.


PUSH:

  • tar cvf - . | gzip -c -1 | ssh user@host cat ">" remotefile.gz
  • ssh target_address cat <localfile ">" remotefile
  • ssh target_address cat <localfile - ">" remotefile
  • cat localfile | ssh target_address cat ">" remotefile
  • cat localfile | ssh target_address cat - ">" remotefile
  • dd if=localfile | ssh target_address dd of=remotefile
  • ssh target_address cat <localfile "|" dd of=remotefile
  • ssh target_address cat - <localfile "|" dd of=remotefile
  • ( cd SOURCEDIR && tar cf - . ) | ssh target_address "(cd DESTDIR && tar xvpf - )"
  • ( cd SOURCEDIR && tar cvf - . ) | ssh target_address "(cd DESTDIR && cat - > remotefile.tar )"
  • ( cd SOURCEDIR && tar czvf - . ) | ssh target_address "(cd DESTDIR && cat - > remotefile.tgz )"
  • ( cd SOURCEDIR && tar cvf - . | gzip -1 -) | ssh target_address "(cd DESTDIR && cat - > remotefile.tgz )"
  • ssh target_address "( nc -l -p 9210 > remotefile & )" && cat source-file | gzip -1 - | nc target_address 9210
  • cat localfile | gzip -1 - | ssh target_address cat ">" remotefile.gz


PULL:
  • ssh target_address cat remotefile > localfile
  • ssh target_address dd if=remotefile | dd of=localfile
  • ssh target_address cat "<" remotefile >localfile
  • ssh target_address cat "<" remotefile.gz | gunzip >localfile

  • COMPARE:

  • ###This one uses CPU cycles on the remote server to compare the files:
  • ssh target_address cat remotefile | diff - localfile
  • cat localfile | ssh target_address diff - remotefile
  • ###This one uses CPU cycles on the local server to compare the files:
  • ssh target_address cat <localfile "|" diff - remotefile
  • Wednesday, February 13, 2008

    Computer cluster

    A computer cluster is a group of loosely coupled computers that work together closely so that in many respects they can be viewed as though they are a single computer। The components of a cluster are commonly, but not always, connected to each other through fast local area networks। Clusters are usually deployed to improve performance and/or availability over that provided by a single computer, while typically being much more cost-effective than single computers of comparable speed or availability.



    High-availability (HA) clusters

    High-availability clusters (also known as failover clusters) are implemented primarily for the purpose of improving the availability of services which the cluster provides. They operate by having redundant nodes, which are then used to provide service when system components fail. The most common size for an HA cluster is two nodes, which is the minimum requirement to provide redundancy. HA cluster implementations attempt to manage the redundancy inherent in a cluster to eliminate single points of failure.

    There are many commercial implementations of High-Availability clusters for many operating systems। The Linux-HA project is one commonly used free software HA package for the Linux OSs.


    Load-balancing clusters

    Load-balancing clusters operate by having all workload come through one or more load-balancing front ends, which then distribute it to a collection of back end Platform LSF HPC, Sun Grid Engine, Moab Cluster Suite and Maui Cluster Scheduler। The Linux Virtual Server project provides one commonly used free software package for the Linux OS.



    Technologies


    MPI is a widely-available communications library that enables parallel programs to be written in C, Fortran, Python, OCaml, and many other programming languages.

    The GNU/Linux world sports various cluster software; for application clustering, there is Beowulf, distcc, and MPICH. Linux Virtual Server, Linux-HA - director-based clusters that allow incoming requests for services to be distributed across multiple cluster nodes. MOSIX, openMosix, Kerrighed, OpenSSI are full-blown clusters integrated into the kernel that provide for automatic process migration among homogeneous nodes. OpenSSI, openMosix and Kerrighed are single-system image implementations.

    Microsoft Windows Compute Cluster Server 2003 based on the Windows Server platform provides pieces for High Performance Computing like the Job Scheduler, MSMPI library and management tools. NCSA's recently installed Lincoln is a cluster of 450 Dell PowerEdge™ 1855 blade servers running Windows Compute Cluster Server 2003. This cluster debuted at #130 on the Top500 list in June 2006.

    DragonFly BSD, a recent fork of FreeBSD 4.8, is being redesigned at its core to enable native clustering capabilities. It also aims to achieve single-system image capabilities.





    Google

    Google Inc. (NASDAQ: GOOG and LSE: GGEA) is an American public corporation, earning revenue from online advertising related to its Internet search, web-based e-mail, online mapping, office productivity, and video sharing as well as selling advertising-free versions of the same technologies. Google's headquarters, the Googleplex, is located in Mountain View, California, and the company has 16,805 full-time employees (as of December 31, 2007).

    Google was co-founded by Larry Page and Sergey Brin while they were students at Stanford University and the company was first incorporated as a privately held company on September 7, 1998. Google's initial public offering took place on August 19, 2004, raising US$1.67 billion, making it worth US$23 billion. Google has continued its growth through a series of new product developments, acquisitions, and partnerships. Environmentalism, philanthropy, and positive employee relations have been important tenets during Google's growth, the latter resulting in being identified multiple times as Fortune Magazine's #1 Best Place To Work.The company's unofficial slogan is "Don't be evil, however Google is not without controversy related to its business practices ; there are concerns regarding the privacy of personal information, copyright, censorship, and discontinuation of services.

    Wednesday, February 6, 2008

    RAID for Enterprise Computing

    RAID has become commonplace in server computing environments. Today, most disk subsystems incorporate RAID technology to enhance their I/O performance and data availability. Software, or host-based RAID is also available from several vendors, including VERITAS. System administrators, application designers, and others responsible for implementing their organizations’ storage strategies are faced with a number of choices. This paper outlines the basics of RAID technology, describes the advantages of the various RAID alternatives, and lists other considerations in developing technical strategies for enterprise storage.


    What’s in a Name?

    RAID is an acronym for Redundant Array of Independent Disks:
    • Redundant means that part of the disks’ storage capacity is used to store check data that can be used to recover user data if a disk containing it should fail.
    • Array means that a collection of disks are managed by control software that presents their capacity to applications as a set of coordinated virtual disks. In host based arrays, the control software runs in a host computer. In controller based arrays, the control software runs in a disk controller.
    • Independent means that the disks are perfectly normal disks that could function independently of each other.
    • Disks means that the storage devices comprising the array are on-line storage. In particular, unlike most tapes, disk write operations specify precisely which blocks are to be written, so that a write operation can be repeated if it fails.

    State Of The Art In RAD Tool

    Rapid application development (RAD) is a one of new famous software development process. Requirements gathering by using workshops, do prototype and its’ early, reuse of software components, reiterative user testing of designs, follow schedule strictly, version releasing, good team work and lot of relative tool using like key features are used for RAD and it is help to system developed faster and of higher quality than some software development process (RAD is not suitable for every software development).


    There is important place for In the Rapid application development tools. Because its’ helps to improve quality and efficiency of other key features also. There are lots of categories of RAD tools. But we can simply category as follows.


    Category of RAD tools


    The above is not an only way to category of RAD tools. And also RAD tools can be categorized as web based, client-server (through a network) and stand alone like categories as application type. Or those RAD tools can categories as an its’ license (We can use general available licenses categories for this) and prices (Free, cheap 0$ -100$ / 100$-1000$, expensive 1000$-5000$ / 5000$<$).


    Here you can find the full paper