Wireshark 101: Essential Skills for Network Analysis


Laura A. Chappell - 2013
    This book provides an ideal starting point whether you are interested in analyzing traffic to learn how an application works, you need to troubleshoot slow network performance, or determine whether a machine is infected with malware. Learning to capture and analyze communications with Wireshark will help you really understand how TCP/IP networks function. As the most popular network analyzer tool in the world, the time you spend honing your skills with Wireshark will pay off when you read technical specs, marketing materials, security briefings, and more. This book can also be used by current analysts who need to practice the skills contained in this book. In essence, this book is for anyone who really wants to know what's happening on their network.

Systems Analysis & Design in a Changing World


John W. Satzinger - 2000
    The Fourth Edition maintains the dual focus on the concepts and techniques from both the traditional, structured approach and the object-oriented approach to systems development. Instructors have the flexibility to emphasize one approach over the other, or both, while referring to one integrated case study that runs through every chapter.

Python for Informatics: Exploring Information: Exploring Information


Charles Severance - 2002
    You can think of Python as your tool to solve problems that are far beyond the capability of a spreadsheet. It is an easy-to-use and easy-to learn programming language that is freely available on Windows, Macintosh, and Linux computers. There are free downloadable copies of this book in various electronic formats and a self-paced free online course where you can explore the course materials. All the supporting materials for the book are available under open and remixable licenses. This book is designed to teach people to program even if they have no prior experience.

Learning UML 2.0: A Pragmatic Introduction to UML


Russ Miles - 2006
    Every integrated software development environment in the world--open-source, standards-based, and proprietary--now supports UML and, more importantly, the model-driven approach to software development. This makes learning the newest UML standard, UML 2.0, critical for all software developers--and there isn't a better choice than this clear, step-by-step guide to learning the language."--Richard Mark Soley, Chairman and CEO, OMGIf you're like most software developers, you're building systems that are increasingly complex. Whether you're creating a desktop application or an enterprise system, complexity is the big hairy monster you must manage.The Unified Modeling Language (UML) helps you manage this complexity. Whether you're looking to use UML as a blueprint language, a sketch tool, or as a programming language, this book will give you the need-to-know information on how to apply UML to your project. While there are plenty of books available that describe UML, Learning UML 2.0 will show you how to use it. Topics covered include:Capturing your system's requirements in your model to help you ensure that your designs meet your users' needsModeling the parts of your system and their relationshipsModeling how the parts of your system work together to meet your system's requirementsModeling how your system moves into the real world, capturing how your system will be deployedEngaging and accessible, this book shows you how to use UML to craft and communicate your project's design. Russ Miles and Kim Hamilton have written a pragmatic introduction to UML based on hard-earned practice, not theory. Regardless of the software process or methodology you use, this book is the one source you need to get up and running with UML 2.0.Russ Miles is a software engineer for General Dynamics UK, where he works with Java and Distributed Systems, although his passion at the moment is Aspect Orientation and, in particular, AspectJ. Kim Hamilton is a senior software engineer at Northrop Grumman, where she's designed and implemented a variety of systems including web applications and distributed systems, with frequent detours into algorithms development.

Learning Ruby


Michael J. Fitzgerald - 2007
    Written for both experienced and new programmers alike, Learning Ruby is a just-get-in-and-drive book -- a hands-on tutorial that offers lots of Ruby programs and lets you know how and why they work, just enough to get you rolling down the road. Interest in Ruby stems from the popularity of Rails, the web development framework that's attracting new devotees and refugees from Java and PHP. But there are plenty of other uses for this versatile language. The best way to learn is to just try the code! You'll find examples on nearly every page of this book that you can imitate and hack. Briefly, this book:Outlines many of the most important features of Ruby Demonstrates how to use conditionals, and how to manipulate strings in Ruby. Includes a section on regular expressions Describes how to use operators, basic math, functions from the Math module, rational numbers, etc. Talks you through Ruby arrays, and demonstrates hashes in detail Explains how to process files with Ruby Discusses Ruby classes and modules (mixins) in detail, including a brief introduction to object-oriented programming (OOP) Introduces processing XML, the Tk toolkit, RubyGems, reflection, RDoc, embedded Ruby, metaprogramming, exception handling, and other topics Acquaints you with some of the essentials of Rails, and includes a short Rails tutorial. Each chapter concludes with a set of review questions, and appendices provide you with a glossary of terms related to Ruby programming, plus reference material from the book in one convenient location. If you want to take Ruby out for a drive, Learning Ruby holds the keys.

PHP Solutions: Dynamic Web Design Made Easy


David Powers - 2006
    How easy is easy? It's not like an instant cake mix: just add water and stir. Dynamic web design is--well-- dynamic. Every website is different, so it's impossible to grab a script, paste it into a web page, and expect it to work. Building dynamic sites involves diving into the code and adju- ing it to your own requirements. If that thought makes you break out in a cold sweat, just relax for a moment. PHP is not difficult, and I've written this book very much with the n- programmer in mind. I've done so because I don't come from a computing background myself. In fact, I went to school in the days before pocket calculators were invented, never mind personal computers. As a result, I don't assume that you drank in knowledge of arrays, loops, and conditional statements with your mother's milk. Everything is explained in plain, straightforward l- guage, and I've highlighted points where things may go wrong, with advice on how to solve the problem. At the same time, if you're working with computers and websites, you're bound to have a certain level of technical knowledge and skill. So I don't talk down to you either.

Mason's Rats: 3 Short Stories


Neal Asher - 1999
    But he soon learns that rats in suits are even worse. What do you do when rats invade your barn? Kill them or negotiate? Mason finds out the hard way that force does not always work! An allegory of war and violence? A statement on the arms race? Neal Asher’s work takes Orwell’s Animal Farm into a grimly humorous future where evolution is outrunning humanity. You may never trust a rat again! “I’ve never read anything like MASON’S RATS before … it’s sharp, funny and highly inventive. There’s more fun in this one slim volume than in many a full-length novel!” – Stephen Gallagher

Programming Groovy


Venkat Subramaniam - 2008
    But recently, the industry has turned to dynamic languages for increased productivity and speed to market.Groovy is one of a new breed of dynamic languages that run on the Java platform. You can use these new languages on the JVM and intermix them with your existing Java code. You can leverage your Java investments while benefiting from advanced features including true Closures, Meta Programming, the ability to create internal DSLs, and a higher level of abstraction.If you're an experienced Java developer, Programming Groovy will help you learn the necessary fundamentals of programming in Groovy. You'll see how to use Groovy to do advanced programming including using Meta Programming, Builders, Unit Testing with Mock objects, processing XML, working with Databases and creating your own Domain-Specific Languages (DSLs).

Computer Science: A Structured Approach Using C++


Behrouz A. Forouzan - 1999
    Every complete program uses a consistent style, and as programs are analyzed, styles and standards are further explained. Whenever possible, the authors develop the principle of a subject before they introduce the language implementation so the student understands the concept before dealing with the nuances of C++. In addition, a vast array of figures and tables visually reinforce key concepts. By integrating software engineering principles and encouraging the student to resist the temptation to immediately code, the text builds a solid foundation in problem solving.

Refactoring to Patterns


Joshua Kerievsky - 2004
    In 1999, "Refactoring" revolutionized design by introducing an effective process for improving code. With the highly anticipated " Refactoring to Patterns ," Joshua Kerievsky has changed our approach to design by forever uniting patterns with the evolutionary process of refactoring.This book introduces the theory and practice of pattern-directed refactorings: sequences of low-level refactorings that allow designers to safely move designs to, towards, or away from pattern implementations. Using code from real-world projects, Kerievsky documents the thinking and steps underlying over two dozen pattern-based design transformations. Along the way he offers insights into pattern differences and how to implement patterns in the simplest possible ways.Coverage includes: A catalog of twenty-seven pattern-directed refactorings, featuring real-world code examples Descriptions of twelve design smells that indicate the need for this book s refactorings General information and new insights about patterns and refactoringDetailed implementation mechanics: how low-level refactorings are combined to implement high-level patterns Multiple ways to implement the same pattern and when to use each Practical ways to get started even if you have little experience with patterns or refactoring"Refactoring to Patterns" reflects three years of refinement and the insights of more than sixty software engineering thought leaders in the global patterns, refactoring, and agile development communities. Whether you re focused on legacy or greenfield development, this book will make you a better software designer by helping you learn how to make important design changes safely and effectively. "

Growing Object-Oriented Software, Guided by Tests


Steve Freeman - 2009
    This one's a keeper." --Robert C. Martin "If you want to be an expert in the state of the art in TDD, you need to understand the ideas in this book."--Michael Feathers Test-Driven Development (TDD) is now an established technique for delivering better software faster. TDD is based on a simple idea: Write tests for your code before you write the code itself. However, this simple idea takes skill and judgment to do well. Now there's a practical guide to TDD that takes you beyond the basic concepts. Drawing on a decade of experience building real-world systems, two TDD pioneers show how to let tests guide your development and "grow" software that is coherent, reliable, and maintainable. Steve Freeman and Nat Pryce describe the processes they use, the design principles they strive to achieve, and some of the tools that help them get the job done. Through an extended worked example, you'll learn how TDD works at multiple levels, using tests to drive the features and the object-oriented structure of the code, and using Mock Objects to discover and then describe relationships between objects. Along the way, the book systematically addresses challenges that development teams encounter with TDD--from integrating TDD into your processes to testing your most difficult features. Coverage includes - Implementing TDD effectively: getting started, and maintaining your momentum throughout the project - Creating cleaner, more expressive, more sustainable code - Using tests to stay relentlessly focused on sustaining quality - Understanding how TDD, Mock Objects, and Object-Oriented Design come together in the context of a real software development project - Using Mock Objects to guide object-oriented designs - Succeeding where TDD is difficult: managing complex test data, and testing persistence and concurrency

Schaum's Outline of Theory and Problems of Data Structures


Seymour Lipschutz - 1986
    This guide, which can be used with any text or can stand alone, contains at the beginning of each chapter a list of key definitions, a summary of major concepts, step by step solutions to dozens of problems, and additional practice problems.

Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman


Dave Hoover - 2009
    To grow professionally, you also need soft skills and effective learning techniques. Honing those skills is what this book is all about. Authors Dave Hoover and Adewale Oshineye have cataloged dozens of behavior patterns to help you perfect essential aspects of your craft. Compiled from years of research, many interviews, and feedback from O'Reilly's online forum, these patterns address difficult situations that programmers, administrators, and DBAs face every day. And it's not just about financial success. Apprenticeship Patterns also approaches software development as a means to personal fulfillment. Discover how this book can help you make the best of both your life and your career. Solutions to some common obstacles that this book explores in-depth include:Burned out at work? "Nurture Your Passion" by finding a pet project to rediscover the joy of problem solving.Feeling overwhelmed by new information? Re-explore familiar territory by building something you've built before, then use "Retreat into Competence" to move forward again.Stuck in your learning? Seek a team of experienced and talented developers with whom you can "Be the Worst" for a while. "Brilliant stuff! Reading this book was like being in a time machine that pulled me back to those key learning moments in my career as a professional software developer and, instead of having to learn best practices the hard way, I had a guru sitting on my shoulder guiding me every step towards master craftsmanship. I'll certainly be recommending this book to clients. I wish I had this book 14 years ago!" -Russ Miles, CEO, OpenCredo

Anatomy & Physiology


Boundless - 2013
    Boundless works with subject matter experts to select the best open educational resources available on the web, review the content for quality, and create introductory, college-level textbooks designed to meet the study needs of university students.<br><br>This textbook covers:<br><br><b>Human Anatomy and Physiology Introduction</b> -- Anatomy and Physiology Overview, Life, Homeostasis, Anatomical Terms, Clinical Cases<br><br><b>General Chemistry</b> -- Matter and Energy, Element Properties: Atomic structure, Chemical Bonds, Chemical Reactions, Inorganic Compounds, Organic Compounds<br><br><b>Cellular Structure and Function</b> -- the study of cells, Cell membranes and the fluid mosaic model, Transport across membranes, How reception works in cell signaling, Nucleus and Ribosomes, Organelles, The Cytoskeleton, External cellular components, Cell division: process and importance, The cell cycle, Transcription and translation, RNA processing, Translation to a polypeptide, Transcription, Apoptosis signals an orderly cell death<br><br><b>Tissues</b> -- Epithelial Tissue, Cell Junctions, Clinical Cases, Tissue Repair, Tissue Development, Cancer, Connective Tissue, Membranes, Nervous Tissue<br><br><b>The Integumentary System</b> -- The Skin, Accessory Structures of the Skin, Functions of the Integumentary System, Wound Healing, Integumentary System Development, Skin Disorders, Imbalances, Diseases, and Clinical Cases<br><br><b>Skeletal Tissue</b> -- Cartilage, Bone Classification, Bone Formation, Bone and Calcium, Bone Development, Bone Diseases, Disorders, Imbalances, and Clinical Cases<br><br><b>The Skeletal System</b> -- Overview of the Musculoskeletal system, Divisions of the Skeletal System, The Axial Skeleton, Skull, Hyoid Bone, Vertebral Column, Thorax, Clinical Cases of the Axial Skeleton, The Appendicular Skeleton, The Pectoral (Shoulder) Girdle, Upper Limb, The Pelvic (Hip) Girdle, Lower Limb, Skeletal System Development, Clinical Cases of the Appendicular Skeleton<br><br><b>Joints</b> -- Classification of Joints, Synovial Joints, Joint Development, Clinical Cases<br><br><b>Muscle Tissue</b> -- Overview of Muscle Tissue, Skeletal Muscle, Control of Muscle Tension, Muscle Metabolism, Exercise and Skeletal Muscle Tissue, Smooth Muscle, Clinical Cases: Muscle Disorders, Development of Muscle<br><br><b>The Muscular System</b> -- Overview of the Muscular System, Head And Neck Muscles, Trunk Muscles, Muscles of the Upper Limb, Muscles of the Lower Limb, Clinical Cases and Muscular System Disorders<br><br><b>Nervous Tissue</b> -- Overview of the Nervous System, Neuroglia, Neurons, Collections of Nervous Tissue, Neurophysiology<br><br><b>Central Nervous System (CNS)</b> -- The Brain, Consciousness, Sleep, Language, and Memory, Protection of the Brain, Parts of The Brain Stem, The Cerebellum, The Diencephalon, Cerebral Cortex (or Cerebral Hemispheres), Functional Systems of the Cerebral Cortex, Development of the CNS, Brain Disorders and Clinical Cases, The Spinal Cord, Spinal Cord Anatomy, Disorders and Clinical Cases of the Spinal Cord<br><br><b>Peripheral Nervous System (PNS)</b> -- Sensation, Sensory Receptors, Somatosensory System, Nerves, Cranial Nerves, Spinal Nerves, Distribution of Spinal Nerves, Motor Activity, Motor Pathways, Reflexes, Pain, Development of the Nervous System, Disorders of Spinal Nerves and Clinical Cases<br><br><b>Autonomic Nervous System (ANS)</b> -- Autonomic Nervous System, ANS Anatomy, Physiology of ANS,

Send


David Shipley - 2007
    Whether you email just a little or never stop, here, at last, is an authoritative and delightful audiobook that shows how to write the perfect email anywhere. Send also points out the numerous (but not always obvious) times when email can be the worst option and might land you in hot water (or even jail!). The secret is, of course, to think before you click. Send is nothing short of a survival guide for the digital age–wise, brimming with good humor, and filled with helpful lessons from the authors’ own email experiences (and mistakes). In short: absolutely e-ssential.