August 31, 2008

Insight on Open Source




Freeware is like somebody will create and distributes it unconditionally. It will not include any responsibility of owner even if software does something unwarranted to your system.

Free software / games are like liberty to run, modify, distribute or improve the software. It will also give you access to program’s source code.

Following are the two major force that is working toward Open Source.

(1) www.opensource.org (Open Source Initiative)

It is a independent group that is involved in open source community building and educating.

(2) www.fsf.org (Free Software Foundation)

FSF and OSI are committed to achieving some objectives:

  1. Given everyone right to run, modify, distribute or improve software.
  2. Both organization help software developers create licences that are compatible to their definition.

Neither open source nor free software puts any restriction on commercialization.

Linux Distros:

· Other communities made use of Linux available in operating system and brought out their own version, its called Linux distros.

· e.g. RedHat, Suse, Debian, CentOS

· Some are freely available and some are commercial.

· Like RedHat community version is “Fedora” and commercial version is RedHat Linux.

· Likewise for Suse its OpenSUSE & SUSE.


Linux is Open Source but Open Source doesn’t necessarily mean Linux.

Some examples of Open Source Applications for both Linux and Windows:

Apache, Perl, MySQL

Duel Licensing and Open Source

Practice of distributing identical software under the two different sets of terms and conditions with or without monitory benefit.

Beside license capability and market segregation, biggest motivation for software developer to offer their software under “Duel Licensing” model is to make money by monetizing their intellectual property.

Software developer may offer same software at different prices to single user for personal use and to group of users or corporate. However, software continues to remain open.

Duel licensing policy sustains innovation as well as growth.

e.g. MySQL

Killer Open Source ideas

Apache Web Servers (Web Server)

Popularity of Apache can also be highly linked with growth of World Wide Web(WWW).

Functionality:

Giving WebDAV features

URL redirection

CAPTCHA image processing

FireFox (Web Browser)

It is a source code of dying web browser Netscape and it has made really big.

Its popularity is due to

  • Featured constrained and security flawed of IE6.
  • offered tabbed browsing and restricted pop ups and ActiveX.
  • De facto browser for Linux applications
  • Runs of Windows and Mac
  • Most websites and portals become FireFox compatible besides IE.
  • More than 30% market share in web browser arena

High Performance Clustering (HPC)

  • Big educational inititutes and government research centers could afford such HPC in 80s and till mid 90s.
  • To build a common HPC two things were required

1. Commodity hardware

2. HPC middleware (which has been addressed by open source developers)

e.g. OSCAR, OpenMosix, ROCKS, Globus etc

  • In early eighties any way to deploy a super computer or an HPC was to go to some high specialized companies like Cray etc.

Linux Kernel

Open Source OS – Linux is developed by “Linux Tarvalds”

Live distribution through Live Distros – One of the coolest thing that is currently available in Linux.

Advantages:

You can use them to boot into almost any machine with Linux without installing the OS or distributing any content already existing on the hard disks or machine.

Can be used for:

  • Learning Linux without sacrificing windows machine
  • Troubleshooting
  • Disaster Recovery
  • Network Management

MySQL

  • Web 2.0 is powered undoubtedly by MySQL.
  • Facebook, Flickr, YouTube, Wikipedia uses it
  • Runs on Windows, Linux, Mac, Unix
  • Offered under dual licensing scheme
  1. MySQL native (besides ODBC) drives exists with .Net, Java, C/C++, Ruby, Perl, PHP

PHP (Hypertext Preprocessor)

· It grew from niche programming platform to world wide popular method of programming for dynamic sites.

· Zend is a creator of PHP

· Now it also support IIS 7 along with Apache

Samba

  • One of the first open source software to successfully bridge the gap between Windows and Linux.
  • Allowed accessing of file on a Windows network share easily
  • Samba based servers provides basic file sharing services

SendMail

  • Most widely used Mail Transfer Agent (MTA) on internet.
  • With the popularity of email it went on to become most popular program for mail routing and delivery.
  • In 1996, 80% of Public email servers were running SendMail.
  • Since then there is a downfall in its usage
  • Recently SendMail 8.14.2 is used at 29% of public mail servers

Current Open Source usage:

Email 43%

Database 30%

Internet Gateway / Proxy 27%

Linux on Desktop 25%

Network Monitoring & Management 21%

Firewall 21%

AntiSpam 19%

AntiVirus 18%

Collaboration 11%

ERP / CRM 11%

Unified Communication 8%

Virtualization 7%

High Performance Clustering 7%

August 19, 2008

Know Windows Vista



  • Virtually every Windows Vista edition (with the exception of Starter) will ship with both 32-bit (x86) and 64-bit (x64) versions

Parental Control

Which is not present in the Windows XP, will allow parents to control their children's PC activities without a fuss. In fact, parents will be delighted with Vista's ability to block objectionable content. Parents can also curtail access to specific applications and view where other users have been on the computer and on the Web

User Account Control (UAC)

UAC is a new security feature that allows users to operate Windows Vista more as a standard user than as a true administrator, where one has complete access to everything.

Windows Firewall

Vista features two different firewalls: the standard firewall that was available in Windows XP and Windows Firewall with advanced features. The latter offers true firewall protection, including bi-directional filters, meaning that both incoming and outgoing data is scanned before being let out.

Windows Defender

Formerly known as Microsoft AntiSpyware, Windows Defender is the built-in spyware blocker bundled in Windows Vista. Windows Defender (already available for past many months as a free standalone application to the Windows Genuine users) is an improved version of Microsoft AntiSpyware, and sports a simpler interface and very rapid access to scanning.

Booting process

The NT Boot Loader present in XP has been replaced by Windows Boot Manager. Vista does not allow storing users' own as well as application files in Windows installed boot drives such as C drive for security reasons, for users, including the administrator.

Features

Windows Aero : There is a new feature called Aero which is enabled for use if the system contains a high graphics card that can support DirectX 9.0 and higher. This feature, which again is not present in Windows XP.

Windows Sidebar : Vista brings a sidebar similar to the sidebar in MS-Office 97. Programmes can be quickly accessed, through customizable buttons provided for the purpose. One need not navigate through Start > Programmes > Programme Group > Programme Name to run a programme.

Windows Search

One of the most helpful new features in Windows Vista, is the new, vastly improved search for files or applications from almost anywhere. Unlike in Windows XP, with Window Search, you can simply type a few letters of your search request, and the results appear on the fly — a very helpful feature when looking for a file or application from the Start menu. Google watch your Desktop!

Enhanced User Experience

Start menu : Microsoft has redesigned the desktop items, such as the start menu. The taskbar, which consists of the start button, is similar in look to the Windows XP Start button. However, the default colour of the task bar has been changed. Instead of classic blue, the colour has been changed to coffee black.

The Start menu displays everything within the context of a single menu.

Live Icons : When Windows Aero starts, users can hover their mouse over open windows in the taskbar and see a live representation of what's running in them.

The Vista disc is a DVD, not a CD-ROM anymore!

Internet Telepholy will reduce phone call rates drastically



  • Consumers will soon be able to make STD calls as cheap as 10-40 paise and possibly make free local calls from their computers.
  • Telecom regulator TRAI removed all curbs on Internet telephony in the country
  • Till date, a call from a computer could legally be made only to another computer within the country, and not to a phone. (The policy regime, though, allowed domestic users to make international calls to a phone from their computer).
  • For consumers, this means they can make calls from PCs to fixedline and mobile phones in India. They can also make a call to personal computers from their handsets.
  • The move ensures that rural India will be the biggest beneficiary as users would be able to make ultra-cheap calls from PCOs using this technology.
  • Broadband growth is also likely to get a boost. Also, WiMax, a wireless broadband technology getting ready for launch in India, is a potential gainer from the move.
  • For ISPs, Internet telephony will open up major new revenue channels. Additionally cheap Internet telephony can also lower the operating expenditure of domestic call centres and BPOs.

August 16, 2008

Apple's iPhone - 3G







  • "Twice as fast and half as expensive"
  • Monthly payment for internet access in it, Charges in some of the countries are like, HK: $65 / month, Aus: $35 / month
  • Hand set is available at offer rate of $270.
  • What should you look for: Internet, E-mail, Web, download, Navigation, Video
  • What is NOT supported: MMS, Call by Voice (Voice Dialing), Support for TV, Pay by CC, User represable battery, Video camera
  • It has onscreen keyboard instead of keyboard.
  • iPhone 3G uses technology protocol called HSDPA (High Speed Downlink Packet Access) to download data fast over UMTS (Universal Mobile Communication System) networks.
  • It supports GPS, Wi-Fi and cellular towers.
  • If struck in jam, maps on iPhone will show live traffic info, indicating traffic speed along with route in easy to read green-red-yellow rights points of interest: e.g. where is "Coffee Cafe"
  • Different types of view like Map view, Satellite View, Hybrid view are possible

Different Types of Testing




  • Black Box Testing
Tester only knows that what the software is supposed to do NOT how software operates.

  • White Box Testing (Clear Box Testing)
Tester has access to programming code and can examine it for cases to help him with his/her testing.

  • Statis Testing
Testing something that is not running - Examine and review it

  • Dynamic Testing
Running the software and testing it

  • Unit Testing
Smallest tested part of application, called units, are individually and independently tested for proper operations. Testing at lowest level.

  • Capability Testing
Testing that your software interacts with and share information correctly with other software.

  • Regression Testing
Testing changes to computer program to make sure that older program still works with new changes. The process of rerunning your tests.

  • Automated Testing
Drivers: Tools used to control and operate the software being tested.
Stubs: Receive and Respond to data that the software needs.

  • Beta Testing
External testing process in which the software is sent out to a select group of potential customers, who uses it in real world environment towards the end of production development cycle.

  • Integration Testing
Program units are combined and tested as group in multiple ways. It can be done through Top-Bottom or Bottom-Top approach.

  • System Testing
Testing to confirm that all module work as specified, and system as a whole perform adequately on the platform on which it will be deployed

  • Acceptance Test
The test performed by users of a new or changed system in order to approve the system and go live.

  • Alpha Test
The first testing of a product in the lab. Then comes beta testing.

  • Fuzz Test
Testing for software bugs by feeding it randomly generated data.

  • Gray Box Test
Testing software with some knowledge of its internal code or logic. Contrast with "white box test" and "black box test."

  • Negative Test
Using invalid input to test a program's error handling.

  • Passive Test
Monitoring the results of a running system without introducing any special test data. Contrast with "active test" (above).

  • Recovery Test
Testing a system's ability to recover from a hardware or software failure.

  • Smoke Test
Turn it on and see what happens

3G - Third Generation Mobile Technology



  • Third generation mobile technology.
  • Applications: Video Calls, Use of broadband internet, have access to "triple play" features like Mobile TV
  • Government Role: 3G spectrum auction (Revenue of $5-7 Bn)
  • Atleast 144 Kbps enabling broadband internet access on mobile.
  • It will still take 2-3 years to catch up efficiency level of spectrum utilization
  • Concept: "Walled Garden": Certain services offered by providers
  • Mobile Numbers Portability (MNP): Allows consumer to change their service providers without losing mobile number.
  • Higher bandwidth: 15 - 20 MHz (For 2G / 2.5G its 30-200 KHz)
  • Bandwidth: Measure of width of range of frequencies used while transferring data from one point to another. And its measured in hertz.

WiMAX - Worldwide Interoperability from Microwave Access

  • Worldwide Interoperability from Microwave Access (WiMAX)
  • Wireless data over long distances from point to point services to cellular types.
  • IEEE 802.16 standard (Similar to WirelessMAN)
  • Applications: Streaming media on internet, Live Video Conferencing, Mobile TV
  • Nullifies dependency on last mile networks.
  • Speed: 10 Mbps, Range: 50 Km
  • Unencrypted network can be monitored, Data can be read and copy from internet unless its under VPN or secure webpage
  • Currently best spectrum efficiency available
  • Open Model: Subscriber can go anywhere on internet
  • Cost is significantly low than 3G.

Most Popular Methods Of Software Estimation.

  • Parametric Estimating

An estimating technique that uses a statistical relationship between historical data and other variables (for example, square footage in construction, lines of code in software development) to calculate an estimate for activity parameters, such as scope, cost, budget, and duration. This technique can produce higher levels of accuracy depending upon the sophistication and the underlying data built into the model. An example for the cost parameter is multiplying the planned quantity of work to be performed by the historical cost per unit to obtain the estimated cost.

  • Cocomo (Constructive Cost Model)

The most fundamental calculation in the COCOMO model is the use of the Effort Equation to estimate the number of Person-Months required to develop a project. Most of the other COCOMO results, including the estimates for Requirements and Maintenance, are derived from this quantity.

The COCOMO calculations are based on your estimates of a project's size in Source Lines of Code (SLOC). SLOC is defined such that:

  • Only Source lines that are DELIVERED as part of the product are included -- test drivers and other support software is excluded
  • SOURCE lines are created by the project staff -- code created by applications generators is excluded
  • One SLOC is one logical line of code
  • Declarations are counted as SLOC
  • Comments are not counted as SLOC
  • SLIM ( Software Life Cycle Management )

SLIM enables a software cost estimator to perform the following functions :

  • Calibration Fine tuning the model to represent the local software development environment by interpreting a historical database of past projects.
  • Build an information model of the software system, collecting software characteristics, personal attributes, computer attributes etc.
  • Software sizing SLIM uses an automated version of the lines of code (LOC) costing technique.
  • SLIM is not widespreadly used.
  • Function Point Analysis

Function Point Analysis (FPA) is an ISO recognized method to measure the functional size of an information system. The functional size reflects the amount of functionality that is relevant to and recognized by the user in the business. It is independent of the technology used to implement the system.

The unit of measurement is "function points". So, FPA expresses the functional size of an information system in a number of function points (for example: the size of a system is 314 FP).

The functional size may be used:

To budget application development or enhancement costs

To budget the annual maintenance costs of the application portfolio

To determine project productivity after completion of the project

To determine the Software Size for cost estimating

  • Pert Evaluation and Review Technique (PERT)

PERT is a method to analyze the tasks involved in completing a given project, especially the time needed to complete each task, and identifying the minimum time needed to complete the total project.

The most recognizable feature of PERT is the "PERT Networks", a chart of interconnecting timelines. PERT is intended for very large-scale, one-time, complex, non-routine projects.

  • Analysis Effort Method

The analysis effort method is a method for estimating the duration of software engineering projects. It is best suited to producing initial estimates for the length of a job based on a known time duration for preparing a specification. Inputs to the method a numeric factors which indicate Size (S), Familiarity (F) and Complexity (C). These, with a duration for preparing the software specification can be used in a look up table (which contains factors based on previous experience) to determine with length of each of the following phases of the work. These being Design, Coding and Unit testing and Testing. The method does not include any times for training or project management.

This method should be used as one of a number of estimation techniques to obtain a more accurate estimate.