Welcome to Official Blog of TechnoKriti.
Our Non Profit Student Volunteered Organization at

Manav Rachna College of Engineering, Faridabad.
All are Welcome to Learn, Share and Develop.

Sunday, November 1, 2009

World Wide Telescope

C++ Programming with QT

As a follow up to YOUTH SOFTWARE MEET conducted by TechnoKriti in August 2009.

We are now providing link where you can download Ebook and Learn QT by yourself.

CLICK ME TO DOWNLOAD THE C++ GUI PROGRAMMING WITH QT.........

http://a/drop.io/technokriti/asset/c-gui-programming-with-qt-4-1st-ed-pdf


View c-gui-programming-with-qt-4-1st-ed-pdf

Friday, October 30, 2009

Ethical Hacking..!

The list of events organised and supported by TECHNOKRITI, grows even longer with the addition of the 'ETHICAL HACKING' Workshop organized on 29-10-2009...

The main event was headed by KANISK DUDEJA(2nd yr) CSE A and NAVEEN CHAUHAN (2nd yr) IT A.. with all the support provided by TECHNOKRITI TEAM.
It was a short event which dealt with the basics of HACKING. Almost 20 1st yr students came to attend the event and got to learn some simple steps to obtain the ID and PASSWORD of a person using the tricks of INTERNET n HTML. The basic idea of the event was not to encourage them about Hacking but to make them aware of such tricks so that they don't get fooled by someone else.
Information about some websites like "ripway.com' and "bit.ly" were also told by Prashant.


Ethical Hacking..!

The list of events organised and supported by TECHNOKRITI, grows even longer with the addition of the 'ETHICAL HACKING' Workshop organized on 29-10-2009...

The main event was headed by KANISK DUDEJA(2nd yr) CSE A and NAVEEN CHAUHAN (2nd yr) IT A.. with all the support provided by TECHNOKRITI TEAM.It was a short event which dealt with the basics of HACKING. Almost 20 1st yr students came to attend the event and got to learn some simple steps to obtain the ID and PASSWORD of a person using the tricks of INTERNET n HTML. The basic idea of the event was not to encourage them about Hacking but to make them aware of such tricks so that they don't get fooled by someone else.Information about some websites like "ripway.com' and "bit.ly" were also told by Prashant.

Monday, October 19, 2009

Cartoon Contest on Climate Change



Draw a Smile, Save the Planet If you’re creative, funny, care about the environment and know how to wield a pencil, here’s your chance to do something about it. British Council in partnership with the Ken Sprague Fund UK announces a cartoon contest on climate change. The contest is organised as part of British Council’s Low Carbon Futures Project, which focuses on mitigating the effects of climate change in an urban environment


Sunday, October 18, 2009

Ubuntu CLoud Computing with Amazon EC2

Waiting for UBUNTU 9.10!!

Tuesday, October 13, 2009

Sins of Windows7 exposed here!!

Thursday, October 8, 2009

Ubuntu experience..!

Ubuntu is a community developed, Linux-based operating system that is perfect for laptops, desktops and servers. It contains all the applications you need - a web browser, presentation, document and spreadsheet software, instant messaging and much more.

It is an open source software.. so available for free.. you can either order ur cd on the net or can download the iso..

i recently downloaded ubuntu 9.04 from www.ubuntu.com.. its a bootable iso.. so when u boot it u can run a live session to see how it works.. or you can install it..

If u want to install it.. you will have to make up a backup of all your data because it does not support NTFS or FAT file systems.. its got it own ext3 file system.. backup all ur data and then while installing it.. choose the option "use the entire disk".. it will format it in ext3 file system..

its pretty cool.. no spoonfeeding like windows.. everything needs to be done from the command line( the terminal)..
it cant run exes.. but if u still want to run an exe there is a package named "wine" that lets you run executables..
there are lots of other diverse packages that can be installed..
there are loads of pretty good inbuilt applications.. for eg a screenshot software..

If u use it ur computer knowledge gets enhanced drastically because u will be working with loads of source codes and stuff..id seriously recommend you to give it a try.. its a bit hard for beginners but all information is available on the net.. so if u encounter any problem u can always google it..

I hope u have a good ubuntu experience..!

RadioVerve.net

RadioVeRVe is an internet radio station operating out of Bangalore, India. It differentiates itself from other FM and internet radio stations by focusing exclusively on independent music from India.

It addresses the common problem that independent artistes face all over the world - mainstream radio doesn't play their music, so reach is limited. The RadioVeRVe team decided to pool their talents together and create a one-of-its-kind venture, India's first Internet radio station dedicated wholly to independent Indian music.[1]

First launched on June 1, 2006, RadioVeRVe originally launched as a platform to showcase rock music performed by unpublished bands in India, and to feature music performed by these bands, as well as interviews and news about them. It has since widened its musical scope to rock, heavy metal, easy listening, regional language and Indian classical music.

The station has received interest from both the press as well as the music industry in India, and caters to thousands of listeners across the world 24 hours a day. Artistes featured on the station credit it with being responsible for their reaching audiences that they had not hoped to reach earlier, and getting record label offers, shows and even international tours.

No1 in Energy Management

Wednesday, October 7, 2009

The Nobel Prize in Chemistry Goes to Venkatraman Ramakrishnan,Thomas A. Steitz, Ada E. Yonath

We are proud as other NRI makes it to NOBEL PRIZE this year. Venkatraman got Nobel prize
for studies of the structure and function of the ribosome.

Telephone interview with Venkatraman Ramakrishnan immediately following the announcement of the 2009 Nobel Prize in Chemistry, 7 October 2009. The interviewer is Adam Smith, Editor-in-Chief of Nobelprize.org
[Venkatraman Ramakrishnan] Hello?

[Adam Smith] Hello. Professor Ramakrishnan?

[VR] Yes.

[AS] Hello, my name's Adam Smith. I'm calling from the official web site of the Nobel Foundation in Stockholm.

[VR] Yes.

[AS] We have a tradition of recording very short interviews with new Laureates. May I offer you my congratulations and speak to you for a few minutes?

[VR] Yes. Thank you.

[AS] You started out as a physicist, and I just wanted to ask what attracted you to biology in the first place?

[VR] Well, I'll be honest with you. I was a theoretical physicist but my Ph.D. work was on a problem that was not particularly interesting to me at the time. And I used to subscribe to Scientific American and I found that there were all these wonderful discoveries happening in biology and I also knew that a number of physicists had gone into biology and been successful. So, I decided to switch.

[AS] Well so many, like Francis Crick, and so many others who moved into molecular biology for instance ...

[VR] Yes, exactly. In fact many from my own lab, you know, where I work.

[AS] That's right. And you do work at the LMB in Cambridge, this marvelous place where so many great ideas have come from. What is it that makes it so special?

[VR] I think it's the ability to tackle difficult problems in a sort of stable and supportive environment. I think that's the real key to it.

[AS] So one is challenged, always, to address the most difficult problem one can think of?

[VR] That's right. And I think, you know, the history of the place means that you don't waste your time doing sort of mundane or routine things.

[AS] And in particular, the problem of the ribosome, this extraordinarily complicated structure. It perhaps seems like a mountain that's too high to climb, but that itself attracted you?

[VR] No, because I started working on ribosomes when I was a post doc, in 1978, when it would have been impossible, really, to solve it. But, it was just a fundamental problem in biology. And we felt, no matter, anything we do to chip away at the problem would be useful. So it was more that that attracted me. And I think the fact that it was large and kind of difficult to come to grips with, yes, it was attractive. Really what was attractive was that it was a fundamental problem.

[AS] And Francis Crick had made this proposal in the 60s, that it might perhaps be the link between the pre-DNA world and life now as we know it.

[VR] Yes. And the structures have definitely shown, or confirmed, earlier biochemical work, mainly by people like Harry Noller, that the key elements of the ribosome that are involved in function are made of RNA. And so a primordial ribosome could very well have consisted entirely of RNA. And, so, yes it does ... But Crick was amazingly, I think, prescient to have thought about it.

[AS] There's a marvelous video on your web site showing the ribosome in action, which indicates that really we understand its workings pretty well.

[VR] Well, only if you don't think of it as chemistry. Because we understand in a sort of fuzzy way that something has to come in, and something has to move, and so on. But, if you really want to understand the detailed molecular interactions that make it go in a particular direction, make certain contacts, break other contacts, hydrolyze GTP, you know, form bonds, etcetera, and do it all amazingly accurately, then you do need a high resolution picture of those states. But, that's not going to be enough. It's going to take a lot of work by biochemists, by computational people who do molecular dynamics and things like that to really, eventually, understand it in the sense that we would understand, say, a more typical reaction.

[AS] And, the three of you who've been rewarded with the Nobel Prize today, have all worked on bacterial ribosomes. Is it the case that bacterial ribosomes are a good model for our ribosomes?

[VR] They are good for certain things, but they're not good for initiation where it's very, very difficult so ... But there are people working on trying to get eukaryotic ribosomes crystallized and trying to study it, but I think that will be a difficult problem for quite a while.

[AS] And just as a last topic, one thing that the committee have emphasized is all three of your work on antibiotics and ribosomes and the structural work on antibiotics interacting with ribosomes. Do you have high hopes that this structural biology will lead to new antibiotics to treat resistant strains of bacteria.

[VR] Yes. So the fact is that ... You know, having a high resolution structure in hand, one of the first things that those of us who were working on it did was to try and determine the structure with antibiotics, with known antibiotics that bind to the ribosome. And those gave us a very good idea of how they interacted with the ribosome. And it also gave us an idea of why certain mutations would cause resistance and how you might design better antibiotics. And, indeed, one of my co-winners, Tom Steitz, founded a company in New Haven and that company is devoted to making new antibiotics based on the structure of the ribosome and they have, actually, new potential drugs in clinical trials. So that's one of the more satisfying things to come out of it.

[AS] OK, well thank you very much. I can hear behind you what sounds like a celebrating lab. What do you think is about to happen?

[VR] It looks like, from the way the phone's ringing, that today's going to be written-off. But I haven't even told my wife yet. I couldn't reach her. She's probably gone for a walk, and she doesn't use a mobile phone, so it will be interesting. And my father lives in Seattle and I don't want to wake him up because it's three in the morning, so ...

[AS] So, you'll be held on the phone for a while more before you can speak to the family. Well, good luck good luck with the rest of today and we look forward to meeting you when you come to Stockholm in December.

[VR] Thank you, bye, bye.

[AS] Bye, bye.

To hear the telephonic interview click here...(media player needed)


Background of Venkatraman Ramakrishnan.

* Born: 1952
* Place of birth: Chidambaram, Tamil Nadu, India
* Nationality: United States
* Residence: United Kingdom
* Affiliation: MRC Laboratory of Molecular Biology, Cambridge, United Kingdom
o Address:
Hills Road
Cambridge, CB2 0QH, UK
* Tel: +44 (0) 1223-402213
* Fax: +44 (0) 1223 213556
* E-mail: ramak@mrc-lmb.cam.ac.uk
* Education:
o Baroda University, India. B.Sc. (Physics) 1971
o Ohio University, US. Ph.D. (Physics) 1976
o University of California, San Diego, US. Graduate Student (Biology) 1976-78.

What is CCD SENSOR??

A charge-coupled device (CCD) is a device for the movement of electrical charge, usually from within the device to an area where the charge can be manipulated, for example conversion into a digital value. This is achieved by "shifting" the signals between stages within the device one at a time, in a queue like manner. Technically, CCDs are implemented as shift registers that move charge between capacative "bins" in the device, with the shift allowing for the transfer of charge between bins.

Often the device is integrated with a sensor, such as a photoelectric device to produce the charge that is being read, thus making the CCD a major technology where the conversion of images into a digital signal is required. Whilst CCDs are not the only technology to allow for light detection, CCDs are widely used in professional, medical and scientific applications where high quality image data is required.

In a CCD for capturing images, there is a photoactive region (an epitaxial layer of silicon), and a transmission region made out of a shift register (the CCD, properly speaking).

An image is projected through a lens onto the capacitor array (the photoactive region), causing each capacitor to accumulate an electric charge proportional to the light intensity at that location. A one-dimensional array, used in line-scan cameras, captures a single slice of the image, while a two-dimensional array, used in video and still cameras, captures a two-dimensional picture corresponding to the scene projected onto the focal plane of the sensor. Once the array has been exposed to the image, a control circuit causes each capacitor to transfer its contents to its neighbor (operating as a shift register). The last capacitor in the array dumps its charge into a charge amplifier, which converts the charge into a voltage. By repeating this process, the controlling circuit converts the entire semiconductor contents of the array to a sequence of voltages, which it samples, digitizes and stores in some form of memory.

Open Source WORLD

This is how you make animated GIF using ADOBE

Monday, October 5, 2009

Schneider - Electric

Thursday, October 1, 2009

Google Chrome 3.0 Released

Google has released 3.0 version of its famous web browser "Chrome". Here is what the Official Google Blog says:

This release comes hot on the heels of 51 developer, 21 beta and 15 stable updates and 3,505 bugfixes in the past year. For you, that means significant speed improvements for the browser as well as a fresh redesign of some of its most loved features.

We've improved by more than 150% in Javascript performance since our very first beta, and by more than 25% since the most recent stable release.

When you download and fire up this latest release of Google Chrome, you'll notice that the New Tab page sports a new look. We've redesigned the New Tab page so that it's easy to use and easily customizable. Now you can rearrange thumbnails of your most-visited websites by simply clicking and dragging your mouse. Additionally, you can pin thumbnails to a spot so they don't disappear even if your browsing habits change. This way, you can easily get to the websites you care about with just one click.

We've also improved one of the most used and loved features of Google Chrome, the Omnibox. Because it's a search bar as well as the web address bar, the multi-talented Omnibox helps you get to the sites you're looking for with just a few keystrokes. With this release, we've optimized the presentation of the drop-down menu and added little icons to help you distinguish between suggested sites, searches, bookmarks, and sites from your browsing history.

We're very excited about HTML5 becoming standard in modern browsers, and continued to add HTML5 capabilities to this stable release.

After testing out Themes for Google Chrome in the beta channel, we're finally releasing it in this stable release. Themes allow you to deck out your browser with colors, patterns and images. We'll be bringing more Themes for the browser soon, but in the meantime, you can change the theme of your browser by visiting the Themes Gallery.

You can download the new version using following link:

Download Google Chrome 3.0



Engineering Student Survival Guide





Monday, September 28, 2009

BENEFITS OF JOINING MDU OSUM

Benefits of Joining OSUM
The Open Source University Meetup is a great place to connect with other technical students who are interested in free and open source software. OSUMs provide students with training in cutting edge technologies in demand by the IT industry, access to resources to advance their careers and the opportunity to make friends through engaging and fun technology-based activities.

OSUM clubs exist at universities all over the world and conduct regular on-campus activities. These activities provide students who participate with benefits which include:
· Hands- on training via Tech Demos and Student Projects to learn technologies that can lead to promising careers in the IT industry.
· Ready access to free and low-cost student resources, such as the SAI (free trainng and discounted certification).
· Make lots of like-minded (technical) friends through the Sun OSUM global community.
· Have access to a variety of OSUM events such as Software Freedom Day(we are planning to celebrate it with great vigor in college!), University Day, etc.
OSUM Organization Elements
Your OSUM has two elements that create the organization: Physical and Virtual.
Physical: The OSUM Club brings students together on-campus to learn how they can benefit from FOSS
· Monthly meetings
· Student projects
· Guest speakers
· Installfest
· Open-source events
· Make new friends on campus with a shared interest in coding and FOSS
Virtual: OSUMs enables student developers to connect to each other and to Sun through a virtual social networking site. New OSUMs and existing student-developer groups that affiliate with the OSUM program will receive free access to the OSUM web site. Benefits of this social networking site include the following:
· A feature-rich social networking site that can host the web site for each individual OSUM and connect it to OSUMs and their members around the world.
· Everyday interaction with a global community of student developers Students will be able to do the following:
o Write blogs
o Post comments
o Use an instant-messaging application
o Upload photos and videos
* Post profiles of themselves.
* Communicate in forums
The OSUM Community allows students to participate and create the online communities. Students can create their own subgroups by technology, language, and other special interests.
What does it mean to be an OSUM Affiliate Group?
An OSUM Affiliate Group is an OSUM group that can receive support from Sun Microsystems. Sun will provide materials via Activity Kits (which can include but not limited: data sheet, media kit, and or promotional items). Activity Kits are designed as events in box. With the contents of the Activity Kit, an OSUM Affiliate Group should be able to successfully hold an activity learning about an Open
Source Technology. Additionally, as part of the OSUM Affiliate Program, every OSUM Affiliate Group's School Name can be added to the School drop down menu.

OSUM group Page

SUN MICROSYSTEMS COLLABORATION WITH MAHARISHI DAYANAND UNIVERSITY ROHTAK

Join us on facebook

Sunday, September 27, 2009

Robotics for begineers

This series of Posts will give you an Idea about What all is Robotics and how can be begin learning it.

This posts are from my own experiences and your thoughts are open for discussion.

Haskell In Detail

Introduction

Categories: Tutorials | Language

Haskell is a computer programming language. In particular, it is a polymorphically statically typed, lazy, purely functional language, quite different from most other programming languages. The language is named for Haskell Brooks Curry, whose work in mathematical logic serves as a foundation for functional languages. Haskell is based on the lambda calculus, hence the lambda we use as a logo.


Contents
[hide]

* 1 Why use Haskell?
* 2 What is functional programming?
* 3 What's good about functional programming?
o 3.1 Quicksort in Haskell
o 3.2 Quicksort in C
o 3.3 Brevity
o 3.4 Ease of understanding
o 3.5 No core dumps
o 3.6 Code re-use
o 3.7 Strong glue
o 3.8 Powerful abstractions
o 3.9 Built-in memory management
* 4 When C is better
o 4.1 Functional vs imperative
* 5 What is Haskell?
* 6 Does anyone use functional programming?
* 7 Other frequently-asked questions
o 7.1 Is functional programming hard to learn?
o 7.2 Aren't functional programs very slow?
o 7.3 I already have a large application in C or C++.
o 7.4 What libraries does Haskell support?
o 7.5 What other software tools for Haskell are there?
o 7.6 Can I get a support contract or a help-line?
o 7.7 How can I learn Haskell?
o 7.8 Comparisons to other languages

[edit]
1 Why use Haskell?

Writing large software systems that work is difficult and expensive. Maintaining those systems is even more difficult and expensive. Functional programming languages, such as Haskell, can make it easier and cheaper. For example, a new user who wrote a small relational DBMS in Haskell had this to say:

WOW! I basically wrote this without testing just thinking about my program in terms of transformations between types. I wrote the test/example code and had almost no implementation errors in the code! The compiler/type-system is really really good at preventing you from making coding mistakes! I've never in my life had a block of code this big work on the first try. I am WAY impressed.

Even if you are not in a position to use Haskell in your programming projects, learning Haskell can make you a better programmer in any language.

I learned Haskell a couple of years ago, having previously programmed in Python and (many) other languages. Recently, I've been using Python for a project (the choice being determined by both technical and non-technical issues), and find my Python programming style is now heavily influenced (for the better, I hope ;-) by my Haskell programming experience.

Graham Klyne


Haskell offers you:

* Substantially increased programmer productivity (Ericsson measured an improvement factor of between 9 and 25 using Erlang, a functional programming language similar to Haskell, in one set of experiments on telephony software).
* Shorter, clearer, and more maintainable code.
* Fewer errors, higher reliability.
* A smaller "semantic gap" between the programmer and the language.
* Shorter lead times.

Haskell is a wide-spectrum language, suitable for a variety of applications. It is particularly suitable for programs which need to be highly modifiable and maintainable.

Much of a software product's life is spent in specification, design and maintenance, and not in programming. Functional languages are superb for writing specifications which can actually be executed (and hence tested and debugged). Such a specification then is the first prototype of the final program.

Functional programs are also relatively easy to maintain, because the code is shorter, clearer, and the rigorous control of side effects eliminates a huge class of unforeseen interactions.
[edit]
2 What is functional programming?

C, Java, Pascal, Ada, and so on, are all imperative languages. They are "imperative" in the sense that they consist of a sequence of commands, which are executed strictly one after the other. Haskell is a functional language. A functional program is a single expression, which is executed by evaluating the expression.

Anyone who has used a spreadsheet has experience of functional programming. In a spreadsheet, one specifies the value of each cell in terms of the values of other cells. The focus is on what is to be computed, not how it should be computed. For example:

* we do not specify the order in which the cells should be calculated - instead we take it for granted that the spreadsheet will compute cells in an order which respects their dependencies.
* we do not tell the spreadsheet how to allocate its memory - rather, we expect it to present us with an apparently infinite plane of cells, and to allocate memory only to those cells which are actually in use.
* for the most part, we specify the value of a cell by an expression (whose parts can be evaluated in any order), rather than by a sequence of commands which computes its value.

An interesting consequence of the spreadsheet's unspecified order of re-calculation is that the notion of assignment is not very useful. After all, if you don't know exactly when an assignment will happen, you can't make much use of it! This contrasts strongly with programs in conventional languages like C, which consist essentially of a carefully-specified sequence of assignments, or Java, in which the ordering of method calls is crucial to the meaning of a program.

This focus on the high-level "what" rather than the low-level "how" is a distinguishing characteristic of functional programming languages.

Another well-known nearly-functional language is the standard database query language SQL. An SQL query is an expression involving projections, selections, joins and so forth. The query says what relation should be computed, without saying how it should be computed. Indeed, the query can be evaluated in any convenient order. SQL implementations often perform extensive query optimization which (among other things) figures out the best order in which to evaluate the expression.
[edit]
3 What's good about functional programming?

Spreadsheets and SQL are both fairly specialized languages. Functional programming languages take the same ideas and move them into the realm of general-purpose programming. To get an idea of what a functional program is like, and the expressiveness of functional languages, look at the following quicksort programs. They both sort a sequence of numbers into ascending order using a standard method called "quicksort". The first program is written in Haskell and the second in C.

Whereas the C program describes the particular steps the machine must make to perform a sort -- with most code dealing with the low-level details of data manipulation -- the Haskell program encodes the sorting algorithm at a much higher level, with improved brevity and clarity as a result.
[edit]
3.1 Quicksort in Haskell

qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)

[edit]
3.2 Quicksort in C

void qsort(int a[], int lo, int hi) {
{
int h, l, p, t;

if (lo < hi) {
l = lo;
h = hi;
p = a[hi];

do {
while ((l < h) && (a[l] <= p))
l = l+1;
while ((h > l) && (a[h] >= p))
h = h-1;
if (l < h) {
t = a[l];
a[l] = a[h];
a[h] = t;
}
} while (l < h);

t = a[l];
a[l] = a[hi];
a[hi] = t;

qsort( a, lo, l-1 );
qsort( a, l+1, hi );
}
}

A semi-direct translation of the C is here.

Let's examine some of the benefits of Haskell and functional programming. A more detailed case for functional programming can be found in

Why Functional Programming Matters by John Hughes, The Computer Journal, Vol. 32, No. 2, 1989, pp. 98 - 107. Also in: David A. Turner (ed.): Research Topics in Functional Programming, Addison-Wesley, 1990, pp. 17 - 42.

A slightly less formal essay inspired by the paper above can be found in

Why Haskell Matters originally by Sebastian Sylvan

[edit]
3.3 Brevity

Functional programs tend to be much more concise than their imperative counterparts. Quicksort is a rather extreme case, but in general functional programs are much shorter (by a factor of two to ten).
[edit]
3.4 Ease of understanding

Functional programs are often easier to understand. You should be able to understand the program without any previous knowledge of either Haskell or quicksort. The same certainly cannot be said of the C program. It takes quite a while to understand, and even when you do understand it, it is extremely easy to make a small slip and end up with an incorrect program. Here is a detailed explanation of the Haskell quicksort:

qsort [] = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)

The first line reads: "When you sort an empty list ([]), the result is another empty list". The second line reads: "To sort a list whose first element is named x and the rest of which is named xs, sort the elements of xs that are less than x, sort the elements of xs that are greater than or equal to x, and concatenate (++) the results, with x sandwiched in the middle."
[edit]
3.5 No core dumps

Most functional languages, and Haskell in particular, are strongly typed, eliminating a huge class of easy-to-make errors at compile time. In particular, strong typing means no core dumps! There is simply no possibility of treating an integer as a pointer, or following a null pointer.
[edit]
3.6 Code re-use

Of course, strong typing is available in many imperative languages, such as Ada or Pascal. However, Haskell's type system is much less restrictive than, say, Pascal's, because it uses polymorphism.

For example, the qsort program given in Figure 1 will not only sort lists of integers, but also lists of floating point numbers, lists of characters, lists of lists; indeed, it will sort lists of anything for which it is meaningful to have "less-than" and "greater-than" operations. In contrast, the C version can only sort an array of integers, and nothing else.

Polymorphism enhances re-usability.
[edit]
3.7 Strong glue

"Non-strict" functional languages, such as Haskell, have another powerful feature: they only evaluate as much of the program as is required to get the answer - this is called lazy evaluation. This feature is rather like Unix pipes. For example, the Unix command

grep printf Foo.c | wc

counts the number of lines in the file Foo.c that include the string printf. The command

grep printf Foo.c

produces all lines which contain the string "printf", while the "wc" command counts them. The pipe, written "|", takes the output from the first command and delivers it to the second. The two commands execute together, so that the output of the first is consumed more-or-less immediately by the second. In this way, no large intermediate files need be produced. You can think of wc "demanding" lines from the grep.

If the second command only needs some of the output of the first, then execution of the first command might never need to be completed. For example,

grep printf Foo.c | head 5

just prints the first 5 lines which contain "printf". There is no need to modify the grep command to take account of the fact that its execution might be abandoned.

Non-strict languages provide exactly this kind of demand-driven evaluation. Data structures are evaluated just enough to deliver the answer, and parts of them may not be evaluated at all. As in the case of Unix commands, this provides powerful "glue" with which to compose existing programs together. What this means is that it is possible to re-use programs, or pieces of programs, much more often than can be done in an imperative setting. Lazy evaluation allows us to write more modular programs.
[edit]
3.8 Powerful abstractions

In general, functional languages offer powerful new ways to encapsulate abstractions. An abstraction allows you to define an object whose internal workings are hidden; a C procedure, for example, is an abstraction. Abstractions are the key to building modular, maintainable programs, so much so that a good question to ask of any new language is "what mechanisms for abstraction does it provide?".

One powerful abstraction mechanism available in functional languages is the higher order function. In Haskell a function is a first-class citizen: it can freely be passed to other functions, returned as the result of a function, stored in a data structure, and so on. It turns out that the judicious use of higher order functions can substantially improve the structure and modularity of many programs.
[edit]
3.9 Built-in memory management

Very many sophisticated programs need to allocate dynamic memory from a heap. In C this is done with a call to malloc, followed by code to initialize the store just allocated. The programmer is responsible for returning the store to the free pool when it isn't needed any more, a notorious source of "dangling-pointer" errors. To make matters worse, malloc is fairly expensive performance-wise, so programmers often malloc a single large chunk of store, and then allocate "by hand" out of this.

Every functional language relieves the programmer of this storage management burden. Store is allocated and initialized implicitly, and recovered automatically by the garbage collector. The technology of storage allocation and garbage collection is now well developed, and the performance costs are rather slight.
[edit]
4 When C is better

It isn't all roses, of course. The C quicksort uses an extremely ingenious technique, invented by Hoare, whereby it sorts the array in place; that is, without using any extra storage. As a result, it runs quickly, and in a small amount of memory. In contrast, the Haskell program allocates quite a lot of extra memory behind the scenes, and runs rather slower than the C program.

In effect, the C quicksort does some very ingenious storage management, trading this algorithmic complexity for a reduction in run-time storage management costs.

In applications where performance is required at any cost, or when the goal is detailed tuning of a low-level algorithm, an imperative language like C would probably be a better choice than Haskell, exactly because it provides more intimate control over the exact way in which the computation is carried out.
[edit]
4.1 Functional vs imperative

But few programs require performance at any cost! After all, we all stopped writing assembly-language programs, except perhaps for key inner loops, long ago. The benefits of having a more supportive programming model (an arbitrary number of named, local variables instead of a fixed number of registers, for example) far outweigh the modest run-time costs.

Similarly, we willingly accept the costs of a virtual memory paging system, in exchange for the more supportive programming model of an infinite virtual address space. The days of explicit memory overlays are over.

Functional languages take another large step towards a higher-level programing model. Programs are easier to design, write and maintain, but the language offers the programmer less control over the machine. For most programs the result is perfectly acceptable.
[edit]
5 What is Haskell?

Haskell is a modern, standard, non-strict, purely-functional programming language. It provides all the features sketched above, including polymorphic typing, lazy evaluation and higher-order functions. It also has an innovative type system which supports a systematic form of overloading and a module system.

It is specifically designed to handle a wide range of applications, from numerical through to symbolic. To this end, Haskell has an expressive syntax, and a rich variety of built-in data types, including arbitrary-precision integers and rationals, as well as the more conventional integer, floating-point and boolean types.

There are a number of compilers and interpreters available. All are free. First-time users may want to start with Hugs, a small, portable Haskell interpreter.

See also the History of Haskell
[edit]
6 Does anyone use functional programming?

Functional programming languages are used in substantial applications. For example:

* Software AG, a major German software company, market an expert system (Natural Expert) which is programmed in a functional language. Their users find it easy to develop their applications in this language, through which they gain access to an underlying database system. It all runs on an IBM mainframe.
* Ericsson have developed a new functional language, Erlang, to use in their future telephony applications. They have already written 130k-line Erlang applications, and find them very much shorter and faster to develop.
* Amoco ran an experiment in which they re-coded in Miranda, a lazy functional language, a substantial fraction of their main oil-reservoir simulation code, a critical application. The resulting program was vastly shorter, and its production revealed a number of errors in the existing software. Amoco subsequently transcribed the functional program into C++ with encouraging results.
* A researcher at the MITRE corporation is using Haskell to prototype his digital signal-processing applications.
* Researchers at Durham University used Miranda, and later Haskell, in a seven-year project to build LOLITA, a 30,000-line program for natural-language understanding.
* Query is the query language of the O2 object-oriented database system. O2Query is probably the most sophisticated commercially-available object-oriented database query language and it is a functional language.
* ICAD Inc market a CAD system for mechanical and aeronautical engineers. The language in which the engineers describe their design is functional, and it uses lazy evaluation extensively to avoid recomputing parts of the design which are not currently visible on the screen. This results in substantial performance improvements.
* An incestuous example: the Glasgow Haskell compiler is written in Haskell: a 100,000-line application.
* Pugs, the leading perl6 implementation is written in Haskell
* As is Darcs, a cutting edge distributed revision control system

Some other examples of Haskell in practice.

Clifford Beshers, of Linspire Inc., describes their experience with Haskell, and functional programming:

Linspire, Inc. has used functional programming since its inception in 2001, beginning with extensive use of O'Caml, with a steady shift to Haskell as its implementations and libraries have matured. Hardware detection, software packaging and CGI web page generation are all areas where we have used functional programming extensively.

Haskell's feature set lets us replace much of our use of little languages (e.g., bash or awk) and two-level languages (C or C++ bound to an interpreted language), allowing for faster development, better code sharing and ultimately faster implementations. Above all, we value static type checking for minimizing runtime errors in applications that run in unknown environments and for wrapping legacy programs in strongly typed functions to ensure that we pass valid arguments.

[edit]
7 Other frequently-asked questions
[edit]
7.1 Is functional programming hard to learn?

Functional programming does require a change in perspective, which some programmers find hard. But Ericsson's experience in training programmers in Erlang is that most find the transition easy - provided they take the training need seriously rather than assuming that they can "pick it up on the day".

[edit]
7.2 Aren't functional programs very slow?

They used to be, perhaps 20 years ago. But the compilers have long since caught up. Haskell programs run fast for all but the most performance-demanding applications. At the time of writing, Haskell compiled via GHC is in 2nd place (behind C) in the Great Language Shootout, with other functional languages also ranked highly.

[edit]
7.3 I already have a large application in C or C++.

Also worded as: Can I benefit from functional programming without rewriting my whole system?

Haskell has been successfully integrated into existing applications in a number of ways. HaskellDirect is an IDL (Interface Description Language) based tool that allows Haskell programs to work with software components. Low level C/C++ interfaces can be generated with Green Card or C->Haskell, allowing tight integration between Haskell and C. These tools have been used to build a large number of successful, mixed language systems.

[edit]
7.4 What libraries does Haskell support?

Many software libraries have been developed for Haskell. See the list of Haskell libraries for a list of much of what is available.

[edit]
7.5 What other software tools for Haskell are there?

Glasgow Haskell comes with a profiler which allows you to find which parts of your program are consuming most time and space. Chalmers Haskell has a space-profiling tool, and a quasi-parallel simulator which allows you to experiment with running your program in parallel. Hugs also has some similar tools. For a complete list, check the tools page.

[edit]
7.6 Can I get a support contract or a help-line?

It used to be the case that if you wanted help, you had to persuade a Haskell research group that your problem was interesting enough or important enough that they should spend time helping you for free.
Whilst that is still an option, there is now a directory of Haskell Consultants who provide:

* Support for compilers, tools and libraries.
* Help with improving code quality (time, space, robustness, maintainability, etc.) using code reviews and tools.
* Help with using libraries, tools and advanced Haskell features such as type system extensions, exception handling, the foreign function interface, test harnesses, and concurrency.
* Library and application development.
* Staff training.

These companies and individuals tend to work closely with those developing Haskell (indeed, they have usually made major contributions to Haskell themselves).

[edit]
7.7 How can I learn Haskell?

The easiest way to learn Haskell is with a textbook. There are a lot of online tutorials, but you'll have a much easier time to learn the basics from a book. After all, Haskell is very different from traditional mainstream languages, it's like learning programming anew.

[edit]
7.8 Comparisons to other languages

Click to see a table comparing features of Haskell to similar languages

Based on a paper by Simon Peyton Jones.

SOurce = http://www.haskell.org/haskellwiki/Introduction

Learn Haskell in 5 Easy Steps

http://www.haskell.org/haskellwiki/Haskell_in_5_steps

What is Haskell?

Haskell is an advanced purely functional programming language. An open source product of more than twenty years of cutting edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency and parallelism, debuggers, profilers, rich libraries and an active community, Haskell makes it easier to produce flexible, maintainable high-quality software.

http://www.haskell.org

Haskell tutorial For C Programmers

Saturday, September 26, 2009

Epiphany 2008 Pics

Robotics Epiphany 2008

Bots playing football!! at Inter-college techfest Epiphany '08, at MRCE, Faridabad, India. Teams slugging it out with minimal control of their robots, who simply refuse to listen!! Driving cars is one thing, Robots are a different species!!!






Sun MicroSystems collaborates with Maharishi Dayanand University , Rohtak

Sun Microsystems and Maharishi Dayanand University,Rohtak

This is a very good news for you as this will enhance your career because eventually you ll be SUN Certified (and on that certificate your university name would be printed) , which is globally accepted and honored.

TAKE your First STEP NOW and JOIN THE GROUP





List of Colleges with more than 100 members



Follow this Link to know more about :
Why shake Hands with SUN MICROSYSTEMS ???

LINE FOLLOWER ROBOT : Epiphany 2008

This is the Robotics Team of Manav Rachna College of Engineering , Faridabad participating at the INTER-COLLEGE Robotics Competition at Epiphany 2008.

Epiphany 08

Robotics , Epiphany 08 , Manav Rachna College of Engineering






The Team Was able to completed the track ...drifting the bot...in mere 7 Seconds...making it to RANK 1...with JSS Noida Coming 2nd Completing the track in 12 seconds...

Watch the Video!!!!!


ICC CHAMPIONS TROPHY INDIA VS PAKISTAN

Watch live Scores

TechnoKriti-Power of Youth



TechnoKriti-Power of Youth




INTERNET RELAY CHAT

Internet Relay Chat (IRC) is a form of realtime Internet chat. It is mainly designed for group (many-to-many) communication in discussion forums called channels, but also allows one-to-one communication via private message. On IRC you can talk to many other members using Ubuntu, on topics ranging from idle chit-chat to support with your Ubuntu. Though a channel might have many people in it at any one time, they might not always be at their keyboard; so if no-one responds, just wait around and someone will hopefully answer soon enough.
This page serves as an information base for users of the Ubuntu IRC channels. The Ubuntu channels can be found on the Freenode network, irc.freenode.net. XChat in Ubuntu has this network preconfigured and the main channel, #ubuntu, will automatically be joined. Kubuntu also comes with Konversation, which is also pre-configured for the Kubuntu help channels. When participating in Ubuntu IRC channels, please abide by the Code of Conduct and channel guidelines.
IRC Clients
The following is just a list of programs that you can use to enter the Ubuntu channels listed below.
Ubuntu & Xubuntu (GTK+)
Pidgin - Popular instant messaging software but also supports IRC. May be easier for beginners.
XChat - GUI based IRC client.
Smuxi - A cross-platform, flexible and user-friendly IRC client for GNOME.
LostIRC - A simple GTK IRC client.
Loqui - Another GTK client, with a range of features intermediate between XChat's and LostIRC's.
Kubuntu (QT)
Quassel - KDE4/Qt based, IRC client.
Konversation - KDE GUI based IRC client.
KvIRC - a more powerful, though less KDE-integrated, GUI client.
Kopete - Multi-protocol instant messaging and IRC software for KDE (no support for IRC in KDE4).
Console based
Irssi - Popular command line/text based IRC client.
WeeChat - Another popular command line/text based IRC client.
ERC - an IRC client for the Emacs editor.
Other operating systems
Free or shareware IRC clients are available for most systems. For those users who would rather not search for and install an IRC client on their system, the Freenode Webchat is suggested as a way to connect to the Ubuntu IRC channels.

Learn More On Internet Relay Chat
Download INTERNET RELAY CHAT CLIENT for






Thursday, September 24, 2009

Social Media

Our Small Location on Earth


View 28.450229, 77.285282 in a larger map

Tuesday, September 15, 2009

Contact Details

For Any Queries , Suggestions Contact

Send mail

Sunday, September 13, 2009

Youth Software Meet 2009 @ Manav Rachna College of Engineering







Join TechnoKriti on Leading Networks .

Thursday, August 27, 2009

Weblinks



Join SMS Channel of TECHNOKRITI and get updated!!!
(Gmail ID is necessary)

Official Email of TechnoKriti: "technokriti@gmail.com"

Technokriti Student Form

TechnoKriti Form



Please fill in the form to join TechnoKriti and Keep us Updated.

Thanks

Tuesday, August 18, 2009

See it ..Touch it..Use it!!!

I happened to stumble across some really cool technology last month. I was at the PC Magazine 25th anniversary party (yes it was as exciting as it sounds) and I was staring at the coffee table in front of me, which had a scene from a beach shore being projected onto it from above. The killer thing was, if you touched the water, ripples were sent out as if it were really there. Smack the table and the whole water surface becomes visibly distorted, as if it were real. The technology had the whole place in awe. Everyone was poking the coffee table and dragging their hands across the surface in order to see how it would affect the projected image of water.

The technology behind the demonstration comes from a Cologne, Germany company called Vertigo Systems. The company has found a way to mount a camera on a projector that is capable of defining a space and (through the help of some great software and really fast computer processors) can alter a projected image in real time, based on whatever the camera sees you doing.

Everybody is jumping into this technology in some form or another. While Vertigo is doing it with projectors, Microsoft Corp. is out flogging it's Surface device. During his keynote speech at CES, Microsoft co-founder Bill Gates showed off how some stores are already using the device. One very proud snowboard shop was used as a specific example. Using Surface, people can pick a virtual snowboard, apply virtual decals and even hand draw a design on the board before they buy it. Once they see how everything looks, they confirm their purchase and the design is sent to manufacturing. Another use for the Surface is believed to be in restaurants, where they could replace traditional wait staff. Instead of looking a menu, everything the shop has to offer appears on the screen in front of you. Just scroll through the selections, pick what you want and hit go. The food is brought right to you. When it's time to pay, just drop a credit card on the surface. The table reads the micro-chip embedded in the card and charges your account.

Other companies are jumping in on this too, with some even trying to replace the walls of office cubicles with touch screen panels that allow people to post virtual sticky notes, conduct video conference calls and interact with staff and customers in ways that have traditionally been impossible to do. Then there are other companies such as Heliodisplay that are doing things like this.

Source: http://communities.canada.com/ottawacitizen/blogs/bitsandbytes/archive/2008/01/22/see-it-touch-it-use-it.aspx
It all seems really far fetched and "out there". But, when you add up all of the technology available, it won't take very long before we live in a "Minority Report"
world.







Project Maestro

Cynergy Labs is working on some cool technology! Using the concepts that Johnny Chung Lee introduced as a building block. This system uses the Wiimote as a camera looking at the users fingers to determine what the user wants to do. I can see this technology being built into laptops and other computer system in the near future to be used at an additional input device.

“Maestro brings together Microsoft WPF, third party community libraries and custom built IR gloves to demonstrate next generation human to computer interfaces.”

Official Movie :MICROSOFT OFFICE 2010

Creater of Jquery

Creater of Jquery

Support Unite Share Engage Inspire Change


Come be a part of something new; something bold - The Indian Youth Climate Network.

For joining refer to

www.iycn.in/join

Home : www.iycn.in

Twitter : http://twitter.com/iycn





Support Unite Share Engage Inspire Change


Come be a part of something new; something bold - The Indian Youth Climate Network.

For joining refer to

www.iycn.in/join

Home : www.iycn.in

Twitter : http://twitter.com/iycn