Java Network Programming


Elliotte Rusty Harold - 1997
    It is a clear, complete introduction to developing network programs (both applets and applications) using Java, covering everything from networking fundamentals to remote method invocation (RMI). Java Network Programming, 3rd Edition includes chapters on TCP and UDP sockets, multicasting protocol and content handlers, servlets, multithreaded network programming, I/O, HTML parsing and display, the Java Mail API, and the Java Secure Sockets Extension. There's also significant information on the New I/O API that was developed in large part because of the needs of network programmers. This invaluable book is a complete, single source guide to writing sophisticated network applications. Packed with useful examples, it is the essential resource for any serious Java developer.

Visualizing Data: Exploring and Explaining Data with the Processing Environment


Ben Fry - 2007
    Using a downloadable programming environment developed by the author, Visualizing Data demonstrates methods for representing data accurately on the Web and elsewhere, complete with user interaction, animation, and more. How do the 3.1 billion A, C, G and T letters of the human genome compare to those of a chimp or a mouse? What do the paths that millions of visitors take through a web site look like? With Visualizing Data, you learn how to answer complex questions like these with thoroughly interactive displays. We're not talking about cookie-cutter charts and graphs. This book teaches you how to design entire interfaces around large, complex data sets with the help of a powerful new design and prototyping tool called "Processing". Used by many researchers and companies to convey specific data in a clear and understandable manner, the Processing beta is available free. With this tool and Visualizing Data as a guide, you'll learn basic visualization principles, how to choose the right kind of display for your purposes, and how to provide interactive features that will bring users to your site over and over. This book teaches you:The seven stages of visualizing data -- acquire, parse, filter, mine, represent, refine, and interact How all data problems begin with a question and end with a narrative construct that provides a clear answer without extraneous details Several example projects with the code to make them work Positive and negative points of each representation discussed. The focus is on customization so that each one best suits what you want to convey about your data set The book does not provide ready-made "visualizations" that can be plugged into any data set. Instead, with chapters divided by types of data rather than types of display, you'll learn how each visualization conveys the unique properties of the data it represents -- why the data was collected, what's interesting about it, and what stories it can tell. Visualizing Data teaches you how to answer questions, not simply display information.

Domain-Driven Design Quickly


Floyd Marinescu - 2006
    This book is a short, quickly-readable summary and introduction to the fundamentals of DDD; it does not introduce any new concepts; it attempts to concisely summarize the essence of what DDD is, drawing mostly Eric Evans' original book, as well other sources since published such as Jimmy Nilsson's Applying Domain Driven Design, and various DDD discussion forums. The main topics covered in the book include: Building Domain Knowledge, The Ubiquitous Language, Model Driven Design, Refactoring Toward Deeper Insight, and Preserving Model Integrity. Also included is an interview with Eric Evans on Domain Driven Design today.

The Latex Companion


Frank Mittelbach - 1993
    This completely updated edition brings you all the latest information about LaTeX and the vast range of add-on packages now available--over 200 are covered! Full of new tips and tricks for using LaTeX in both traditional and modern typesetting, this book will also show you how to customize layout features to your own needs--from phrases and paragraphs to headings, lists, and pages. Inside, you will find: Expert advice on using LaTeX's basic formatting tools to create all types of publications--from memos to encyclopedias In-depth coverage of important extension packages for tabular and technical typesetting, floats and captions, multicolumn layouts--including reference guides and discussions of the underlying typographic and TeXnical concepts Detailed techniques for generating and typesetting contents lists, bibliographies, indexes, etc. Tips and tricks for LaTeX programmers and systems support New to this edition: Nearly 1,000 fully tested examples that illustrate the text and solve typographical and technical problems--all ready to run! An additional chapter on citations and bibliographies Expanded material on the setup and use of fonts to access a huge collection of glyphs, and to typeset text from a wide range of languages and cultures Major new packages for graphics, "verbatim" listings, floats, and page layout Full coverage of the latest packages for all types ofdocuments--mathematical, multilingual, and many more Detailed help on all error messages, including those troublesome low-level TeX errors Like its predecessor, The LaTeX Companion, Second Edition, is an indispensable reference for anyone wishing to use LaTeX productively. The accompanying CD-ROM contains a complete plug-and-play LaTeX installation, including all the packages and examples featured in the book.

Scaling Software Agility: Best Practices for Large Enterprises


Dean Leffingwell - 2007
    What has been missing from the agile literature is a solid, practical book on the specifics of developing large projects in an agile way. Dean Leffingwell's book Scaling Software Agility fills this gap admirably. It offers a practical guide to large project issues such as architecture, requirements development, multi-level release planning, and team organization. Leffingwell's book is a necessary guide for large projects and large organizations making the transition to agile development." -Jim Highsmith, director, Agile Practice, Cutter Consortium, author of Agile Project Management "There's tension between building software fast and delivering software that lasts, between being ultra-responsive to changes in the market and maintaining a degree of stability. In his latest work, Scaling Software Agility, Dean Leffingwell shows how to achieve a pragmatic balance among these forces. Leffingwell's observations of the problem, his advice on the solution, and his description of the resulting best practices come from experience: he's been there, done that, and has seen what's worked." -Grady Booch, IBM Fellow Agile development practices, while still controversial in some circles, offer undeniable benefits: faster time to market, better responsiveness to changing customer requirements, and higher quality. However, agile practices have been defined and recommended primarily to small teams. In Scaling Software Agility, Dean Leffingwell describes how agile methods can be applied to enterprise-class development. Part I provides an overview of the most common and effective agile methods. Part II describes seven best practices of agility that natively scale to the enterprise level. Part III describes an additional set of seven organizational capabilities that companies can master to achieve the full benefits of software agility on an enterprise scale. This book is invaluable to software developers, testers and QA personnel, managers and team leads, as well as to executives of software organizations whose objective is to increase the quality and productivity of the software development process but who are faced with all the challenges of developing software on an enterprise scale. Foreword Preface Acknowledgments About the Author Part I: Overview of Software Agility Chapter 1: Introduction to Agile Methods Chapter 2: Why the Waterfall Model Doesn't Work Chapter 3: The Essence of XP Chapter 4: The Essence of Scrum Chapter 5: The Essence of RUP Chapter 6: Lean Software, DSDM, and FDD Chapter 7: The Essence of Agile Chapter 8: The Challenge of Scaling Agile Part II: Seven Agile Team Practices That Scale Chapter 9: The Define/Build/Test Component Team Chapter 10: Two Levels of Planning and Tracking Chapter 11: Mastering the Iteration Chapter 12: Smaller, More Frequent Releases Chapter 13: Concurrent Testing Chapter 14: Continuous Integration Chapter 15: Regular Reflection and Adaptation Part III: Creating the Agile Enterprise Chapter 16: Intentional Architecture Chapter 17: Lean Requirements at Scale: Vision, Roadmap, and Just-in-Time Elaboration Chapter 18: Systems of Systems and the Agile Release Train Chapter 19: Managing Highly Distributed Development Chapter 20: Impact on Customers and Operations Chapter 21: Changing the Organization Chapter 22: Measuring Business Performance Conclusion: Agility Works at Scale Bibliography Index

The Art of Community: Building the New Age of Participation


Jono Bacon - 2009
    The Art of Community will help you develop the broad range of talents you need to recruit members to your community, motivate and manage them, and help them become active participants. Author Jono Bacon offers a collection of experiences and observations from his decade-long involvement in building and managing communities, including his current position as manager for Ubuntu, arguably the largest community in open source software. You'll discover how a vibrant community can provide you with a reliable support network, a valuable source of new ideas, and a powerful marketing force.The Art of Community will help you:Develop a strategy, with specific objectives and goals, for building your communityBuild simple, non-bureaucratic processes to help your community perform tasks, work together, and share successesProvide tools and infrastructure that let contributors work quicklyCreate buzz around your community to get more people involvedTrack the community's work so it can be optimized and simplifiedExplore a capable, representative governance strategy for your communityIdentify and manage conflict, including dealing with divisive personalities

Machine Learning in Action


Peter Harrington - 2011
    "Machine learning," the process of automating tasks once considered the domain of highly-trained analysts and mathematicians, is the key to efficiently extracting useful information from this sea of raw data. Machine Learning in Action is a unique book that blends the foundational theories of machine learning with the practical realities of building tools for everyday data analysis. In it, the author uses the flexible Python programming language to show how to build programs that implement algorithms for data classification, forecasting, recommendations, and higher-level features like summarization and simplification.

Architecting for the AWS Cloud: Best Practices (AWS Whitepaper)


Amazon We Services - 2016
    It discusses cloud concepts and highlights various design patterns and best practices. This documentation is offered for free here as a Kindle book, or you can read it in PDF format at https://aws.amazon.com/whitepapers/.

Artificial Intelligence for Games (The Morgan Kaufmann Series in Interactive 3D Technology)


Ian Millington - 2006
    The commercial success of a game is often dependent upon the quality of the AI, yet the engineering of AI is often begun late in the development process and is frequently misunderstood. In this book, Ian Millington brings extensive professional experience to the problem of improving the quality of AI in games. A game developer since 1987, he was founder of Mindlathe Ltd., at the time the largest specialist AI company in gaming. Ian shows how to think about AI as an integral part of game play. He describes numerous examples from real games and explores the underlying ideas through detailed case studies. He goes further to introduce many techniques little used by developers today. The book's CD-ROM contains a library of C++ source code and demonstration programs, and provides access to a website with a complete commercial source code library of AI algorithms and techniques. * A comprehensive, professional tutorial and reference to implement true AI in games.* Walks through the entire development process from beginning to end.* Includes over 100 pseudo code examples of techniques used in commercial games, case studies for all major genres, a CD-ROM and companion website with extensive C++ source code implementations for Windows, and source code libraries for Linux and OS X available through the website.

Embedded Android: Porting, Extending, and Customizing


Karim Yaghmour - 2011
    You'll also receive updates when significant changes are made, as well as the final ebook version. Embedded Android is for Developers wanting to create embedded systems based on Android and for those wanting to port Android to new hardware, or creating a custom development environment. Hackers and moders will also find this an indispensible guide to how Android works.

Beautiful Data: The Stories Behind Elegant Data Solutions (Theory In Practice, #31)


Toby Segaran - 2009
    Join 39 contributors as they explain how they developed simple and elegant solutions on projects ranging from the Mars lander to a Radiohead video.With Beautiful Data, you will: Explore the opportunities and challenges involved in working with the vast number of datasets made available by the Web Learn how to visualize trends in urban crime, using maps and data mashups Discover the challenges of designing a data processing system that works within the constraints of space travel Learn how crowdsourcing and transparency have combined to advance the state of drug research Understand how new data can automatically trigger alerts when it matches or overlaps pre-existing data Learn about the massive infrastructure required to create, capture, and process DNA data That's only small sample of what you'll find in Beautiful Data. For anyone who handles data, this is a truly fascinating book. Contributors include:Nathan Yau Jonathan Follett and Matt Holm J.M. Hughes Raghu Ramakrishnan, Brian Cooper, and Utkarsh Srivastava Jeff Hammerbacher Jason Dykes and Jo Wood Jeff Jonas and Lisa Sokol Jud Valeski Alon Halevy and Jayant Madhavan Aaron Koblin with Valdean Klump Michal Migurski Jeff Heer Coco Krumme Peter Norvig Matt Wood and Ben Blackburne Jean-Claude Bradley, Rajarshi Guha, Andrew Lang, Pierre Lindenbaum, Cameron Neylon, Antony Williams, and Egon Willighagen Lukas Biewald and Brendan O'Connor Hadley Wickham, Deborah Swayne, and David Poole Andrew Gelman, Jonathan P. Kastellec, and Yair Ghitza Toby Segaran

In Search of Stupidity: Over 20 Years of High-Tech Marketing Disasters


Merrill R. Chapman - 2003
    It's a funny and well-written business book that takes a look at some of the most influential marketing and business philosophies of the last twenty years. Through the dark glass of hindsight, it provides an educational and entertaining look at why these philosophies didn't work for many of the country's largest and best-known high-tech companies.Marketing wizard Richard Chapman takes you on a hilarious ride in this book, which is richly illustrated with cartoons and reproductions of many of the actual campaigns used at the time. Filled with personal anecdotes spanning Chapman's remarkable career (he was present at many now-famous meetings and events), In Search of Stupidity, Second Edition examines the best of the worst marketing ideas and business decisions in the last 20 years of the technology industry.This second edition includes new chapters on Google and on how to avoid stupidity, plus the extensive analyses of all chapters from the first edition. You'll want to get a copy because it:Features an interesting preface and interview with Joel Spolsky of "Joel on Software" Offers practical advice on avoiding PR disaster Features actual pictures of some of the worst PR and marketing material ever created Is highly readable and funny Includes theme-based cartoons for every chapter

The C# Player's Guide


R.B. Whitaker - 2012
    

HTML5 and CSS3: Develop with Tomorrow's Standards Today


Brian P. Hogan - 2010
    Even though the specification is still in development, many modern browsers and mobile devices already support HTML5 and CSS3. This book gets you up to speed on the new HTML5 elements and CSS3 features you can use right now, and backwards compatible solutions ensure that you don't leave users of older browsers behind. This book gets you started working with many useful new features of HTML5 and CSS3 right away. Gone are the days of adding additional markup just to style a button differently or stripe tables. You'll learn to use HTML5's new markup to create better structure for your content and better interfaces for your forms, resulting in cleaner, easier-to-read code that can be understood by both humans and programs. You'll find out how to embed audio, video, and vector graphics into your pages without using Flash. You'll see how web sockets, client-side storage, offline caching, and cross-document messaging can ease the pain of modern web development. And you'll discover how simple CSS3 makes it to style sections of your page. Throughout the book, you'll learn how to compensate for situations where your users can't take advantage of HTML5 and CSS3 yet, developing solutions that are backwards compatible and accessible. You'll find what you need quickly with this book's modular structure, and get hands-on with a tutorial project for each new HTML5 and CSS3 feature covered. "Falling Back" sections show you how to create solutions for older browsers, and "The Future" sections at the end of each chapter get you excited about the possibilities when HTML5 and CSS3 reach widespread adoption. Get ready for the future---in fact, it's here already.

Agile Coaching


Rachel Davies - 2009
    Agile Coaching de-mystifies agile practices--it's a practical guide to creating strong agile teams. Packed with useful tips from practicing agile coaches Rachel Davies and Liz Sedley, this book gives you coaching tools that you can apply whether you are a project manager, a technical lead, or working in a software team. To lead change, you need to expand your toolkit, and this book gives you the tools you need to make the transition from agile practitioner to agile coach. Agile Coaching is all about working with people to create great agile teams. You'll learn how to build a team that produces great software and has fun doing it. In the process, you'll grow a team that's self-sufficient and skillful. This book provides you with deeper knowledge of how agile practices work and how to inspire your team to improve. Discover how to coach your team through the agile lifecycle, from planning to writing software. Learn the secrets of running effective agile meetings and how to get your team following a consistent approach to creating software. You'll find chapters dedicated to introducing Test-Driven Development, designing Retrospectives, and making progress visible. Find out what works and what to avoid when introducing agile practices to your team. Throughout the book the authors share their personal coaching stories from experience with real teams, giving you insights into what works and what to avoid. Each chapter also covers hurdles that you and your team may face and what to do to clear them.