Learning Node


Shelley Powers - 2012
    This guide offers a friendly way to master Node fundamentals with clear and concise information you can use right away.Built on Google’s V8 JavaScript engine, Node offers high performance and easy scalability for server-side applications. Learning Node walks you through the differences and parallels between client-side and server-side programming, with practical examples of programming and deployment.* Quickly learn how to install and deploy Node* Understand how to use Node and related components to build sites and applications efficiently* Manage Node modules with npm* Create pages easily with template systems* Apply client-side skills, tools, and techniques on the server* Maintain a connection between browser and server with web sockets

The Hacker Diaries: Confessions of Teenage Hackers


Dan Verton - 2001
    He was a normal kid...On February 7, 2000, Yahoo.com was the first victim of the biggest distributed denial-of-service attack ever to hit the Internet. On May 8th, Buy.com was battling a massive denial-of-service attack. Later that afternoon, eBay.com also reported significant outages of service, as did Amazon.com. Then CNN's global online news operation started to grind to a crawl. By the following day, Datek and E-Trade entered crisis mode...all thanks to an ordinary fourteen-year-old kid.Friends and neighbors were shocked to learn that the skinny, dark-haired, boy next door who loved playing basketball--almost as much as he loved computers--would cause millions of dollars worth of damage on the Internet and capture the attention of the online world--and the federal government. He was known online as Mafiaboy and, to the FBI, as the most notorious teenage hacker of all time. He did it all from his bedroom PC. And he's not alone.Computer hacking and Web site defacement has become a national pastime for America's teenagers, and according to the stories you'll read about in The Hacker Diaries--it is only the beginning. But who exactly are these kids and what motivates a hacker to strike? Why do average teenagers get involved in hacking in the first place? This compelling and revealing book sets out to answer these questions--and some of the answers will surprise you. Through fascinating interviews with FBI agents, criminal psychologists, law-enforcement officials--as well as current and former hackers--you'll get a glimpse inside the mind of today's teenage hacker. Learn how they think, find out what it was like for them growing up, and understand the internal and external pressures that pushed them deeper and deeper into the hacker underground. Every hacker has a life and story of his or her own. One teenager's insatiable curiosity as to how the family's VCR worked was enough to trigger a career of cracking into computer systems. This is a remarkable story of technological wizardry, creativity, dedication, youthful angst, frustration and disconnection from society, boredom, anger, and jail time. Teenage hackers are not all indifferent punks. They're just like every other kid and some of them probably live in your neighborhood. They're there. All you have to do is look.

The Hacker Playbook: Practical Guide To Penetration Testing


Peter Kim - 2014
    The Hacker Playbook provides them their own game plans. Written by a longtime security professional and CEO of Secure Planet, LLC, this step-by-step guide to the “game” of penetration hacking features hands-on examples and helpful advice from the top of the field. Through a series of football-style “plays,” this straightforward guide gets to the root of many of the roadblocks people may face while penetration testing—including attacking different types of networks, pivoting through security controls, and evading antivirus software. From “Pregame” research to “The Drive” and “The Lateral Pass,” the practical plays listed can be read in order or referenced as needed. Either way, the valuable advice within will put you in the mindset of a penetration tester of a Fortune 500 company, regardless of your career or level of experience. Whether you’re downing energy drinks while desperately looking for an exploit, or preparing for an exciting new job in IT security, this guide is an essential part of any ethical hacker’s library—so there’s no reason not to get in the game.

Think Stats


Allen B. Downey - 2011
    This concise introduction shows you how to perform statistical analysis computationally, rather than mathematically, with programs written in Python.You'll work with a case study throughout the book to help you learn the entire data analysis process—from collecting data and generating statistics to identifying patterns and testing hypotheses. Along the way, you'll become familiar with distributions, the rules of probability, visualization, and many other tools and concepts.Develop your understanding of probability and statistics by writing and testing codeRun experiments to test statistical behavior, such as generating samples from several distributionsUse simulations to understand concepts that are hard to grasp mathematicallyLearn topics not usually covered in an introductory course, such as Bayesian estimationImport data from almost any source using Python, rather than be limited to data that has been cleaned and formatted for statistics toolsUse statistical inference to answer questions about real-world data

Free as in Freedom: Richard Stallman's Crusade for Free Software


Sam Williams - 2002
    It examines Stallman's unique personality and how that personality has been at turns a driving force and a drawback in terms of the movement's overall success.Free as in Freedom examines one man's 20-year attempt to codify and communicate the ethics of 1970s era "hacking" culture in such a way that later generations might easily share and build upon the knowledge of their computing forebears. The book documents Stallman's personal evolution from teenage misfit to prescient adult hacker to political leader and examines how that evolution has shaped the free software movement. Like Alan Greenspan in the financial sector, Richard Stallman has assumed the role of tribal elder within the hacking community, a community that bills itself as anarchic and averse to central leadership or authority. How did this paradox come about? Free as in Freedom provides an answer. It also looks at how the latest twists and turns in the software marketplace have diminished Stallman's leadership role in some areas while augmenting it in others.Finally, Free as in Freedom examines both Stallman and the free software movement from historical viewpoint. Will future generations see Stallman as a genius or crackpot? The answer to that question depends partly on which side of the free software debate the reader currently stands and partly upon the reader's own outlook for the future. 100 years from now, when terms such as "computer," "operating system" and perhaps even "software" itself seem hopelessly quaint, will Richard Stallman's particular vision of freedom still resonate, or will it have taken its place alongside other utopian concepts on the 'ash-heap of history?'

The Practice of System and Network Administration


Thomas A. Limoncelli - 2001
    Whether you use Linux, Unix, or Windows, this newly revised edition describes the essential practices previously handed down only from mentor to protege. This wonderfully lucid, often funny cornucopia of information introduces beginners to advanced frameworks valuable for their entire career, yet is structured to help even the most advanced experts through difficult projects.The book's four major sections build your knowledge with the foundational elements of system administration. These sections guide you through better techniques for upgrades and change management, catalog best practices for IT services, and explore various management topics. Chapters are divided into The Basics and The Icing. When you get the Basics right it makes every other aspect of the job easier--such as automating the right things first. The Icing sections contain all the powerful things that can be done on top of the basics to wow customers and managers.Inside, you'll find advice on topics such asThe key elements your networks and systems need in order to make all other services run better Building and running reliable, scalable services, including web, storage, email, printing, and remote access Creating and enforcing security policies Upgrading multiple hosts at one time without creating havoc Planning for and performing flawless scheduled maintenance windows Managing superior helpdesks and customer care Avoiding the -temporary fix- trap Building data centers that improve server uptime Designing networks for speed and reliability Web scaling and security issues Why building a backup system isn't about backups Monitoring what you have and predicting what you will need How technically oriented workers can maintain their job's technical focus (and avoid an unwanted management role) Technical management issues, including morale, organization building, coaching, and maintaining positive visibility Personal skill techniques, including secrets for getting more done each day, ethical dilemmas, managing your boss, and loving your job System administration salary negotiation It's no wonder the first edition received Usenix SAGE's 2005 Outstanding Achievement Award!This eagerly anticipated second edition updates this time-proven classic:Chapters reordered for easier navigationThousands of updates and clarifications based on reader feedbackPlus three entirely new chapters: Web Services, Data Storage, and Documentation

Head First C#


Andrew Stellman - 2007
    Built for your brain, this book covers C# 3.0 and Visual Studio 2008, and teaches everything from language fundamentals to advanced topics including garbage collection, extension methods, and double-buffered animation. You'll also master C#'s hottest and newest syntax, LINQ, for querying SQL databases, .NET collections, and XML documents. By the time you're through, you'll be a proficient C# programmer, designing and coding large-scale applications. Every few chapters you will come across a lab that lets you apply what you've learned up to that point. Each lab is designed to simulate a professional programming task, increasing in complexity until-at last-you build a working Invaders game, complete with shooting ships, aliens descending while firing, and an animated death sequence for unlucky starfighters. This remarkably engaging book will have you going from zero to 60 with C# in no time flat.

Engineering Software as a Service: An Agile Approach Using Cloud Computing + $10 AWS Credit


Armando Fox - 2013
    This book is neither a step-by-step tutorial nor a reference book. Instead, our goal is to bring a diverse set of software engineering topics together into a single narrative, help readers understand the most important ideas through concrete examples and a learn-by-doing approach, and teach readers enough about each topic to get them started in the field. Courseware for doing the work in the book is available as a virtual machine image that can be downloaded or deployed in the cloud. A free MOOC (massively open online course) at saas-class.org follows the book's content and adds programming assignments and quizzes. See http://saasbook.info for details.

Mastering Emacs


Mickey Petersen - 2015
    In the Mastering Emacs ebook you will learn the answers to all the concepts that take weeks, months or even years to truly learn, all in one place.“Emacs is such a hard editor to learn”But why is it so hard to learn? As it turns out, it's almost always the same handful of issues that everyone faces.If you have tried to learn Emacs you will have struggled with the same problems everyone faces, and few tutorials to see you through it.I have dedicated the first half of the book to explaining the essence of Emacs — and in doing so, how to overcome these issues:Memorizing Emacs’s keys: You will learn Emacs one key at a time, starting with the arrow keys. To feel productive in Emacs, it’s important you start on an equal footing — without too many new concepts and keys to memorize. Each chapter will introduce more keys and concepts so you can learn at your own pace. Discovering new modes and features: Emacs is a self-documenting editor, and I will teach you how to use the apropos, info, and describe system to discover new modes and features, or help you find things you forgot! Customizing Emacs: You don’t have to learn Emacs Lisp to alter a lot of Emacs’s functionality. Most changes you want to make are possible using Emacs’s Customize interface and I will show you how to use it efficiently. Understanding the terminology: Emacs is so old it predates almost every other editor and all modern user interfaces. I have an entire chapter dedicated to the unique terminology in Emacs; how it is different from other editors, and what that means to you.

Debugging: The 9 Indispensable Rules for Finding Even the Most Elusive Software and Hardware Problems


David J. Agans - 2002
    Written in a frank but engaging style, Debuggingprovides simple, foolproof principles guaranteed to help find any bug quickly. This book makes those shelves of application-specific debugging books (on C++, Perl, Java, etc.) obsolete. It changes the way readers think about debugging, making those pesky problems suddenly much easier to find and fix. Illustrating the rules with real-life bug-detection war stories, the book shows readers how to: * Understand the system: how perceiving the ""roadmap"" can hasten your journey * Quit thinking and look: when hands-on investigation can’t be avoided * Isolate critical factors: why changing one element at a time can be an essential tool * Keep an audit trail: how keeping a record of the debugging process can win the day

Think Like a Programmer: An Introduction to Creative Problem Solving


V. Anton Spraul - 2012
    In this one-of-a-kind text, author V. Anton Spraul breaks down the ways that programmers solve problems and teaches you what other introductory books often ignore: how to Think Like a Programmer. Each chapter tackles a single programming concept, like classes, pointers, and recursion, and open-ended exercises throughout challenge you to apply your knowledge. You'll also learn how to:Split problems into discrete components to make them easier to solve Make the most of code reuse with functions, classes, and libraries Pick the perfect data structure for a particular job Master more advanced programming tools like recursion and dynamic memory Organize your thoughts and develop strategies to tackle particular types of problems Although the book's examples are written in C++, the creative problem-solving concepts they illustrate go beyond any particular language; in fact, they often reach outside the realm of computer science. As the most skillful programmers know, writing great code is a creative art—and the first step in creating your masterpiece is learning to Think Like a Programmer.

The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities


Mark Dowd - 2006
    Drawing on their extraordinary experience, they introduce a start-to-finish methodology for "ripping apart" applications to reveal even the most subtle and well-hidden security flaws.

A Bug Hunter's Diary: A Guided Tour Through the Wilds of Software Security


Tobias Klein - 2011
    In this one-of-a-kind account, you'll see how the developers responsible for these flaws patched the bugs—or failed to respond at all. As you follow Klein on his journey, you'll gain deep technical knowledge and insight into how hackers approach difficult problems and experience the true joys (and frustrations) of bug hunting.Along the way you'll learn how to:Use field-tested techniques to find bugs, like identifying and tracing user input data and reverse engineering Exploit vulnerabilities like NULL pointer dereferences, buffer overflows, and type conversion flaws Develop proof of concept code that verifies the security flaw Report bugs to vendors or third party brokersA Bug Hunter's Diary is packed with real-world examples of vulnerable code and the custom programs used to find and test bugs. Whether you're hunting bugs for fun, for profit, or to make the world a safer place, you'll learn valuable new skills by looking over the shoulder of a professional bug hunter in action.

Programming Collective Intelligence: Building Smart Web 2.0 Applications


Toby Segaran - 2002
    With the sophisticated algorithms in this book, you can write smart programs to access interesting datasets from other web sites, collect data from users of your own applications, and analyze and understand the data once you've found it.Programming Collective Intelligence takes you into the world of machine learning and statistics, and explains how to draw conclusions about user experience, marketing, personal tastes, and human behavior in general -- all from information that you and others collect every day. Each algorithm is described clearly and concisely with code that can immediately be used on your web site, blog, Wiki, or specialized application. This book explains:Collaborative filtering techniques that enable online retailers to recommend products or media Methods of clustering to detect groups of similar items in a large dataset Search engine features -- crawlers, indexers, query engines, and the PageRank algorithm Optimization algorithms that search millions of possible solutions to a problem and choose the best one Bayesian filtering, used in spam filters for classifying documents based on word types and other features Using decision trees not only to make predictions, but to model the way decisions are made Predicting numerical values rather than classifications to build price models Support vector machines to match people in online dating sites Non-negative matrix factorization to find the independent features in a dataset Evolving intelligence for problem solving -- how a computer develops its skill by improving its own code the more it plays a game Each chapter includes exercises for extending the algorithms to make them more powerful. Go beyond simple database-backed applications and put the wealth of Internet data to work for you. "Bravo! I cannot think of a better way for a developer to first learn these algorithms and methods, nor can I think of a better way for me (an old AI dog) to reinvigorate my knowledge of the details."-- Dan Russell, Google "Toby's book does a great job of breaking down the complex subject matter of machine-learning algorithms into practical, easy-to-understand examples that can be directly applied to analysis of social interaction across the Web today. If I had this book two years ago, it would have saved precious time going down some fruitless paths."-- Tim Wolters, CTO, Collective Intellect

Perl Cookbook


Tom Christiansen - 1998
    Perl Cookbook is a comprehensive collection of problems, solutions, and practical examples for anyone programming in Perl. The book contains hundreds of rigorously reviewed Perl "recipes" and thousands of examples ranging from brief one-liners to complete applications.The second edition of Perl Cookbook has been fully updated for Perl 5.8, with extensive changes for Unicode support, I/O layers, mod_perl, and new technologies that have emerged since the previous edition of the book. Recipes have been updated to include the latest modules. New recipes have been added to every chapter of the book, and some chapters have almost doubled in size.Covered topic areas include: • Manipulating strings, numbers, dates, arrays, and hashes • Pattern matching and text substitutions • References, data structures, objects, and classes • Signals and exceptions • Screen addressing, menus, and graphical applications • Managing other processes • Writing secure scripts • Client-server programming • Internet applications programming with mail, news, ftp, and telnet • CGI and mod_perl programming • Web programmingSince its first release in 1998, Perl Cookbook has earned its place in the libraries of serious Perl users of all levels of expertise by providing practical answers, code examples, and mini-tutorials addressing the challenges that programmers face. Now the second edition of this bestselling book is ready to earn its place among the ranks of favorite Perl books as well.Whether you're a novice or veteran Perl programmer, you'll find Perl Cookbook, 2nd Edition to be one of the most useful books on Perl available. Its comfortable discussion style and accurate attention to detail cover just about any topic you'd want to know about. You can get by without having this book in your library, but once you've tried a few of the recipes, you won't want to.