Computer ScienceScience & MathematicsEconomics & FinanceBusiness & ManagementPolitics & GovernmentHistoryPhilosophy
Producing Open Source Software
The corporate market is now embracing free, "open source" software like never before, as evidenced by the recent success of the technologies underlying LAMP (Linux, Apache, MySQL, and PHP). Each is the result of a publicly collaborative process among numerous developers who volunteer their time and energy to create better software. The...
Eloquent JavaScript
JavaScript lies at the heart of almost every modern web application, from social apps like Twitter to browser-based game frameworks like Phaser and Babylon. Though simple for beginners to pick up and play with, JavaScript is a flexible, complex language that you can use to build full-scale applications. This much anticipated and thoroughly revis...
The Security Development Lifecycle
Your customers demand and deserve better security and privacy in their software. This book is the first to detail a rigorous, proven methodology that measurably minimizes security bugs - the Security Development Lifecycle (SDL). In this long-awaited book, security experts Michael Howard and Steve Lipner from the Microsoft Security Engineering Team ...
Practices of the Python Pro
Professional developers know the many benefits of writing application code that's clean, well-organized, and easy to maintain. By learning and following established patterns and best practices, you can take your code and your career to a new level. With Practices of the Python Pro, you'll learn to design professional-level, clean, easi...
Hacking Portugal
As technology and software become more and more important to Portuguese society, it is time for Portugal to take them more seriously, and become a real player in that world. This book discusses several ideas to make Portugal a place where programming, TDD, Open Source, learning how to code, hacking (aka bug-bounty style), and DevOps receive the con...
Debugging with GDB
The GNU Debugger allows you to see what is going on "inside" a program while it executes - or what a program was doing at the moment it crashed. GDB supports C, C++, Java, Fortran and Assembly among other languages; it is also designed to work closely with the GNU Compiler Collection (GCC). The GNU Debugger Program has four special featur...
Getting Started with InnerSource
Welcome to InnerSource, the powerful movement for developing open source software within the walls of a single organization, where the "openness" of a project extends across teams inside the company. In this report, O'Reilly editor and author Andy Oram takes you inside InnerSource, first by reviewing the principles that make open sou...
Designing Scalable JavaScript Applications
If you've ever written a non-trivial JavaScript application, you know that creating a code base that's easy to maintain and scales well over time is no small feat. The complexity only grows as the project becomes larger. While it's impossible to plan for every change that could possibly happen over the life of a project, you can help...
Defensive Database Programming with SQL Server
Resilient T-SQL code is code that is designed to last, and to be safely reused by others. The goal of defensive database programming, the goal of this book, is to help you to produce resilient T-SQL code that robustly and gracefully handles cases of unintended use, and is resilient to common changes to the database environment. Too often as deve...
Building Secure and Reliable Systems
Can a system be considered truly reliable if it isn't fundamentally secure? Or can it be considered secure if it's unreliable? Security is crucial to the design and operation of scalable systems in production, as it plays an important part in product quality, performance, and availability. In this book, experts from Google share best prac...
DevOps: WTF?
"DevOps" is creating a lot of anxiety amongst the IT professionals of the world. It's also causing a bit of a boom for technology marketing people, who in turn are making the whole concept confusing for businesses and professionals alike. This is an effort to set the record straight for someone who might be feeling a little vague ...
Android Notes for Professionals
The Android Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow....
The Little Redis Book
The book is many years old, but still relevant. Redis has evolved a lot, but most of that has been in the form of internal improvements, new advanced features (like lua scripting) and awesome new data types. The best way to learn Redis is still to start by understanding the fundamentals presented in this book....
The Art of Community
Online communities provide a wide range of opportunities for supporting a cause, marketing a product or service, or building open source software. The Art of Community helps you recruit members, motivate them, and manage them as active participants. Author Jono Bacon offers experiences and observations from his 14-year effort to build and manage co...
Category Theory for Programmers
Category Theory is one of the most abstract branches of mathematics. It is usually taught to graduate students after they have mastered several other branches of mathematics, like algebra, topology, and group theory. It might, therefore, come as a shock that the basic concepts of category theory can be explained in relatively simple terms to anybod...
Building iPhone Apps with HTML, CSS, and JavaScript
It's a fact: if you know HTML, CSS, and JavaScript, you already have the tools you need to develop your own iPhone apps. With this book, you'll learn how to use these open source web technologies to design and build apps for the iPhone and iPod Touch on the platform of your choice-without using Objective-C or Cocoa. Device-agnostic mob...
Mercurial: The Definitive Guide
This instructive book takes you step by step through ways to track, merge, and manage both open source and commercial software projects with Mercurial, using Windows, Mac OS X, Linux, Solaris, and other systems. Mercurial is the easiest system to learn when it comes to distributed revision control. And it's a very flexible tool that's ide...
A Rust Sampler
Thread-safe, reliable, and lightning-fast, Rust has been the most loved programming language on Stack Overflow for four years and counting! This open source systems language gets its amazing speed in large part from its memory safety - and without resource-greedy garbage collection. Offering freedom from a runtime requirement, a rich type system, a...
Game Mods
Are games worthy of academic attention? Can they be used effectively in the classroom, in the research laboratory, as an innovative design tool, as a persuasive political weapon? Game Mods: Design Theory and Criticism aims to answer these and more questions. It features chapters by authors chosen from around the world, representing fields as divers...
Java 3D Programming
Java 3D Programming steps programmers through the important design and implementation phases of developing a successful Java 3D application. The book provides invaluable guidance on whether to use Java 3D, user interface design, geometry creation, scene manipulation and final optimizations. The book does not attempt to exhaustively cover the API or...
AI for Everyone?
We are entering a new era of technological determinism and solutionism in which governments and business actors are seeking data-driven change, assuming that Artificial Intelligence is now inevitable and ubiquitous. But we have not even started asking the right questions, let alone developed an understanding of the consequences. Urgently needed is ...
HackSpace Magazine: Issue 52
The Raspberry Pi Pico: it costs pennies, it's simple to program with, and it's really good at getting data in and out. In short, it's the ideal board for home projects. We've hunted high and low for the best, most innovative, most creative projects around to show off what the Pico can do. What will you build with yours? - Dis...
Piracy in World History
In a modern global historical context, scholars have often regarded piracy as an essentially European concept which was inappropriately applied by the expanding European powers to the rest of the world, mainly for the purpose of furthering colonial forms of domination in the economic, political, military, legal and cultural spheres. By contrast, th...
Algorithms for Decision Making
A broad introduction to algorithms for decision making under uncertainty, introducing the underlying mathematical problem formulations and the algorithms for solving them. Automated decision-making systems or decision-support systems - used in applications that range from aircraft collision avoidance to breast cancer screening - must be designed...