Friday, October 7, 2016

Algorithms 4th Edition - Robert Sedgewick and Kevin Wayne

              Ebook Size : 12 MB

              Download : Algorithms 4th Edition (PDF)

Online course. You can take our free Coursera MOOCs Algorithms, Part I and Algorithms, Part II. They include a full set of lecture videos and assessments.

The objective of this book is to study a broad variety of important and useful algorithms—methods for solving problems that are suited for computer implementation. Algorithms go hand in hand with data structures—schemes for organizing data that leave them amenable to efficient processing by an algorithm. This chapter introduces the basic tools that we need to study algorithms and data structures.

First, we introduce our basic programming model. All of our programs are implemented using a small subset of the Java programming language plus a few of our own libraries for input/output and for statistical calculations. Section 1.1 is a summary of language constructs, features, and libraries that we use in this book. Next, we emphasize data abstraction, where we define abstract data types (ADTs) in the service of modular programming. In Section 1.2 we introduce the process of implementing an ADT in Java, by specifying an applications programming interface (API) and then using the Java class mechanism to develop an implementation for use in client code.

As important and useful examples, we next consider three fundamental ADTs: the bag, the queue, and the stack. Section 1.3 describes APIs and implementations of bags, queues, and stacks using arrays, resizing arrays, and linked lists that serve as models and starting points for algorithm implementations throughout the book. Performance is a central consideration in the study of algorithms. Section 1.4 describes our approach to analyzing algorithm performance. The basis of our approach is the scientific method: we develop hypotheses about performance, create mathematical models, and run experiments to test them, repeating the process as necessary.

Tuesday, October 4, 2016

Introducing Windows Server 2016 - John McCabe

             Ebook Size : 13.4 MB

             Download : Introducing Windows Server 2016 PDF

If you run an IT environment today, how do you meet the aforementioned challenges? Can your applications and infrastructure meet the demands placed on it? Can you meet the rate of innovation the cloud offers or the agility and speed of delivery? In these respects, there are an increasing number of challenges facing the on-premises infrastructure.

However, not everyone is ready to move to the cloud, and there will be many cases in which you can’t because of a multitude of reasons; for example, contractual commitments that stipulate data can’t move to the cloud.

Simply put, Windows Server 2016 is the cloud-ready operating system (OS) that delivers new layers of security and Microsoft Azure-inspired innovation for the applications and infrastructure that power your business. For this release, Microsoft has spent a considerable amount of time reaching out to customers and gathering feedback of what is important and how it can meet the future needs for customer’s infrastructures.

Windows Server 2016 gives you the power to prevent attacks and detect suspicious activity with new features to control privileged access, protect virtual machines (VMs), and harden the platform against emerging threats.

  • Build highly available and scalable software-defined storage at a fraction of the cost of a Storage Area Network (SAN) or Network-Attached Storage (NAS). Storage Spaces Direct uses standard servers with local storage to create converged or hyper-converged storage architectures.
  • Create affordable business continuity and disaster recovery among datacenters with Storage Replica synchronous storage replication.
  • Ensure that users of business-critical applications have priority access to storage resources using Storage Quality of Service (QoS) features.

Microsoft loves Linux!

It is no secret that Microsoft has made major investments to ensure Linux gets an enterprise grade experience in the Microsoft ecosystem. Microsoft has made contributions to the Linux kernel and actively maintains the Linux Integration Services (LIS) to ensure a fully enlightened experienced while running Linux on Hyper-V.

Microsoft fully supports the following distributions on Hyper-V today, with more being added in the future.

  • Red Hat Linux
  • SUSE
  • OpenSUSE
  • CentOS
  • Ubuntu
  • Debian
  • Oracle Linux

Monday, October 3, 2016

Hacking Matter - Wil McCarthy

   Ebook Size : 2.3 MB

   Download : Hacking Matter - WIL MCCARTHY

"When he experimented with lightning, Ben Franklin mused that electricity 'might someday prove of use.' Now comes Wil McCarthy, offering a peek at something so potentially transforming, our grandchildren may build civilizations around it. If even a few of these possibilities come true, you'll always remember you heard it here first." -- David Brin, author of The Transparent Society

"Programmable substances and futuristic computers will revolutionize our lives and allow us to soar beyond the limits of our intuition. No book better describes the impact of hypercomputing and the dazzling wealth of new materils coming our way than Hacking Matter." -- Clifford A. Pickover, author of The Mathematics of Oz

"A grand tour of cutting-edge research: alchemy, 21st century style. The author makes an informative case for the promising, even magical, potential of programmable atoms." -- Publishers Weekly

McCarthy effectively conveys the inherent gee-whiz character of his subject. A fascinating glimpse of research that may in a few years find its way into our everyday lives." --Kirkus Reviews

"[T]he book's science is solid and McCarthy's fervor genuinely infectious. The future never felt so close." -- Jennifer Kahn, WIRED

"McCarthy blends lucid nuts-and-bolts explanations of 'quantum dots' and other developing technologies with healthy doses of 'You ain't seen nothin' yet' descriptions of speculative applications. A fascinating book for any reader intrigued by new technologies." -- Barnes and Noble

"Promises to create a thunderclap of change. McCarthy takes a fantastical concept, coolly explaining it in a plausible way, and helps even the most science-deficient reader to understand how 'hacking matter' works, and what it means for all of us." -- Dallas Morning News
At the nanoscale, where we find very tiny, very simple objects like the water molecule (about 0.3 nm across at its widest), these rules barely apply at all. Instead, the behavior of particles is governed by quantum mechanics, that elusive and slippery physics pioneered in the time of Einstein. Quantum mechanics is almost completely counterintuitive; your "gut feel" about how a particle should behave is virtually useless for predicting what it will actually do. This is because on the nanoscale, what we call "particles" are really probability waves -- regions where a particle-like phenomenon is more or less likely to occur. Probability waves can do "impossible" things like leaping across an impenetrable barrier, or existing in many places at the same time, or apparently predicting the future, or being influenced by distant events much faster than the speed of light should allow.

Sunday, October 2, 2016

The Collected Papers of Albert Einstein

        Read Online

Friday, September 30, 2016

Docker for Java Developers - Arun Gupta

                       Ebook Size : 5.3 MB

                       Download : Docker for Java Developers

Docker is a seeming overnight sensation in application development and delivery. Only a few years ago it was a small open source project like many others. Now Docker is firmly established as a fundamental technology for companies that are moving applications to the cloud, building microservices, adopting continuous integration and delivery, or even simply making traditional style apps more secure, resilient, and robust.

Not that long ago, Java was an overnight sensation of its own. Java helped bring object-oriented programming to the mainstream, while combining high performance and broad portability of code. Java is now the most popular and widely used programming language. NGINX is extremely popular in the Docker world and, to a growing degree, the Java world as well. So uniting Docker, Java, and NGINX makes great sense.

Luckily, it’s Arun Gupta who has stepped up to bring these technologies together. Arun was a driving force behind the development and early popularity of Java, first at Sun, then at Oracle. He’s continued to work at the cutting edge of technology, helping to evangelize both Docker and Kubernetes. In this ebook, Arun provides a complete introduction and user’s guide to Docker for Java developers. Arun explains why Docker is so important, then shows how Java developers can easily develop and deploy their first Java application using popular, Java-friendly tools––including NGINX.

Docker simplifies software delivery by making it easy to build, ship, and run distributed applications. It provides a common runtime API, image format, and toolset for building, shipping, and running containers on Linux. At the time of writing, there is no native support for Docker on Windows and OS X.

Docker images are read-only templates from which Docker containers are launched. Each image consists of a series of layers. Docker makes use of a union filesystem to combine these layers into a single image. Union filesystems allow files and directories of separate file‐systems, known as branches, to be transparently overlaid, forming a single coherent filesystem. One of the reasons Docker is so lightweight is because of these layers. When you change a Docker image—for example, update an application to a new version—a new layer gets built.

Saturday, September 24, 2016

Bitcoin and Cryptocurrency Technologies

                     Ebook Size :  18 MB
                     Download : Bitcoin and Cryptocurrency Technologies

There’s a lot of excitement about Bitcoin and cryptocurrencies. Optimists claim that Bitcoin will fundamentally alter payments, economics, and even politics around the world. Pessimists claim Bitcoin is inherently broken and will suffer an inevitable and spectacular collapse.

Underlying these differing views is significant confusion about what Bitcoin is and how it works. We wrote this book to help cut through the hype and get to the core of what makes Bitcoin unique. To really understand what is special about Bitcoin, we need to understand how it works at a technical level. Bitcoin truly is a new technology and we can only get so far by explaining it through simple analogies to past technologies.

We’ll assume that you have a basic understanding of computer science — how computers work, data structures and algorithms, and some programming experience. If you’re an undergraduate or graduate student of computer science, a software developer, an entrepreneur, or a technology hobbyist, this textbook is for you. In this book we’ll address the important questions about Bitcoin. How does Bitcoin work? What makes it different? How secure are your bitcoins? How anonymous are Bitcoin users? What applications can we build using Bitcoin as a platform? Can cryptocurrencies be regulated? If we were designing a new cryptocurrency today, what would we change? What might the future hold? Each chapter has a series of homework questions to help you understand these questions at a deeper level. In addition, there is a series of programming assignments in which you’ll implement various components of Bitcoin in simplified models. If you’re an auditory learner, most of the material of this book is also available as a series of video lectures. You can find all these on our Coursera course. You should also supplement your learning with information you can find online including the Bitcoin wiki, forums, and research papers, and by interacting with your peers and the Bitcoin community. After reading this book, you’ll know everything you need to be able to separate fact from fiction when reading claims about Bitcoin and other cryptocurrencies. You’ll have the conceptual foundations you need to engineer secure software that interacts with the Bitcoin network. And you’ll be able to integrate ideas from Bitcoin into your own projects. 

About the authors 


Arvind Narayanan @random_walker

Arvind Narayanan is an Assistant Professor of Computer Science at Princeton. Narayanan leads the Princeton Web Transparency and Accountability project that aims to uncover how companies are collecting and using our personal information. He also leads a research group studying the security, anonymity, and stability of Bitcoin and cryptocurrencies. His doctoral research showed that data anonymization is broken in fundamental ways, for which he jointly received the 2008 Privacy Enhancing Technologies Award. 

Joseph Bonneau @josephbonneau

Joseph Bonneau is a Technology Fellow at the Electronic Frontier Foundation and Postdoctoral Researcher at Stanford. In addition to researching Bitcoin and cryptocurrencies he has worked on passwords and web authentication, secure messaging tools, and HTTPS for secure web browsing. Earlier he was as a Postdoctoral Fellow at CITP, Princeton and he has previously worked at Google, Yahoo, and Cryptography Research Inc. He received a PhD from the University of Cambridge and an MS from Stanford.

Edward W. Felten @EdFelten

Edward Felten is a Professor of Computer Science and Public Affairs at Princeton, and the founding Director of the Center for Information Technology Policy. In 2011-12 he served as the first Chief Technologist at the U.S. Federal Trade Commission. His research interests include computer security and privacy, and technology law and policy. He has published more than 100 papers in the research literature, and two books. His research on topics such as Internet security, privacy, copyright and copy protection, and electronic voting has been covered extensively in the popular press.

Andrew Miller @socrates1024

Andrew Miller is an Assistant Professor of Computer Science at the University of Illinois at Urbana-Champaign, and previously received his Ph.D. from the University of Maryland. He has studied cryptocurrencies since 2011, and has authored scholarly papers on a wide range of original research, including new proof-of-work puzzle constructions, programming languages for block chain data structures, and peer-to-peer network measurement and simulation techniques. He is an Associate Director of the Initiative for Cryptocurrencies and Contracts (IC3) at Cornell and an advisor to the Zcash project. 

Steven Goldfeder @sgoldfed

Steven Goldfeder is a PhD student in the Department of Computer Science at Princeton University, advised by Arvind Narayanan. He is a member of the Security & Privacy Research Group, a CITP Graduate Student Fellow, and a National Science Foundation Graduate Research Fellow. His research interests include cryptography, security, and privacy, especially decentralized digital currencies. His current work involves increasing the security of Bitcoin wallets. 

Jeremy Clark @pulpspy

Jeremy Clark is is an Assistant Professor at the Concordia Institute for Information Systems Engineering in Montreal. He received his PhD from the University of Waterloo in 2011, where he applied cryptography to designing and deploying verifiable voting systems, including Scantegrity — the first use of an end-to-end verifiable system in a public sector election. He became interested in Bitcoin in 2010 and published one of the first academic papers in the area. Beyond research, he has worked with several municipalities on voting technology and testified to the Canadian Senate on Bitcoin.