Best of
Software

2005

Java Concurrency in Practice


Brian Goetz - 2005
    Now this same team provides the best explanation yet of these new features, and of concurrency in general. Concurrency is no longer a subject for advanced users only. Every Java developer should read this book."--Martin BuchholzJDK Concurrency Czar, Sun Microsystems"For the past 30 years, computer performance has been driven by Moore's Law; from now on, it will be driven by Amdahl's Law. Writing code that effectively exploits multiple processors can be very challenging. Java Concurrency in Practice provides you with the concepts and techniques needed to write safe and scalable Java programs for today's--and tomorrow's--systems."--Doron RajwanResearch Scientist, Intel Corp"This is the book you need if you're writing--or designing, or debugging, or maintaining, or contemplating--multithreaded Java programs. If you've ever had to synchronize a method and you weren't sure why, you owe it to yourself and your users to read this book, cover to cover."--Ted NewardAuthor of Effective Enterprise Java"Brian addresses the fundamental issues and complexities of concurrency with uncommon clarity. This book is a must-read for anyone who uses threads and cares about performance."--Kirk PepperdineCTO, JavaPerformanceTuning.com"This book covers a very deep and subtle topic in a very clear and concise way, making it the perfect Java Concurrency reference manual. Each page is filled with the problems (and solutions!) that programmers struggle with every day. Effectively exploiting concurrency is becoming more and more important now that Moore's Law is delivering more cores but not faster cores, and this book will show you how to do it."--Dr. Cliff ClickSenior Software Engineer, Azul Systems"I have a strong interest in concurrency, and have probably written more thread deadlocks and made more synchronization mistakes than most programmers. Brian's book is the most readable on the topic of threading and concurrency in Java, and deals with this difficult subject with a wonderful hands-on approach. This is a book I am recommending to all my readers of The Java Specialists' Newsletter, because it is interesting, useful, and relevant to the problems facing Java developers today."--Dr. Heinz KabutzThe Java Specialists' Newsletter"I've focused a career on simplifying simple problems, but this book ambitiously and effectively works to simplify a complex but critical subject: concurrency. Java Concurrency in Practice is revolutionary in its approach, smooth and easy in style, and timely in its delivery--it's destined to be a very important book."--Bruce TateAuthor of Beyond Java" Java Concurrency in Practice is an invaluable compilation of threading know-how for Java developers. I found reading this book intellectually exciting, in part because it is an excellent introduction to Java's concurrency API, but mostly because it captures in a thorough and accessible way expert knowledge on threading not easily found elsewhere."--Bill VennersAuthor of Inside the Java Virtual MachineThreads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.This book covers:Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model

Head First Java


Kathy Sierra - 2005
    You might think the problem is your brain. It seems to have a mind of its own, a mind that doesn't always want to take in the dry, technical stuff you're forced to study. The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something unusual to happen. After all, that's the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won't interfere with your brain's real work--recording things that matter. How does your brain know what matters? It's like the creators of the Head First approach say, suppose you're out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge. That's how your brain knows.And that's how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You'll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. And the new. second edition focuses on Java 5.0, the latest version of the Java language and development platform. Because Java 5.0 is a major update to the platform, with deep, code-level changes, even more careful study and implementation is required. So learning the Head First way is more important than ever. If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. You'll see why people say it's unlike any other Java book you've ever read.By exploiting how your brain works, Head First Java compresses the time it takes to learn and retain--complex information. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. If you want to be bored, buy some other book. But if you want to understand Java, this book's for you.

Java Puzzlers: Traps, Pitfalls, and Corner Cases


Joshua Bloch - 2005
    This lively book reveals oddities of the Java programming language through entertaining and thought-provoking programming puzzles.--Guy Steele, Sun Fellow and coauthor of The Java(TM) Language SpecificationI laughed, I cried, I threw up (my hands in admiration).--Tim Peierls, president, Prior Artisans LLC, and member of the JSR 166 Expert GroupHow well do you really know Java? Are you a code sleuth? Have you ever spent days chasing a bug caused by a trap or pitfall in Java or its libraries? Do you like brainteasers? Then this is the book for you!In the tradition of Effective Java(TM), Bloch and Gafter dive deep into the subtleties of the Java programming language and its core libraries. Illustrated with visually stunning optical illusions, Java(TM) Puzzlers features 95 diabolical puzzles that educate and entertain. Anyone with a working knowledge of Java will understand the puzzles, but even the most seasoned veteran will find them challenging.Most of the puzzles take the form of a short program whose behavior isn't what it seems. Can you figure out what it does? Puzzles are grouped loosely according to the features they use, and detailed solutions follow each puzzle. The solutions go well beyond a simple explanation of the program's behavior--they show you how to avoid the underlying traps and pitfalls for good. A handy catalog of traps and pitfalls at the back of the book provides a concise taxonomy for future reference.Solve these puzzles and you'll never again fall prey to the counterintuitive or obscure behaviors that can fool even the most experienced programmers.

Head First HTML with CSS & XHTML


Elisabeth Robson - 2005
    You want to learn HTML so you can finally create those web pages you've always wanted, so you can communicate more effectively with friends, family, fans, and fanatic customers. You also want to do it right so you can actually maintain and expand your Web pages over time, and so your web pages work in all the browsers and mobile devices out there. Oh, and if you've never heard of CSS, that's okay - we won't tell anyone you're still partying like it's 1999 - but if you're going to create Web pages in the 21st century then you'll want to know and understand CSS.Learn the real secrets of creating Web pages, and why everything your boss told you about HTML tables is probably wrong (and what to do instead). Most importantly, hold your own with your co-worker (and impress cocktail party guests) when he casually mentions how his HTML is now strict, and his CSS is in an external style sheet.With Head First HTML with CSS & XHTML, you'll avoid the embarrassment of thinking web-safe colors still matter, and the foolishness of slipping a font tag into your pages. Best of all, you'll learn HTML and CSS in a way that won't put you to sleep. If you've read a Head First book, you know what to expect: a visually-rich format designed for the way your brain works. Using the latest research in neurobiology, cognitive science, and learning theory, this book will load HTML, CSS, and XHTML into your brain in a way that sticks.So what are you waiting for? Leave those other dusty books behind and come join us in Webville. Your tour is about to begin."Elegant design is at the core of every chapter here, each concept conveyed with equal doses of pragmatism and wit." --Ken Goldstein, Executive Vice President, Disney Online"This book is a thoroughly modern introduction to forward-looking practices in web page markup and presentation." --Danny Goodman, author of Dynamic HTML: The Definitive Guide"What used to be a long trial and error learning process has now been reduced neatly into an engaging paperback." --Mike Davidson, CEO, Newsvine, Inc."I love Head First HTML with CSS & XHTML--it teaches you everything you need to learn in a 'fun coated' format!" --Sally Applin, UI Designer and Artist"I haven't had as much fun reading a book (other than Harry Potter) in years. And your book finally helped me break out of my hapless so-last-century way of creating web pages." --Professor David M. Arnow, Department of Computer and Information Science, Brooklyn College"If you've ever had a family member who wanted you to design a website for them, buy them Head First HTML with CSS and XHTML. If you've ever asked a family member to design you a web site, buy this book. If you've ever bought an HTML book and ended up using it to level your desk, or for kindling on a cold winter day, buy this book. This is the book you've been waiting for. This is the learning system you've been waiting for." --Warren Kelly, Blogcritics.org

Professional JavaScript for Web Developers


Nicholas C. Zakas - 2005
    This 4-book set includes:Professional JavaScript for Web Developers (ISBN: 0764579088) Professional Ajax 2nd edition (ISBN: 0470109491) Professional Web 2.0 Programming (ISBN: 0470087889) Professional Rich Internet Applications: Ajax and Beyond (ISBN: 0470082801)

Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries


Krzysztof Cwalina - 2005
    Expanded and updated for .NET 3.5, this new edition focuses on the design issues that directly affect the programmability of a class library, specifically its publicly accessible APIs. This book can improve the work of any .NET developer producing code that other developers will use. It includes copious annotations to the guidelines by thirty-five prominent architects and practitioners of the .NET Framework, providing a lively discussion of the reasons for the guidelines as well as examples of when to break those guidelines. Microsoft architects Krzysztof Cwalina and Brad Abrams teach framework design from the top down. From their significant combined experience and deep insight, you will learnThe general philosophy and fundamental principles of framework design Naming guidelines for the various parts of a framework Guidelines for the design and extending of types and members of types Issues affecting-and guidelines for ensuring-extensibility How (and how "not") to design exceptions Guidelines for-and examples of-common framework design patternsGuidelines in this book are presented in four major forms: Do, Consider, Avoid, and Do not. These directives help focus attention on practices that should "always" be used, those that should "generally" be used, those that should "rarely" be used, and those that should "never" be used. Every guideline includes a discussion of its applicability, and most include a code example to help illuminate the dialogue. "Framework Design Guidelines, Second Edition, " is the only definitive source of best practices for managed code API development, direct from the architects themselves. A companion DVD includes the Designing .NET Class Libraries video series, instructional presentations by the authors on design guidelines for developing classes and components that extend the .NET Framework. A sample API specification and other useful resources and tools are also included.

Agile Estimating and Planning


Mike Cohn - 2005
    In this book, Agile Alliance cofounder Mike Cohn discusses the philosophy of agile estimating and planning and shows you exactly how to get the job done, with real-world examples and case studies.Concepts are clearly illustrated and readers are guided, step by step, toward how to answer the following questions: What will we build? How big will it be? When must it be done? How much can I really complete by then? You will first learn what makes a good plan-and then what makes it agile.Using the techniques in Agile Estimating and Planning , you can stay agile from start to finish, saving time, conserving resources, and accomplishing more. Highlights include:Why conventional prescriptive planning fails and why agile planning works How to estimate feature size using story points and ideal days--and when to use each How and when to re-estimate How to prioritize features using both financial and nonfinancial approaches How to split large features into smaller, more manageable ones How to plan iterations and predict your team's initial rate of progress How to schedule projects that have unusually high uncertainty or schedule-related risk How to estimate projects that will be worked on by multiple teams Agile Estimating and Planning supports any agile, semiagile, or iterative process, including Scrum, XP, Feature-Driven Development, Crystal, Adaptive Software Development, DSDM, Unified Process, and many more. It will be an indispensable resource for every development manager, team leader, and team member.

Accessible XHTML and CSS Web Sites: Problem - Design - Solution


Jon Duckett - 2005
    and the U.K.

Informatica Basica [With CD-ROM]


Francisco J. Martinez - 2005
    Many practical exercises and examples are provided and the accompanying CD contains a glossary, notes, utilities, and software tools.

John Walkenbach's Favorite Excel 2007 Tips & Tricks


John Walkenbach - 2005
    For starters, we've got a new user interface, new open file formats, a larger worksheet grid, better use of memory and CPUs, new functions, and more templates. Dig a bit deeper and you'll find worksheet tables, 100 levels of undo, easier formula construction, better-looking charts, unlimited color choices, SmartArt, a handy page layout view, new conditional formatting options, new collaboration features, a very useful compatibility checker, workbook themes--and even 'skins' so you can change the look of the entire program." John Walkenbach's Favorite Excel 2007 Tips & Tricks consists of a series of non-trivial tips and tricks that cover all aspects of Excel. Tips are improved ways of maximizing the power of Excel to create robust applications. Tricks are shortcuts that will speed up application development with Excel.John's favorites include tips and tricks on dealing with function arguments, creating "impossible" charts, pivot tables, taming the new Ribbon, why use a UserForm, how to create add-ins in Excel 2007, absolute vs. relative references, changing data entry orientation, overcoming the 7-level nesting limit, dynamic chart data, sorting on more than three columns, entering fake data for testing purposes, custom functions, and much more.

Software Systems Architecture: Working with Stakeholders Using Viewpoints and Perspectives


Nick Rozanski - 2005
    This practical, practitioner-oriented guide explains how to design successful architectures for information systems and to see these through to their successful implementation.

.Net Framework Standard Library Annotated Reference, Volume 2: Networking Library, Reflection Library, and XML Library


Brad Abrams - 2005
    Written by the .NET Framework team at Microsoft and aimed at professional .NET developers, this manual is the first volume in a series that will provide a complete reference, annotated specification and descriptions, methods and diagrams to all of the .NET class libraries.

Object Oriented Program Development Using C++: A Class Centered Approach


Gary J. Bronson - 2005
    Presents algorithm development, problem solving and computer science concepts using an object early approach.

3ds Max Lighting


Nicholas Boughen - 2005
    Film, television, and broadcast graphics require a high level of skill and artistry in lighting. This title is aimed at various levels of animators and visual effects artists who wish to display world-class quality in their CG lighting environments.

Programming MapPoint in .NET


Chandu Thota - 2005
    In a word, MapPoint provides businesses with "location." Specifically, it provides an integrated set of products, servers, and services to enable a business to track the precise location of remote assets, thereby reducing operational costs and improving productivity. Whether the asset is a truck, a taxi, or even a field rep, MapPoint can tell you exactly where it is at any time.Programming MapPoint in .NET from O'Reilly shows you how to use MapPoint to build custom applications for the desktop, the web, and mobile devices. The book also explains how to analyze and share data generated from a wide range of maps, including those that show demographic trends, population density, and sales potential. Chandu Thota, one of Microsoft's main MapPoint developers and the book's author, has organized the material into four major sections, each dedicated to a different MapPoint technology:MapPoint 2004 - calculating routes, rendering data maps, integrating with Global Positioning System (GPS) for obtaining real-time location MapPoint Web Service - techniques for finding points of interest, creating applications using the Find APIs and Route APIs, rendering LineDrive maps and polygonsMapPoint Location Server - deployment scenarios, getting real-time location using mobile phones, managing contacts and privacy settings MSN Virtual Earth - the basics of programming with new MSN Virtual Earth APIsThe book provides a jumpstart for working with these technologies, including in-depth discussions about the core concepts and sample code provided in C#. It's ideal for anyone who wants to develop locations-based applications with MapPoint technologies.The next time you follow online directions to the airport, you can chalk up an assist to MapPoint's state-of-the-art interactive mapping abilities. Better yet, you'll know how to create that same type of map yourself.

Finite Model Theory and Its Applications


Erich Grädel - 2005
    One of the fundamental insights of mathematical logic is that our understanding of mathematical phenomena is enriched by elevating the languages we use to describe mathematical structures to objects of explicit study. If mathematics is the science of patterns, then the media through which we discern patterns, as well as the structures in which we discern them, command our attention. It isthis aspect oflogicwhichis mostprominentin model theory,"thebranchof mathematical logic which deals with the relation between a formal language and its interpretations." No wonder, then, that mathematical logic, and ?nite model theory in particular, should ?nd manifold applications in computer science: from specifying programs to querying databases, computer science is rife with phenomena whose understanding requires close attention to the interaction between language and structure. This volume gives a broadoverviewof some central themes of ?nite model theory: expressive power, descriptive complexity, and zero-one laws, together with selected applications to database theory and arti?cial intelligence, es- cially constraint databases and constraint satisfaction problems. The ?nal chapter provides a concise modern introduction to modal logic, which emp- sizes the continuity in spirit and technique with ?nite model theory.

How to Do Everything with Dreamweaver


Michael Meadhra - 2005
    Readers will learn to use all the components, including the visual layout tools, application development features, and code editing capabilities. The clearly defined chapters work equally well for readers who prefer to learn sequentially in a tutorial fashion, or for those who need a quick reference to a specific task or feature.

How to Cheat in Photoshop, Third Edition: The art of creating photorealistic montages - updated for CS2


Steve Caplin - 2005
    This new edition of Steve Caplin's bestseller includes new techniques showing how to make the most of the power of Photoshop CS2. New chapters are also now included on perspective, transformation and distortion, time-saving techniques, and working for print and the web. Steve Caplin shows you how to work from the problem to the solution, gaining the best possible results from Photoshop CS2. On every double page spread there is a new step-by-step project, making 150 projects in total. On the companion CD you'll find QuickTime movies of the projects illustrated in the book, along with free sample plug-ins and high resolution images allowing you to experiment with each technique and create your own montages. * Extensive new material to show you how to take your Photoshop skills even further * CD includes all the brand new images from the book, 100 high resolution AbleStock images plus QuickTime movies of the projects* Benefit from a professional illustrator's timesaving tips and tricks!

Class A ERP Implementation: Integrating Lean and Six Sigma


Donald H. Sheldon - 2005
    This book will resolve these myths by thoroughly describing the definition of Class A ERP and giving specifics for achieving Class A performance in a reasonable timeframe. Examples from successes will be referenced to and the author will build a case for breaking the journey to world-class performance into bite-sized, doable focus areas. Class A ERP Implementation will help organizations set the stage for maximum effectiveness of both Lean strategies and Six Sigma and establish ERP disciplines as the prerequisite to success.

Professional Assembly Language


Richard Blum - 2005
    Unlike high-level languages such as Java and C++, assembly language is much closer to the machine code that actually runs computers; it's used to create programs or modules that are very fast and efficient, as well as in hacking exploits and reverse engineering Covering assembly language in the Pentium microprocessor environment, this code-intensive guide shows programmers how to create stand-alone assembly language programs as well as how to incorporate assembly language libraries or routines into existing high-level applications Demonstrates how to manipulate data, incorporate advanced functions and libraries, and maximize application performance Examples use C as a high-level language, Linux as the development environment, and GNU tools for assembling, compiling, linking, and debugging

Windows XP Timesaving Techniques for Dummies


Woody Leonhard - 2005
    What if you could get a list of shortcuts that would save you time every single day? Windows XP Timesaving Techniques For Dummies, 2nd Edition includes 70 of them, great tips and tricks that make Windows work faster, more reliably, and more like the way you work. Collected and tested by Windows guru Woody Leonhard, these timesavers are organized into groups of related tasks so you can quickly find the ones that will help you at any given time. You can set up your desktop and launch your programs in the way that makes sense for you, take back control of the Internet and e-mail, manage your music and visual media, and protect your system in a few simple steps. You'll find no-nonsense advice onEliminating irritating programs that start automatically Speeding up the restart or shutdown process Streamlining searches, the Start menu, and Outlook Express Strengthening your firewall and zapping scumware Adjusting your monitor to reduce eyestrain Reducing download time for photos Enhancing the performance of your network Making online shopping faster as well as safer Scheduling maintenance chores to run while you sleep From the most basic to somewhat advanced tricks designed for power users, this grocery list of timesavers has something for every Windows XP user-- including you!

Illustrator Cs2 for Windows and Macintosh: Visual QuickStart Guide


Elaine Weinmann - 2005
    Now it' s back--revised and updated--to teach the next. Using simple step-by-step instructions, loads of screen shots, and an array of time-saving tips and tricks, this volume represents the quickest route to Illustrator CS2 proficiency. Clearly marked locators indicate new and improved features (such as enhanced type capabilities, powerful 3D graphics tools, enhanced PDF support, and more), a 24-page color section, and highly readable text create a winning combination for every level of Illustrator user.

Learning VirtualDub


Georgios Diamantopoulos - 2005
    As an Open Source application, it's free, and is constantly updated and expanded by an active community of developers and experts. VirtualDub particularly popular for capturing video from analogue sources such as video tape, cleaning up the image and compressing it ready for distribution over the Internet. This book provides a rapid and easy to use tutorial to the basic features of VirtualDub to get you up and running quickly. It explains how to capture great quality video from various sources, use filters to clean up the captured image and add special effects. The book has shows all to use VirtualDub to cut and paste video to remove or insert sequences, including removing ad breaks or trailers. It goes on to cover the art of effective encoding and compression, so you end up with great quality videos that won't hog your bandwidth forever. VirtualDub is the fastest and most effective way to capture, process and encode video on your PC. This book gets you started fast, and goes on to give you full control of all the features of this legendary tool.

Mac OS X 10.4 Tiger: Visual QuickStart Guide


Maria Langer - 2005
    Original. (Beginner).

Digital Photography with Photoshop All-In-One For Dummies Reference For Dummies


Kevin Ames - 2005
    Congratulations Now the question is, "How do I make great photos?" You're in luck The first two minibooks cover everything you want to know about using your new camera to capture images. The last three explore the wonders of digital photography using Photoshop CS2. Discover how to* Set your camera for the right exposure* Select the right lens for the job* Choose the better format--JPEG or RAW* Tweak exposure and white balance images in Photoshop* Use layer masks in retouching and special color effects