A complete textbook on computer architecture and assembly language programming, as a website, in easy-to-digest pages.
The Joy of Cryptography is a free undergraduate textbook that introduces students to the fundamentals of provable security.
CORE (Curriculum Open-access Resources in Economics)
CORE’s vision is that a radically transformed economics education can contribute to a more just, sustainable, and democratic world in which future citizens are empowered by a new economics to understand and debate how best to address pressing societal problems.
Can also be downloaded as a .pdf.
Welcome to "The Fuzzing Book"! Software has bugs, and catching bugs can involve lots of effort. This book addresses this problem by automating software testing, specifically by generating tests automatically. Recent years have seen the development of novel techniques that lead to dramatic improvements in test generation and software testing. They now are mature enough to be assembled in a book – even with executable code.
You can read chapters in your browser. Check out the list of chapters in the menu above, or start right away with the introduction to testing or the introduction to fuzzing. All code is available for download.
You can interact with chapters as Jupyter Notebooks (beta). This allows you to edit and extend the code, experimenting live in your browser. Simply select "Resources $\rightarrow$ Edit as Notebook" at the top of each chapter. Try interacting with the introduction to fuzzing.
You can use the code in your own projects. You can download the code as Python programs; simply select "Resources $\rightarrow$ Download Code" for one chapter or "Resources $\rightarrow$ All Code" for all chapters. These code files can be executed, yielding (hopefully) the same results as the notebooks. Even easier: Install the fuzzingbook Python package.
You can present chapters as slides. This allows for presenting the material in lectures. Just select "Resources $\rightarrow$ View slides" at the top of each chapter. Try viewing the slides for the introduction to fuzzing.
An online textbook about designing applications at scale.
This textbook acts as a hands-on introduction to the areas of DSP, SDR, and wireless communications. It is designed for someone who is:
An example is a Computer Science student interested in a job involving wireless communications after graduation, although it can be used by anyone itching to learn about SDR who has programming experience. As such, it covers the necessary theory to understand DSP techniques without the intense math that is usually included in DSP courses. Instead of burying ourselves in equations, an abundance of images and animations are used to help convey the concepts, such as the Fourier series complex plane animation below. I believe that equations are best understood after learning the concepts through visuals and practical exercises. The heavy use of animations is why PySDR will never have a hardcopy version being sold on Amazon.
Drafts of the ebook Pentesting Hardware: A Practical Guide by Mark Carney.
Bonita, Ruth, Beaglehole, Robert, Kjellström, Tord & World Health Organization. (2006). Basic epidemiology, 2nd ed. World Health Organization.
Teacher's guide for basic epidemiology, WHO document no. WHO/EHG/94.10
213 p.
ISBN
9783456852546 (German, 2013)
9241547073
9789241547079
9784901433044 (Japanese)
9783456845357 (German)
8872660319 (Italian)
9789645190314 (Persian)
9788572888394 (Portuguese)
9789144053806 (Swedish)
8386052716 (Polish)
Format: PDF
Upload to the Internet Archive? Mirror on my website?
In this Github repository, I'm documenting my journey to write a self-compiling compiler for a subset of the C language. I'm also writing out the details so that, if you want to follow along, there will be an explanation of what I did, why, and with some references back to the theory of compilers.
But not too much theory, I want this to be a practical journey.
A book that teaches the basics of reverse engineering software. CC-BY-SA. Has its own Git repo. Available in multiple languages.
In this book we will create a programming language together.
We'll start with 0 lines of code and end up with a fully working interpreter for the Monkey* programming language.
Step by step. From tokens to output. All code shown and included. Fully tested.
David MacKay has put the textbook he wrote online for everyone to download in a variety of formats. If you find it useful, consider buying a copy.
The full text of The Handbook of Applied Cryptography, one of the best textbooks available in the field. The original authors have gotten permission from the publisher to put the text online as sets of PostScript and .pdf files for anyone to download and share.
Homepage for a pair of textbooks on quantum mechanics that heavily use multimedia presentations to explain the complex concepts (well, all of them).
A Creative Commons handbook that teaches the legal, social, and technical aspects of open data. Teaches not only what you can do with an open data set, but how to go about getting datasets opened to analysis. If you're looking for a hands-on nitty-gritty book about mining open data, however, this isn't it.
Ross Anderson put the entire second edition of Security Engineering on his website for free download. It's been very highly rated and recommended. Each chapter comes in its own PDF so be prepared to use a downloader to grab it all.
A free and libre textbook of OS design and implementation on the x86 architecture. The full book can be read here or downloaded as a PDF from this site, or you can check out the book from its Github repository (https://github.com/littleosbook/littleosbook).