Monday, April 25, 2011

windows 1.0 -looks

History

Version 1.02, released in May 1986, was international and had editions in several European languages. Version 1.03, released in August 1986, was for the US- and international market, with enhancements making it consistent with the international release. It included drivers for European keyboards and additional screen and printer drivers. Version 1.04, released in April 1987, added support for the VGA graphics adapters of the new IBM PS/2 computers.At the same time, Microsoft and IBM announced the introduction of OS/2 and its graphical OS/2 Presentation Manager, which were supposed to ultimately replace both MS-DOS and Windows.
Windows 1.0 was superseded by Windows 2.0 in November 1987, but supported by Microsoft for sixteen years, until 31 December 2001.

Competition

The history of Windows dates back to September 1981, when the project named "Interface Manager" was started. It was first presented to the public on 10 November 1983, renamed to "Microsoft Windows"; the two years of delay before release led to charges that it was "vaporware". The initially announced version of Windows had features so much resembling the Macintosh interface that Microsoft had to change many of them: overlapping windows, although supported by the GUI engine, weren't allowed for exactly this reason. The announcement of Windows' imminent arrival in 1985 probably did not help the sales of VisiCorp's VisiOn environment which debuted at the same time. However, even when finally released, Windows 1.0 aroused little interest.
Another GUI for the PC platform at the time was GEM. It used more aspects from the Macintosh GUI, for example the trash can concept (which Microsoft would later employ in future Windows releases) and more generally the desktop interaction. GEM was eventually used as the standard GUI for the Atari's ST range of 68k-based computers, which were sometimes referred to as Jackintoshes (the company being run by Jack Tramiel). GEM was also included in the Amstrad PC1512, probably the first 8086 based PC targeted at the home consumer and sold alongside TV's and washing machines at appliance stores. GEM's resemblance to the Mac OS later caused legal trouble for the manufacturer, Digital Research, who was obliged to seriously cripple the desktop's appearance and functionality (applications were not affected).
GEM was relying on multitasking of the OS under it (non-existing in DOS on that time), so users had to close one program in order to run another one. Collections of related programs, like GEM Draw, had confusing File menu items like Close (to Edit) to facilitate switching.
An alternative multitasker released shortly before was DESQview, a successor of IBM's failed TopView from 1984. It did not have graphical capabilities initially, but is able to multitask DOS applications in windows as long as they are well-behaved or have a specially written "loader" to fix them on the fly.
Windows 1.0 market share grew very slowly. Early Windows versions of Microsoft Excel and other Windows applications were bundled with a runtime version of Windows, presumably to both increase sales of the applications and allow users to "test drive" Windows at no additional cost.
The Macintosh remained the platform of choice especially for high-end graphics and desktop publishingAldus PageMaker shipped in January 1987 with a Windows executable, it remained a curiosity due to poor support relative to the Mac version, and a steep $795 price tag. (DTP). Although
Other shell programs for MS-DOS include Norton Commander, PC Tools, XTree. DOS Shell, and DOS Menu (in MS-DOS version 4.0). These applications attempted to be organizational and menu-driven tools, and did not try at all to be a 'desktop' shell.

Features

Windows 1.0 offers limited multitasking of existing MS-DOS programs and concentrates on creating an interaction paradigm (cf. message loop), an execution model and a stable API for native programs for the future. Due to Microsoft's extensive support for backward compatibility, it is not only possible to execute Windows 1.0 binary programs on current versions of Windows to a large extent, but also to recompile their source code into an equally functional "modern" application with just limited modifications[2].
Windows 1.0 is often regarded as a "front-end to the MS-DOS operating system", a description which has also been applied to subsequent versions of Windows. Windows 1.0 is an MS-DOS program. Windows 1.0 programs can call MS-DOS functions, and GUI programs are run from .exe files just like MS-DOS programs. However, Windows .exe files had their own "new executable" (NE) file format, which only Windows could process and which, for example, allowed demand-loading of code and data. Applications were supposed to handle memory only through Windows' own memory management system, which implemented a software-based virtual memory scheme allowing for applications larger than available RAM.
Because graphics support in MS-DOS is extremely limited, MS-DOS applications have to go to the bare hardware (or sometimes just to the BIOS) to get work done. Therefore, Windows 1.0 included original device drivers for video cards, a mouse, keyboards, printers and serial communications, and applications were supposed to only invoke APIs built upon these drivers. However, this extended to other APIs such as file system management functions. In this sense, Windows 1.0 was designed to be extended into a full-fledged operating system, rather than being just a graphics environment used by applications. Indeed, Windows 1.0 is a "DOS front-end" and cannot operate without a DOS environment (it uses, for example, the file-handling functions provided by DOS.) The level of replacement increases in subsequent versions.
The system requirements for Windows 1.01 constituted CGA/HGC/EGA (listed as "Monochrome or color monitor"), MS-DOS 2.0, 256 kB of memory or greater, and two double-sided disk drives or a hard drive[3].
Windows 1.0 runs a shell program known as MS-DOS Executive. Other supplied programs are Calculator, Calendar, Cardfile, Clipboard viewer, Clock, Control Panel, Notepad, Paint, Reversi, Terminal, and Write.
Windows 1.0 does not allow overlapping windows. Instead all windows are tiled. Only dialog boxes can appear over other windows.
Windows 1.0 executables, while having the same .exe extension and initial file header as MS-DOS programs, do not contain the so-called MS-DOS stub which prints the "This program requires Microsoft Windows" message and exits when the program is run outside of Windows. Instead, the file header was formatted in such a way as to make DOS reject the executable with a "program too large to fit in memory" error message.[citation needed]
From the beginning, Windows was intended to multitask programs (although this originally only applied to native applications and for many versions the multitasking was co-operative, rather than preemptive).
Pre-release versions had menus at the bottom of windows, as it was used in Microsoft applications, such as Word and Multiplan of that era; however, this was changed before the first release.

Highlights from the first 25 years

A history of Windows

1975–1981: Microsoft boots up

Getting started: Microsoft co-founders Paul Allen (left) and Bill Gates
Add caption
Getting started: Microsoft co-founders Paul Allen (left) and Bill Gates
It’s the 1970s. At work, we rely on typewriters. If we need to copy a document, we likely use a mimeograph or carbon paper. Few have heard of microcomputers, but two young computer enthusiasts, Bill Gates and Paul Allen, see that personal computing is a path to the future.
In 1975, Gates and Allen form a partnership called Microsoft. Like most start-ups, Microsoft begins small, but has a huge vision—a computer on every desktop and in every home. During the next years, Microsoft begins to change the ways we work.

The dawn of MS‑DOS

In June 1980, Gates and Allen hire Gates’ former Harvard classmate Steve Ballmer to help run the company. The next month, IBM approaches Microsoft about a project code-named "Chess." In response, Microsoft focuses on a new operating system—the software that manages, or runs, the computer hardware and also serves to bridge the gap between the computer hardware and programs, such as a word processor. It’s the foundation on which computer programs can run. They name their new operating system "MS‑DOS."
When the IBM PC running MS‑DOS ships in 1981, it introduces a whole new language to the general public. Typing “C:” and various cryptic commands gradually becomes part of daily work. People discover the backslash (\) key.
MS‑DOS is effective, but also proves difficult to understand for many people. There has to be a better way to build an operating system.
Geek trivia: MS‑DOS stands for Microsoft Disk Operating System.

1982–1985: Introducing Windows 1.0

The Windows 1.0 desktop
Add caption
Microsoft works on the first version of a new operating system. Interface Manager is the code name and is considered as the final name, but Windows prevails because it best describes the boxes or computing “windows” that are fundamental to the new system. Windows is announced in 1983, but it takes a while to develop. Skeptics call it “vaporware.”
The fully-packaged Windows 1.0
Add caption
The fully-packaged Windows 1.0
On November 20, 1985, two years after the initial announcement, Microsoft ships Windows 1.0. Now, rather than typing MS‑DOS commands, you just move a mouse to point and click your way through screens, or “windows.” Bill Gates says, “It is unique software designed for the serious PC user…”
There are drop-down menus, scroll bars, icons, and dialog boxes that make programs easier to learn and use. You're able to switch among several programs without having to quit and restart each one. Windows 1.0 ships with several programs, including MS‑DOS file management, Paint, Windows Writer, Notepad, Calculator, and a calendar, card file, and clock to help you manage day-to-day activities. There’s even a game—Reversi.
Geek trivia: Remember floppy disks and kilobytes? Windows 1.0 requires a minimum of 256 kilobytes (KB), two double-sided floppy disk drives, and a graphics adapter card. A hard disk and 512 KB memory is recommended for running multiple programs or when using DOS 3.0 or higher.

1987–1992: Windows 2.0–2.11—More windows, more speed

The Windows 2.0 desktop
Add caption
On December 9, 1987 Microsoft releases Windows 2.0 with desktop icons and expanded memory. With improved graphics support, you can now overlap windows, control the screen layout, and use keyboard shortcuts to speed up your work. Some software developers write their first Windows–based programs for this release.
Windows 2.0
Add caption
Windows 2.0
Windows 2.0 is designed for the Intel 286 processor. When the Intel 386 processor is released, Windows/386 soon follows to take advantage of its extended memory capabilities. Subsequent Windows releases continue to improve the speed, reliability, and usability of the PC.
In 1988, Microsoft becomes the world’s largest PC software company based on sales. Computers are starting to become a part of daily life for some office workers.
Geek trivia: Control Panel makes its first appearance in Windows 2.0.
The Windows 3.0 desktop
Add caption
On May 22, 1990, Microsoft announces Windows 3.0, followed shortly by Windows 3.1 in 1992. Taken together, they sell 10 million copies in their first 2 years, making this the most widely used Windows operating system yet. The scale of this success causes Microsoft to revise earlier plans. Virtual Memory improves visual graphics. In 1990 Windows starts to look like the versions to come.
Windows now has significantly better performance, advanced graphics with 16 colors, and improved icons. A new wave of 386 PCs helps drive the popularity of Windows 3.0. With full support for the Intel 386 processor, programs run noticeably faster. Program Manager, File Manager, and Print Manager arrive in Windows 3.0.

 

 

 

 

 

1990–1994: Windows 3.0Windows NT—Getting the graphics

Bill Gates shows the newly-released Windows 3.0
Add caption
Bill Gates shows the newly-released Windows 3.0
Windows software is installed with floppy discs bought in large boxes with heavy instruction manuals.
The popularity of Windows 3.0 grows with the release of a new Windows software development kit (SDK), which helps software developers focus more on writing programs and less on writing device drivers.
Windows is increasingly used at work and home and now includes games like Solitaire, Hearts, and Minesweeper. An advertisement: “Now you can use the incredible power of Windows 3.0 to goof off.”
Windows for Workgroups 3.11 adds peer-to-peer workgroup and domain networking support and, for the first time, PCs become an integral part of the emerging client/server computing evolution.

Windows NT

When Windows NT releases on July 27, 1993, Microsoft meets an important milestone: the completion of a project begun in the late 1980s to build an advanced new operating system from scratch. "Windows NT represents nothing less than a fundamental change in the way that companies can address their business computing requirements," Bill Gates says at its release.
Unlike Windows 3.1, however, Windows NT 3.1 is a 32-bit operating system, which makes it a strategic business platform that supports high-end engineering and scientific programs.
Geek trivia: The group that develops Windows NT was originally called the "Portable Systems" team.

1995–2001: Windows 95—the PC comes of age (and don't forget the Internet)

The Windows 95 desktop
Add caption
On August 24, 1995, Microsoft releases Windows 95, selling a record-setting 7 million copies in the first five weeks. It’s the most publicized launch Microsoft has ever taken on. Television commercials feature the Rolling Stones singing "Start Me Up" over images of the new Start button. The press release simply begins: “It’s here.”
Launch day: Bill Gates introduces Windows 95
Add caption
Launch day: Bill Gates introduces Windows 95
This is the era of fax/modems, e‑mail, the new online world, and dazzling multimedia games and educational software. Windows 95 has built-in Internet support, dial-up networking, and new Plug and Play capabilities that make it easy to install hardware and software. The 32-bit operating system also offers enhanced multimedia capabilities, more powerful features for mobile computing, and integrated networking.
At the time of the Windows 95 release, the previous Windows and MS‑DOS operating systems are running on about 80 percent of the world’s PCs. Windows 95 is the upgrade to these operating systems. To run Windows 95, you need a PC with a 386DX or higher processor (486 recommended) and at least 4 MB of RAM (8 MB of RAM recommended). Upgrade versions are available for both floppy disk and CD-ROM formats. It’s available in 12 languages.
Windows 95 features the first appearance of the Start menu, taskbar, and minimize, maximize, and close buttons on each window.
Windows 95
Add caption
Windows 95

Catching the Internet wave

In the early 1990s, tech insiders are talking about the Internet—a network of networks that has the power to connect computers all over the world. In 1995, Bill Gates delivers a memo titled “The Internet Tidal Wave,” and declares the Internet as “the most important development since the advent of the PC.”
In the summer of 1995, the first version of Internet Explorer is released. The browser joins those already vying for space on the World Wide Web.
Geek trivia: In 1996, Microsoft releases Flight Simulator for Windows 95—the first time in its 14-year history that it’s available for Windows.

1998–2000: Windows 98, Windows 2000, Windows Me

Windows 98

The Windows 98 desktop
Add caption
Released on June 25, 1998, Windows 98 is the first version of Windows designed specifically for consumers. PCs are common at work and home, and Internet cafes where you can get online are popping up. Windows 98 is described as an operating system that “Works Better, Plays Better.”
With Windows 98, you can find information more easily on your PC as well as the Internet. Other improvements include the ability to open and close programs more quickly, and support for reading DVD discs and universal serial bus (USB) devices. Another first appearance is the Quick Launch bar, which lets you run programs without having to browse the Start menu or look for them on the desktop.
Geek trivia: Windows 98 is the last version based on MS‑DOS.
Windows 98
Add caption
Windows 98

Windows Me

The Windows Me media experience
Add caption
Designed for home computer use, Windows Me offers numerous music, video, and home networking enhancements and reliability improvements compared to previous versions.
First appearances: System Restore, a feature that can roll back your PC software configuration to a date or time before a problem occurred. Windows Movie Maker provides users with the tools to digitally edit, save, and share home videos. And with Microsoft Windows Media Player 7 technologies, you can find, organize, and play digital media.
Geek trivia: Technically speaking, Windows Me was the last Microsoft operating system to be based on the Windows 95 code base. Microsoft announced that all future operating system products would be based on the Windows NT and Windows 2000 kernel.

Windows 2000 Professional

Windows 2000 Professional

Windows 2000 Professional
More than just the upgrade to Windows NT Workstation 4.0, Windows 2000 Professional is designed to replace Windows 95, Windows 98, and Windows NT Workstation 4.0 on all business desktops and laptops. Built on top of the proven Windows NT Workstation 4.0 code base, Windows 2000 adds major improvements in reliability, ease of use, Internet compatibility, and support for mobile computing.
Among other improvements, Windows 2000 Professional simplifies hardware installation by adding support for a wide variety of new Plug and Play hardware, including advanced networking and wireless products, USB devices, IEEE 1394 devices, and infrared devices.
Geek trivia: The nightly stress test performed on Windows 2000 during development is the equivalent of three months of run time on up to 1,500 computers.

2001–2005: Windows XP—Stable, usable, and fast

The Windows XP Home Edition desktop

On October 25, 2001, Windows XP is released with a redesigned look and feel that's centered on usability and a unified Help and Support services center. It’s available in 25 languages. From the mid-1970s until the release of Windows XP, about 1 billion PCs have been shipped worldwide.
For Microsoft, Windows XP will become one of its best-selling products in the coming years. It’s both fast and stable. Navigating the Start menu, taskbar, and Control Panel are more intuitive. Awareness of computer viruses and hackers increases, but fears are to a certain extent calmed by the online delivery of security updates. Consumers begin to understand warnings about suspicious attachments and viruses. There’s more emphasis on Help and Support.
Ship it: Windows XP Professional rolls to retail stores

Ship it: Windows XP Professional rolls to retail stores
Windows XP Home Edition offers a clean, simplified visual design that makes frequently used features more accessible. Designed for home use, Windows XP offers such enhancements as the Network Setup Wizard, Windows Media Player, Windows Movie Maker, and enhanced digital photo capabilities.
Windows XP Professional brings the solid foundation of Windows 2000 to the PC desktop, enhancing reliability, security, and performance. With a fresh visual design, Windows XP Professional includes features for business and advanced home computing, including remote desktop support, an encrypting file system, and system restore and advanced networking features. Key enhancements for mobile users include wireless 802.1x networking support, Windows Messenger, and Remote Assistance.
Windows XP has several editions during these years:
  • Windows XP 64-bit Edition (2001) is the first Microsoft operating system for 64-bit processors designed for working with large amounts of memory and projects such as movie special effects, 3D animations, engineering, and scientific programs.
  • Windows XP Media Center Edition (2002) is made for home computing and entertainment. You can browse the Internet, watch live television, enjoy digital music and video collections, and watch DVDs.
  • Windows XP Tablet PC Edition (2002) realizes the vision of pen-based computing. Tablet PCs include a digital pen for handwriting recognition and you can use the mouse or keyboard, too.
Geek trivia: Windows XP is compiled from 45 million lines of code.

2006–2008: Windows Vista—Smart on security

The Windows Vista desktop

Windows Vista is released in 2006 with the strongest security system yet. User Account Control helps prevent potentially harmful software from making changes to your computer. In Windows Vista Ultimate, BitLocker Drive Encryption provides better data protection for your computer, as laptop sales and security needs increase. Windows Vista also features enhancements to Windows Media Player as more and more people come to see their PCs as central locations for digital media. Here you can watch television, view and send photographs, and edit videos.
Windows Vista Ultimate

Windows Vista Ultimate
Design plays a big role in Windows Vista, and features such as the taskbar and the borders around windows get a brand new look. Search gets new emphasis and helps people find files on their PCs faster. Windows Vista introduces new editions that each have a different mix of features. It's available in 35 languages. The redesigned Start button makes its first appearance in Windows Vista.
Geek trivia: More than 1.5 million devices are compatible with Windows Vista at launch.

2009–Today: Windows 7 and counting...

The Windows 7 desktop

By the late 2000s, the wireless world has arrived. When Windows 7 is released in October 2009, laptops are outselling desktop PCs and it’s common to get online at public wireless hotspots like coffee shops. Wireless networks can be created at the office or at home.
Windows 7 includes many features, such as new ways to work with windows—Snap, Peek, and Shake. Windows Touch makes its debut, enabling you to use your fingers to browse the web, flip through photos, and open files and folders. You can stream music, videos, and photos from your PC to a stereo or TV.
By the fall of 2010, Windows 7 is selling seven copies a second—the fastest-selling operating system in history.
Improvements to the Windows 7 taskbar include live thumbnail previews

Improvements to the Windows 7 taskbar include live thumbnail previews
Geek trivia: Windows 7 is evaluated by 8 million beta testers worldwide before it's released.

What's next?

Many laptops no longer have a slot for DVDs and some have solid state drives rather than conventional hard disks. Most everything is streamed, saved on flash drives, or saved in the "Cloud"—an online space for sharing files and storage. Windows Live—free programs and services for photos, movies, instant messaging, e‑mail, and social networking—is seamlessly integrated with Windows so that you can keep in touch from your PC, phone, or the web, extending Windows to the Cloud.
Meanwhile, work is underway for the next version of Windows.

5 Most Useful Tools For Image Optimization

Blogging?>>>>
 
 
The gravestone of J.P.G.For a blog or a website, images play a very important part. It makes you blog look attractive but at the same time it also slows down your blog as large images can add significant load time. Every blogger should optimize their images to improve the load time as search engines gives more value to faster blogs. (image via Wikipedia)

There are various tools available to to optimize your images. These tools reduce the size of image by optimizing the resolution to the required level. This in turn improves the load time. Here is a list of my top 5 favorite tools which you can use.

1. Smush.It: This is  great tool from yahoo which optimizes images without changing their look or loosing their quality. This is known as “lossless” tool. Smush.it uses techniques to remove unnecessary bytes from image files. WordPress users can use the great plugin available here: Smush.It WordPress Plugin

.
Smush.it screenshot Webmaster Tip – Tools to Optimize Your Images


2. Free Image Optimizer: This is a free online tool to optimize your images. Now optimizing your images is just a click away. You may optimize your images for your blog, email or for simple storage.
image optimizer free


3. Online Image Optimizer: You can easily optimize your GIF, JPG and PNG files to enable faster loading. This tool can also be utilized to convert images to the desired format.
online image optimization


4. PNGGauntlet: This tool uses command line utility from Ken Silverman’s PNGOUT to reduce the size of the image to minimum without affecting its quality.
PNGGauntlet image optimization


5. RIOT (Radical Image Optimization Tool): This tool supports any of the popular image format such as GIF, JPG, PNG, BMP, TIFF, PSD etc. It is a free tool that optimize the image withour compromising its quality.
RIOT image optimization
If you know any other tool that works better, please do share it here.

HAV C PROGRAMS

Program for getting the disk status
#include"stdio.h"
#include"conio.h"
#include"dos.h"
void main(void)
{
clrscr();
union REGS regs;
regs.h.ah = 1;
regs.h.dl = 0x80;
int86(0x13,®s,®s);
printf("If successful operation then AH & AL register resets.");
printf("AH register - %d",regs.h.ah);
printf("AL register - %d",regs.h.al);
printf("Successful Operation.");
getch();
}
Factorial series-e^x
#include "stdio.h"
#include "conio.h"
#include "math.h"
long int factorial(int n);
void main()
{
int x,i;
float s,r;
char c;
clrscr();
printf("You have this series:-1+x/1! + x^2/2! + x^3/3! + x^4/4!..x^x/x!");
printf("To which term you want its sum? ");
scanf("%d",&x);
s=0;
for (i=1;i<=x;i++)
{ s=s+((float)pow(x,i)/(float)factorial(i)); }
printf("The sum of %d terms is %f",x,1+s);
fflush(stdin);
getch();
}
long int factorial(int n)
{
if (n<=1)
return(1);
else
n=n*factorial(n-1);
return(n);
}
Circular Linked List in C
#include"stdio.h"
#include"conio.h"
#include"stdlib.h"
#include"alloc.h"
#define null 0
struct node
{
int info;
struct node *link;
}*start;
void main()
{
int ch,n,m,position,i;
last=null;
while(1)
{
printf("1.create
2.addat
3.addbt
4.del
5.disp
6.exit
");
printf("er ur ch");
scanf("%d",&ch);
switch(ch)
{
case 1:
printf("er no of itc");
scanf("%d",&n);
for(i=0;i
{
printf("er the element");
scanf("%d",&m);
create(m);
}break;
case 2:
printf("er the element");
scanf("%d",&m);
addat(m);
break;
case 3:
printf("er the element");
scanf("%d",&m);
printf("er the position");
scanf("%d",&position);
addbt(m,position);
break;
case 4:
if(last==null)
{
printf("list is empty");
continue;
}
printf("er the element for delete");
scanf("%d",&m);
del(m);
break;
case 5:
disp();
break;
case 6:
exit(0);
break;
default:
printf("wrong choice");
}
}
}
create(int data)
{
struct node *q,*tmp;
tmp=(struct node *)malloc(sizeof(struct node));
tmp->info=data;
tmp->link=null;
if(last==null)
{
last=tmp;
tmp->link=last;
}
else
{
tmp->link=last->link;
last->link=tmp;
last=tmp;
}}
addat(int data)
{
struct node *q,*tmp;
tmp=(struct node *)malloc(sizeof(struct node));
tmp->info=data;
tmp->link=last->link;
last->link=tmp;
}
addbt(int data,int pos)
{
struct node *tmp,*q;
int i;
q=last->link;;
for(i=0;i
{
q=q->link;
if(q==last->link)
{
printf("there r lessthan %d elements",pos);
return;
}
}
tmp=(struct node *)malloc(sizeof(struct node));
tmp->link=q->link;
tmp->info=data;
q->link=tmp;
if(q==last)
last=tmp;
}
del(int data)
{
struct node *tmp,*q;
if(last->link==last&&last->info==data)
{
tmp=last;
last=null;
free(tmp);
return;
}
q=last->link;
if(q->info==data)
{
tmp=q;
last->link=q->link;
free(tmp);
return;
}
while(q->link!=last)
{
if(q->link->info==data)
{
tmp=q->link;
q->link=tmp->link;
free(tmp);
printf("element %d is deleted",data);
}
if(q->link->info=data)
{
tmp=q->link;
q->link=last->link;
free(tmp);
last=q;
return;}
printf("element%d is not found",data);
}
disp()
{
struct node *q;
if(last==null)
{
printf("list isdempty");
return;
}q=last->link;
while(q!=last)
{
printf("%d",q->info);
q=q->link;
}
printf("%d",last->info);
}



Linked list stack example
#include"stdio.h"
#include"string.h"
#include"stdlib.h"

typedef struct node {
char *str;
struct node *next;
STACKNODE;
void push(char *key, STACKNODE **stack);
char *pop(STACKNODE **stack);
int isempty(STACKNODE *stack);
char top(STACKNODE *stack);
int main() {
char line[1024];
char *key;
STACKNODE *stack;
stack = NULL;
while((fgets(line, 1024, stdin)) != NULL)
key = line, push(key, &stack);
while(!isempty(stack))
printf("%s", pop(&stack));
return 0;
}
char top(STACKNODE *stack) {
return *stack->str;
}
void push(char *line, STACKNODE **stack) {
STACKNODE *newnode;
newnode = (STACKNODE *)malloc(sizeof(STACKNODE));
newnode->str = strdup(line);
newnode->next = (*stack);
(*stack) = newnode;
}
char *pop(STACKNODE **stack) {
STACKNODE *oldnode;
char *key;
char *retval;

oldnode = (*stack);
key = (*stack)->str;
(*stack) = (*stack)->next;
free(oldnode);

retval = calloc(strlen(key)+1, sizeof(char));
strcpy(retval, key);
return retval;
free(retval);
}
int isempty(STACKNODE *stack) {
return stack == NULL;
}

Sunday, April 3, 2011

SUPPORT FOR OPPOSITE ALSO...

Out-of-the-box support for Microsoft Exchange.

With Snow Leopard, the Mac is the only computer with built-in support for Microsoft Exchange Server 2007. So you can use your Mac — with all the features and applications you love — at home and at work and have all your messages, meetings, and contacts in one place.
Active Directory, Print Services, Windows apps and files, MS Exchange, MS Office

Every day is “bring your Mac to work” day.

The Mac already works brilliantly in managed corporate environments, even in companies that support mixed platforms. It can run Microsoft Office and Windows applications. It can connect to virtually any server and share files with virtually any computer. It can authenticate to Active Directory servers.
Now with Snow Leopard, the Mac has out-of-the-box support for Microsoft Exchange Server 2007, something even Windows PCs don't have. Instead of using Outlook to access Exchange services such as email, calendar invitations, and Global Address Lists, you’ll use Mail, iCal, and Address Book. Because they’re on the Mac, you can continue taking advantage of all the powerful Mac features you love, including Spotlight, Quick Look, data detectors, and more. And finally you can view your Exchange-based work life right alongside your personal mail, calendars, and contacts.
Exchange Accounts

Setup that makes sense.

The best way to set up Mail, iCal, and Address Book to access your Exchange account is with the Exchange Autodiscovery feature. If this feature is enabled by your IT department, you just open the Accounts panel in Mail, enter your Exchange user name and password, and check the box to automatically set up your other applications. Mail will use Autodiscovery to grab all the pertinent information from the server and configure your settings, so you can start using your applications right away. Mac OS X also supports manual configuration of your Exchange server settings and remote setup and access of Exchange through most VPN connections.


Mail Exchange and Mail Icon

All your email, all in one place.

You’ll access and manage your Exchange email alongside your personal email using the Mail application in Mac OS X. When you compose messages, Mail can autocomplete names from the Global Address List. You can create notes and to-do items and receive and act on event invitations in email. And use the other great features of Mail. Search across all your accounts at once using Spotlight. Create Smart Folders that gather mail messages from any or all accounts based on custom search criteria, such as all messages from your boss or all messages with the words “To Do” in the subject. Use Quick Look to view large previews of attachments without opening the files. Take advantage of data detectors, which pick out important bits of information in email messages — such as dates, phone numbers, and addresses — so you can act on them with one click.
iCal iCal Icon

A versatile, powerful desktop calendar.

iCal on your Mac offers all the Exchange-based features you expect, including the ability to view real-time availability of coworkers and conference rooms in the Global Address List and autocomplete their names when you invite them to meetings. You can receive and act on meeting invitations in email, and you can send invitations to people outside your organization using email; they’ll receive an .ics attachment that, when opened, will add the appointment to their iCal calendar. iCal also lets you create and manage as many separate calendars as you need — one or more Exchange-based calendars for work, a separate calendar for your family, another for birthdays, and so on. You can view them all at once in a single window or choose to see only the calendars you want. You can even choose to delegate your calendar to a colleague.
Exchange Addressbook20090608 Exchange Contacts Icon

Your contacts and address lists together.

Address Book in Mac OS X gives you a flexible and convenient place to store contact information for your family, friends, and colleagues. Now, with Exchange support, it also taps into your company’s Global Address Lists. So you can create groups and Smart Groups with contacts from your local list or an Exchange-based list. You can click an address to open Google Maps or click a URL to open a web browser. And because Address Book information is fully integrated with other Mac OS X applications, Mail and iCal use your contact information to autocomplete names when you’re sending email or invitations.

STEP IN SIDE..

More power to your Mac.

Since 2001, the breakthrough technologies and rock-solid UNIX foundation of Mac OS X have made it not only the world’s most advanced operating system but also extremely secure, compatible, and easy to use. Snow Leopard continues this innovation by incorporating new technologies that offer immediate improvements while also smartly setting it up for the future.

New in Snow Leopard:

64-bit Mac OS X Applications

More secure than ever.

Another benefit of the 64-bit applications in Snow Leopard is that they’re even more secure from hackers and malware than the 32-bit versions. That's because 64-bit applications can use more advanced security

More secure than ever

techniques to fend off malicious code.
First, 64-bit applications can keep their data out of harm's way thanks to a more secure function argument-passing mechanism and the use of hardware-based execute disable for heap memory. In addition, memory on the system heap is marked using strengthened checksums, helping to prevent attacks that rely on corrupting memory.
64-bit applications in Snow Leopard deliver faster performance at common operations.²

32-bit compatible.

To ensure simplicity and flexibility, Mac OS X still comes in one version that runs both 64-bit and 32-bit applications. So you don’t need to update everything on your system just to run a single 64-bit program. And new 64-bit applications work just fine with your existing storage devices, PCI cards, and Snow Leopard-compatible printers.
64-bit

64-bit computing used to be the province of scientists and engineers, but now this generational shift in computing gives all users the tools to apply the power of 64-bit to speed up everything from everyday applications to the most demanding scientific computations. Although Mac OS X is already 64-bit capable in many ways, Snow Leopard takes the next big step by rewriting nearly all system applications in 64-bit code¹ and by enabling the Mac to address massive amounts of memory. Now Mac OS X is faster, more secure, and completely ready for the future.

The 64-bit transition.

The entire computing industry is moving from 32-bit to 64-bit technology, and it’s easy to see why. Today’s Mac computers can hold up to 32GB of physical memory, but the 32-bit applications that run on them can address only 4GB of RAM at a time. 64-bit computing shatters that barrier by enabling applications to address a theoretical 16 billion gigabytes of memory, or 16 exabytes. It can also enable computers to crunch twice the data per clock cycle, which can dramatically speed up numeric calculations and other tasks. Earlier versions of Mac OS X have offered a range of 64-bit capabilities. Now Snow Leopard takes the next step in the transition from 32-bit to 64-bit.

Built-in applications are now 64-bit.

Nearly all system applications — including the Finder, Mail, Safari, iCal, and iChat — are now built with 64-bit code. So not only are they able to take full advantage of all the memory in your Mac, but the move to 64-bit applications also boosts overall performance. Together with other refinements and improvements in Snow Leopard, this means that just about everything you do — from launching applications like QuickTime to running JavaScript in Safari to opening image files — will feel faster and more responsive.

Ready for the future.

The 64-bit support in Snow Leopard makes Mac OS X completely ready for whatever computing enhancements might arrive in the future. For example, Snow Leopard is ready to support up to 16 terabytes of RAM — about 500 times more than today’s Mac computers can accommodate. That may sound like more RAM than you’ll ever need, but who can predict the requirements of high-performance computers in the future? Mac OS X Snow Leopard comes prepared for anything.
Grand Central Dispatch

More cores, not faster clock speeds, drive performance increases in today’s processors. Grand Central Dispatch takes full advantage by making all of Mac OS X multicore aware and optimizing it for allocating tasks across multiple cores and processors. Grand Central Dispatch also makes it much easier for developers to create programs that squeeze every last drop of power from multicore systems.

With CPUs, more cores is better.

In the past, the best way for computer chip makers to improve performance was to turn up the clock speed on the processor. But that generates more heat and consumes more power, which is bad for computers, especially notebooks. So instead the industry has moved to chips with multiple processor cores, which can provide more performance while consuming less power. Today every Mac runs on one or more multicore Intel processors.

Multicore. Multiple challenges.

To take full advantage of these processors, software applications must be programmed using a technology called threads. Software developers use threads to allow multicore processors to work on different parts of a program at the same time. However, each application must do its own threading, which reduces the efficiency of the entire system. And because threads can be difficult to program, many developers don’t invest the effort to make their applications multicore capable. Consequently, lots of applications aren’t as fast as they could be.

Introducing Grand Central Dispatch.

Grand Central Dispatch (GCD) in Mac OS X Snow Leopard addresses this pressing need. It’s a set of first-of-their-kind technologies that makes it much easier for developers to squeeze every last drop of power from multicore systems. With GCD, threads are handled by the operating system, not by individual applications. GCD-enabled programs can automatically distribute their work across all available cores, resulting in the best possible performance whether they’re running on a dual-core Mac mini, an 8-core Mac Pro, or anything in between. Once developers start using GCD for their applications, you’ll start noticing significant improvements in performance.

A finely tuned engine.

Grand Central Dispatch is extremely efficient at what it does. It dynamically scales the workload of an application to account for the number of processors in the computer. And it makes applications more efficient by using only the number of threads required for the work being done. For example, without GCD, if an application needs 20 threads when at maximum capacity, it might set up 20 threads and consume the associated resources even when it has nothing to do. GCD, by contrast, frees resources when it’s not using them, helping to keep the whole system more responsive. Imagine the efficiency and performance gains if every application on your Mac were using GCD.

Built into the core.

Grand Central Dispatch is deeply integrated into Mac OS X Snow Leopard, making it easier for all kinds of applications to take better advantage of multicore processors. In addition, your Mac as a whole becomes more efficient at handling numerous tasks at the same time, resulting in performance gains across the board.

Powerful developer tools.

Developers will program for Grand Central Dispatch using the Xcode tools included with every Mac. They can use the Xcode debugger and Instruments performance analysis tool to get insights into GCD at runtime. These tools make it possible to quickly inspect any GCD work queue, even down to a specific block of executing code, giving developers a complete understanding of their application as GCD efficiently assigns tasks to each available core.
OpenCL

With graphics processors surpassing speeds of a trillion operations per second, they’re capable of considerably more than just drawing pictures. OpenCL in Snow Leopard is a technology that makes it possible for developers to tap the vast gigaflops of computing power currently in the graphics processor and use it for any application.

The skyrocketing power of GPUs.

GPU

Over the last few years the performance of graphics processing units (GPUs) has grown exponentially as measured in gigaflops. Today’s fastest GPUs are capable of over one teraflop, as much as the room-size ASCI RED supercomputer of just 12 years ago.

A graphic shift in performance.

Now a new technology in Mac OS X Snow Leopard called OpenCL takes the power of graphics processors and makes it available for general-purpose computing. No longer will graphics processors be limited to graphics-intensive applications such as games and 3D modeling. Instead, once developers begin to use OpenCL in their applications, you’ll experience greatly improved speed in a wide spectrum of applications.
For example, sophisticated financial modeling techniques can be incorporated into desktop accounting software and personal finance software. Media applications can perform complex, intensive operations with larger video and graphics files. Games can have more realistic physics simulations. And scientists and researchers can tackle far more challenging problems using their everyday Mac computers.

Optimized for the task.

NVIDIA AMD intel

OpenCL automatically optimizes for the kind of graphics processor in the Mac, adjusting itself to the available processing power. OpenCL provides consistent numeric precision and accuracy, fixing a problem that has hampered GPU-based programming in the past.
Xcode

Familiar, C-based language with industry support.

OpenCL stands for Open Computing Language. It’s a C-based programming language with a structure that will be familiar to programmers, who can simply use Xcode developer tools to adapt their programs to work with OpenCL. They don’t have to completely rewrite applications to use OpenCL. They need only rewrite the most performance-intensive parts of their application in OpenCL C. The vast majority of application code can be left unchanged. Best of all, OpenCL is an open standard that’s supported by the biggest names in the industry, including AMD, Intel, and NVIDIA.


QuickTime X

Snow Leopard introduces QuickTime X, a major leap forward that advances modern media and Internet standards. QuickTime X includes a brand-new player application, offers optimized support for modern codecs, and delivers more efficient media playback, making it ideal for any application that needs to play media content.

Another leap forward.

QuickTime X is the next-generation media technology that powers the audio and video experience in Mac OS X Snow Leopard. From  its inception in 1991, QuickTime has stood at the forefront of video technologies — first with software-based video, then with Internet video. Now QuickTime X takes another leap forward by building on the amazing media technologies in Mac OS X — such as Core Audio, Core Video, and Core Animation — to deliver enhanced playback, greater efficiency, and higher quality.

A new QuickTime Player.

QuickTime X debuts a brand-new version of QuickTime Player, the standalone application used by millions to watch QuickTime-based video. Using the power of the Core Animation technology in Mac OS X, QuickTime Player offers a clean, uncluttered interface with controls that fade out when they’re not needed. And large thumbnail images make navigating chaptered movies simpler than before.
With a single click, QuickTime Player can now capture audio or video using the built-in camera and microphone in your Mac. You can easily trim media to the perfect length, then send it to iTunes for syncing to an iPhone, iPod, and Apple TV. You can also use QuickTime Player to publish your media to MobileMe or YouTube — without worrying about codec formats or resolutions.

Built for smooth playback.

QuickTime X is optimized for the latest modern media formats — such as H.264 and AAC — through a new media architecture that delivers stutter-free playback of high-definition content on nearly all Snow Leopard-based Mac systems. QuickTime X maximizes the efficiency of modern media playback by using the graphics processor to scale and display video. QuickTime X further increases efficiency by supporting GPU-accelerated video decoding of H.264 files.

Video streaming from any server.

QuickTime X takes Internet video streaming to new levels with support for HTTP live streaming. Unlike other streaming technologies, HTTP live streaming uses the HTTP protocol — the same network technology that powers the web. That means QuickTime X streams audio and video from almost any web server instead of special streaming servers, and it works reliably with common firewall and wireless router settings. HTTP live streaming is designed for mobility and can dynamically adjust movie playback quality to match the available speed of wired or wireless networks, perfect whether the video is watched on a computer or on a mobile device like iPhone or iPod touch.
Up to 2.4x Faster

High performance, high quality.

Because it’s built into the heart of Snow Leopard, QuickTime X uses Mac OS X technologies such as Cocoa, Grand Central Dispatch, and 64-bit computing to deliver greatest-possible performance and enables QuickTime Player to launch up to 2.4x faster.2 QuickTime X also takes advantage of ColorSync to provide high-quality color reproduction during playback and when sharing media to your iPhone, iPod, or Apple TV.