Saturday, April 16, 2016

The Autobiography of Benjamin Franklin


    Ebook Size : 771 KB

    Download : The Autobiography of Benjamin Franklin

Thursday, April 14, 2016

Einstein - His Life and Universe - Walter Isaacson


                        Ebook Size: 8.6 MB

                        Download: Einstein - His Life and Universe


How did his mind work? What made him a genius? Isaacson’s biography shows how his scientific imagination sprang from the rebellious nature of his personality. His fascinating story is a testament to the connection between creativity and freedom.

Based on newly released personal letters of Einstein, this book explores how an imaginative, impertinent patent clerk—a struggling father in a difficult marriage who couldn’t get a teaching job or a doctorate—became the mind reader of the creator of the cosmos, the locksmith of the mysteries of the atom and the universe. His success came from questioning conventional wisdom and marveling at mysteries that struck others as mundane. This led him to embrace a morality and politics based on respect for free minds, free spirits, and free individuals.

These traits are just as vital for this new century of globalization, in which our success will depend on our creativity, as they were for the beginning of the last century, when Einstein helped usher in the modern age.

“I promise you four papers,”  The patent examiner wrote his friend. The letter would turn out to bear some of the most significant tidings in the history of science, but its momentous nature was masked by an impish tone that was typical of its author. He had, after all, just addressed his friend as “you frozen whale”and apologized for writing a letter that was “inconsequential babble.” Only when he got around to describing the papers, which he had produced during his spare time, did he give some indication that he sensed their significance. “The first deals with radiation and the energy properties of light and is very revolutionary,” he explained. Yes, it was indeed revolutionary. It argued that light could be regarded not just as a wave but also as a stream of tiny particles called quanta. The implications that would eventually arise from this theory—a cosmos without strict causality or certainty—would spook him for the rest of his life.

“The second paper is a determination of the true sizes of atoms.” Even though the very existence of atoms was still indispute, this was the most straightforward of the papers, which is why he chose it as the safest bet for his latest attempt at a doctoral thesis. He was in the process of revolutionizing physics, but he had been repeatedly thwarted in his efforts to win an academic job or even get a doctoral degree, which he hoped might get him promoted from a third- to a second-class examiner at the patent office. The third paper explained the jittery motion of microscopic particles in liquid by using a statistical analysis of random collisions. In the process, it established that atoms and molecules actually exist.

“The fourth paper is only a rough draft at this point, and is an electrodynamics of moving bodies which employs a modification of the theory of space and time.” Well, that was certainly more than inconsequential babble. Based purely on thought experiments—performed in his head rather than in a lab—he had decided to discard Newton’s concepts of absolute space and time. It would become known as the Special Theory of Relativity.

What he did not tell his friend, because it had not yet occurred to him, was that he would produce a fifth paper that year, a short addendum to the fourth, which posited a relationship between energy and mass. Out of it would arise the best-known equation in all of physics: E=mc 2 .

Sunday, April 10, 2016

Mathics - A free, light-weight alternative to Mathematica

    
      Ebook Size : 2 MB

      Download : Mathics - A free, light-weight alternative to Mathematica

Mathics—to be pronounced like “Mathematics” without the “emat”—is a general-purpose computer algebra system (CAS). It is meant to be a free, light-weight alternative to Mathematica®. It is free both as in “free beer” and as in “freedom”. There are various online mirrors running Mathics but it is also possible to run Mathics locally. A list of mirrors can be found at the Mathics homepage, http://mathics.github.io.

The programming language of Mathics is meant to resemble Wolfram's famous Mathematica® as much as possible. However, Mathics is in no way affiliated or supported by Wolfram. Mathics will probably never have the power to compete with Mathematica® in industrial applications; yet, it might be an interesting alternative for educational purposes.

Why yet another Computer Algebra System?

Mathematica® is great, but it has one big disadvantage: It is not free. On the one hand, people might not be able or willing to pay hundreds of dollars for it; on the other hand, they would still not be able to see what's going on “inside” the program to understand their computations better. That's what free software is for!

Mathics aims at combining the best of both worlds: the beauty of Mathematica® backed by a free, extensible Python core.

Of course, there are drawbacks to the Mathematica® language, despite all its beauty. It does not really provide object orientation and especially encapsulation, which might be crucial for big software projects. Nevertheless, Wolfram still managed to create their amazing Wolfram|Alpha entirely with Mathematica®, so it can't be too bad!

However, it is not even the intention of Mathics to be used in large-scale projects and calculations—at least not as the main framework—but rather as a tool for quick explorations and in educating people who might later switch to Mathematica®.

Saturday, March 26, 2016

Advanced Linux Programming by Mark Mitchell, Jeffrey Oldham, and Alex Samuel

               
                Ebook Size: 3.7 MB
                Download : Advanced Linux Programming

GNU/Linux has taken the world of computers by storm. At one time, personal computer users were forced to choose among proprietary operating environments and applications. Users had no way of fixing or improving these programs, could not look “under the hood,” and were often forced to accept restrictive licenses. GNU/Linux and other open source systems have changed that—now PC users, administrators, and developers can choose a free operating environment complete with tools, applications, and full source code.

A great deal of the success of GNU/Linux is owed to its open source nature. Because the source code for programs is publicly available, everyone can take part in development, whether by fixing a small bug or by developing and distributing a complete major application.This opportunity has enticed thousands of capable developers worldwide to contribute new components and improvements to GNU/Linux, to the point that modern GNU/Linux systems rival the features of any proprietary system, and distributions include thousands of programs and applications spanning many CD-ROMs or DVDs.

The success of GNU/Linux has also validated much of the UNIX philosophy. Many of the application programming interfaces (APIs) introduced in AT&T and BSD UNIX variants survive in Linux and form the foundation on which programs are built.The UNIX philosophy of many small command line-oriented programs working together is the organizational principle that makes GNU/Linux so powerful. Even when these programs are wrapped in easy-to-use graphical user interfaces, the underlying commands are still available for power users and automated scripts. A powerful GNU/Linux application harnesses the power of these APIs and commands in its inner workings. GNU/Linux’s APIs provide access to sophisticated features such as interprocess communication, multithreading, and high-performance networking. And many problems can be solved simply by assembling existing commands and programs using simple scripts.

This book is intended for three types of readers:

You might be a developer already experienced with programming for the GNU/Linux system, and you want to learn about some of its advanced features and capabilities.You might be interested in writing more sophisticated programs with features such as multiprocessing, multithreading, interprocess communication, and interaction with hardware devices.You might want to improve your programs by making them run faster, more reliably, and more securely, or by designing them to interact better with the rest of the GNU/Linux system.

1. GNU is a recursive acronym: It stands for “GNU’s Not UNIX.”

You might be a developer experienced with another UNIX-like system who’s interested in developing GNU/Linux software, too.You might already be familiar with standard APIs such as those in the POSIX specification.To develop GNU/Linux software, you need to know the peculiarities of the system, its limitations, additional capabilities, and conventions. You might be a developer making the transition from a non-UNIX environment, such as Microsoft’s Win32 platform.You might already be familiar with the general principles of writing good software, but you need to know the specific techniques that GNU/Linux programs use to interact with the system and with each other. And you want to make sure your programs fit naturally into the GNU/Linux system and behave as users expect them to.

You might be a developer experienced with another UNIX-like system who’s interested in developing GNU/Linux software, too.You might already be familiar with standard APIs such as those in the POSIX specification.To develop GNU/Linux software, you need to know the peculiarities of the system, its limitations, additional capabilities, and conventions. You might be a developer making the transition from a non-UNIX environment, such as Microsoft’s Win32 platform.You might already be familiar with the general principles of writing good software, but you need to know the specific techniques that GNU/Linux programs use to interact with the system and with each other. And you want to make sure your programs fit naturally into the GNU/Linux system and behave as users expect them to.

Friday, March 25, 2016

How To Think Like A Computer Scientist: C++ Version Allen B. Downey


              Ebook Size : 1.3 MB

              Download : How To Think Like A Computer Scientist: C++ Version


The programming language you will be learning is C++, because that is the language the AP exam is based on, as of 1998. Before that, the exam used Pascal. Both C++ and Pascal are high-level languages; other high-level languages you might have heard of are Java, C and FORTRAN. As you might infer from the name “high-level language,” there are also low-level languages, sometimes referred to as machine language or assembly language. Loosely-speaking, computers can only execute programs written in low-level languages. Thus, programs written in a high-level language have to be translated before they can run. This translation takes some time, which is a small disadvantage of high-level languages.

One of the most important skills you should acquire from working with this book is debugging. Although it can be frustrating, debugging is one of the most intellectually rich, challenging, and interesting parts of programming. In some ways debugging is like detective work. You are confronted with clues and you have to infer the processes and events that lead to the results you see.

Debugging is also like an experimental science. Once you have an idea what is going wrong, you modify your program and try again. If your hypothesis was correct, then you can predict the result of the modification, and you take a step closer to a working program. If your hypothesis was wrong, you have to come up with a new one. As Sherlock Holmes pointed out, “When you have eliminated the impossible, whatever remains, however improbable, must be the truth.” (from A. Conan Doyle’s The Sign of Four).

Friday, February 12, 2016

A Field Guide to Genetic Programming


   Ebook Size : 3.6 MB

   Download : A Field Guide to Genetic Programming


The goal of having computers automatically solve problems is central to artificial intelligence, machine learning, and the broad area encompassed by what Turing called “machine intelligence” (Turing, 1948). Machine learning pioneer Arthur Samuel, in his 1983 talk entitled “AI: Where It Has Been and Where It Is Going” (Samuel, 1983), stated that the main goal of the fields of machine learning and artificial intelligence is: “to get machines to exhibit behaviour, which if done by humans, would be assumed to involve the use of intelligence.” Genetic programming (GP) is an evolutionary computation (EC) 1 technique that automatically solves problems without requiring the user to know
or specify the form or structure of the solution in advance. At the most abstract level GP is a systematic, domain-independent method for getting computers to solve problems automatically starting from a high-level statement of what needs to be done.

Since its inception, GP has attracted the interest of myriads of people around the globe. This book gives an overview of the basics of GP, summarised important work that gave direction and impetus to the field and discusses some interesting new directions and applications. Things continue to change rapidly in genetic programming as investigators and practitioners discover new methods and applications. This makes it impossible to cover all aspects of GP, and this book should be seen as a snapshot of a particular moment in the history of the field.