Book picks similar to
Strategies For Real Time System Specification by Derek J. Hatley
code_complete
shelfari-business
shelfari-business-sw-engineering
shelfari-confirmed
The Rookie: An Odyssey through Chess (and Life)
Stephen Moss - 2016
Stephen Moss sets out to master its mysteries, and unlock the secret of its enduring appeal. What, he asks, is the essence of chess? And what will it reveal about his own character along the way?In a witty, accessible style that will delight newcomers and irritate purists, Moss imagines the world as a board and marches across it, offering a mordant report on the world of chess in 64 chapters--64 of course being the number of squares on the chessboard. He alternates between "black" chapters--where he plays, largely uncomprehendingly, in tournaments--and "white" chapters, where he seeks advice from the current crop of grandmasters and delves into the lives of great players of the past.It is both a history of the game and a kind of "Zen and the Art of Chess"; a practical guide and a self-help book: Moss's quest to understand chess and become a better player is really an attempt to escape a lifetime of dilettantism. He wants to become an expert at one thing. What will be the consequences when he realizes he is doomed to fail?Moss travels to Russia and the US--hotbeds of chess throughout the 20th century; meets people who knew Bobby Fischer when he was growing up and tries to unravel the enigma of that tortured genius who died in 2008 at the inevitable age of 64; meets Garry Kasparov and Magnus Carlsen, world champions past and present; and keeps bumping into Armenian superstar Levon Aronian in the gents at tournaments.He becomes champion of Surrey, wins tournaments in Chester and Bury St Edmunds, and holds his own at the famous event in the Dutch seaside resort of Wijk aan Zee (until a last-round meltdown), but too often he is beaten by precocious 10-year-olds and finds it hard to resist the urge to punch them. He looks for spiritual fulfilment in the game, but mostly finds mental torture.
Introduction to Networking: How the Internet Works
Charles Severance - 2015
While very complex, the Internet operates on a few relatively simple concepts that anyone can understand. Networks and networked applications are embedded in our lives. Understanding how these technologies work is invaluable. This book was written for everyone - no technical knowledge is required!While this book is not specifically about the Network+ or CCNA certifications, it as a way to give students interested in these certifications a starting point.
How to Make Your Electric Guitar Play Great: The Electric Guitar Owner's Manual
Dan Erlewine - 2001
From shopping for a first electric guitar to setting customized action, this do-it-yourself player's primer for owning and maintaining an electric guitar explains the ins and outs of: choosing the right guitar; cleaning, tools and basic maintenance; personalizing and improving on a "factory setup"; trouble-shooting; basic guitar electronics; setups of the pros; and much more. Written by Dan Erlewine, author of the bestselling Guitar Player Repair Guide and the popular "Repairs" column in Guitar Player magazine, this book also includes a plastic sheet with specialized guitar tools you can snap-out!
Two Scoops of Django: Best Practices for Django 1.5
Daniel Roy Greenfeld - 2013
We'll introduce you to various tips, tricks, patterns, code snippets, and techniques that we've picked up over the years.This book is great for:Beginners who have just finished the Django tutorial.Developers with intermediate knowledge of Django who want to improve their Django projects.
War and Peace and IT: Business Leadership, Technology, and Success in the Digital Age
Mark Schwartz - 2019
It is the relationship between the business and its IT organization, an uneasy and less than effective alliance born of misunderstandings, a hazy sense of shared mission, and nerds versus suits stereotypes. In War and Peace and IT: Business Leadership, Technology, and Success in the Digital Age, Mark Schwartz, author of A Seat at the Table: IT Leadership in the Age of Agility and The Art of Business Value, shows why and how executives and business leaders must create a shared strategy with their IT organizations to drive innovation, enhance their competitive positioning, increase revenue, and delight customers.
Thinking Forth
Leo Brodie - 1984
Published first in 1984, it could be among the timeless classics of computer books, such as Fred Brooks' The Mythical Man-Month and Donald Knuth's The Art of Computer Programming. Many software engineering principles discussed here have been rediscovered in eXtreme Programming, including (re)factoring, modularity, bottom-up and incremental design. Here you'll find all of those and more, such as the value of analysis and design, described in Leo Brodie's down-to-earth, humorous style, with illustrations, code examples, practical real life applications, illustrative cartoons, and interviews with Forth's inventor, Charles H. Moore as well as other Forth thinkers.
LISP in Small Pieces
Christian Queinnec - 1996
It describes 11 interpreters and 2 compilers, including very recent techniques of interpretation and compilation. The book is in two parts. The first starts from a simple evaluation function and enriches it with multiple name spaces, continuations and side-effects with commented variants, while at the same time the language used to define these features is reduced to a simple lambda-calculus. Denotational semantics is then naturally introduced. The second part focuses more on implementation techniques and discusses precompilation for fast interpretation: threaded code or bytecode; compilation towards C. Some extensions are also described such as dynamic evaluation, reflection, macros and objects. This will become the new standard reference for people wanting to know more about the Lisp family of languages: how they work, how they are implemented, what their variants are and why such variants exist. The full code is supplied (and also available over the Net). A large bibliography is given as well as a considerable number of exercises. Thus it may also be used by students to accompany second courses on Lisp or Scheme.
Ship It!
Jared Richardson - 2005
You'll get quick, easy-to-follow advice on modern practices: which to use, and when they should be applied. This book avoids current fashion trends and marketing hype; instead, readers find page after page of solid advice, all tried and tested in the real world.Aimed at beginning to intermediate programmers, Ship It! will show you:Which tools help, and which don't How to keep a project moving Approaches to scheduling that work How to build developers as well as product What's normal on a project, and what's not How to manage managers, end-users and sponsors Danger signs and how to fix them Few of the ideas presented here are controversial or extreme; most experienced programmers will agree that this stuff works. Yet 50 to 70 percent of all project teams in the U.S. aren't able to use even these simple, well-accepted practices effectively. This book will help you get started.Ship It! begins by introducing the common technical infrastructure that every project needs to get the job done. Readers can choose from a variety of recommended technologies according to their skills and budgets. The next sections outline the necessary steps to get software out the door reliably, using well-accepted, easy-to-adopt, best-of-breed practices that really work.Finally, and most importantly, Ship It! presents common problems that teams face, then offers real-world advice on how to solve them.
Ashtanga Yoga - The Intermediate Series: Mythology, Anatomy, and Practice
Gregor Maehle - 2009
An expert yogi and teacher, Maehle will guide you to your next level with an unprecedented depth of anatomical explanation and unparalleled attention to the practice’s philosophical and mythological heritage. You will learn:The background and applications of each of the three forms of yoga: Karma, Bhakti, and JnanaHow to use Indian myth and cosmology to deepen your practiceThe importance of the Sanskrit language to the yogic traditionThe mythology behind the names of the Intermediate Series posturesThe functions and limitations of body parts integral to the Intermediate Series, including the spine, the sacroiliac joint, the shoulder joint, and the hip jointHow to reap the full benefits of practicing the Intermediate SeriesMaehle meticulously explores all twenty-seven postures of the Intermediate Series through photos, anatomical line drawings, and practical, informative sidebars. He also discusses the philosophical and spiritual background of Ashtanga Yoga and places the practice within the context of Indian cultural history. With passionate erudition, Maehle will prepare you to reap physical, spiritual, and mental fulfillment from your evolving practice.
Your Code As a Crime Scene: Use Forensic Techniques to Arrest Defects, Bottlenecks, and Bad Design in Your Programs
Adam Tornhill - 2014
Inspired by forensic psychology methods, you'll learn strategies to predict the future of your codebase, assess refactoring direction, and understand how your team influences the design. With its unique blend of forensic psychology and code analysis, this book arms you with the strategies you need, no matter what programming language you use.Software is a living entity that's constantly changing. To understand software systems, we need to know where they came from and how they evolved. By mining commit data and analyzing the history of your code, you can start fixes ahead of time to eliminate broken designs, maintenance issues, and team productivity bottlenecks. In this book, you'll learn forensic psychology techniques to successfully maintain your software. You'll create a geographic profile from your commit data to find hotspots, and apply temporal coupling concepts to uncover hidden relationships between unrelated areas in your code. You'll also measure the effectiveness of your code improvements. You'll learn how to apply these techniques on projects both large and small. For small projects, you'll get new insights into your design and how well the code fits your ideas. For large projects, you'll identify the good and the fragile parts.Large-scale development is also a social activity, and the team's dynamics influence code quality. That's why this book shows you how to uncover social biases when analyzing the evolution of your system. You'll use commit messages as eyewitness accounts to what is really happening in your code. Finally, you'll put it all together by tracking organizational problems in the code and finding out how to fix them. Come join the hunt for better code!
Java Se8 for the Really Impatient: A Short Course on the Basics
Cay S. Horstmann - 2013
The addition of lambda expressions (closures) and streams represents the biggest change to Java programming since the introduction of generics and annotations. Now, with Java SE 8 for the Really Impatient , internationally renowned Java author Cay S. Horstmann concisely introduces Java 8's most valuable new features (plus a few Java 7 innovations that haven't gotten the attention they deserve). If you're an experienced Java programmer, Horstmann's practical insights and sample code will help you quickly take advantage of these and other Java language and platform improvements. This indispensable guide includes Coverage of using lambda expressions (closures) to write computation "snippets" that can be passed to utility functions The brand-new streams API that makes Java collections far more flexible and efficient Major updates to concurrent programming that make use of lambda expressions (filter/map/reduce) and that provide dramatic performance improvements for shared counters and hash tables A full chapter with advice on how you can put lambda expressions to work in your own programs Coverage of the long-awaited introduction of a well-designed date/time/calendar library (JSR 310) A concise introduction to JavaFX, which is positioned to replace Swing GUIs, and to the Nashorn Javascript engine A thorough discussion of many small library changes that make Java programming more productive and enjoyable This is the first title to cover all of these highly anticipated improvements and is invaluable for anyone who wants to write tomorrow's most robust, efficient, and secure Java code.
All Round View
Imran Khan - 1988
He tells of his life and the game he loves: from his childhood in Lahore, to his student days at Oxford (where he led the University team), his time at Worcester and thence to Sussex, culminating in his captaincy of Pakistan. A self portrait emerges of a man who has spent fifteen years at the top: years which have wrought changes - political, commercial and tactical - in the way cricket is played and promoted; changes too, in the man himself, as he reconciled his Muslim upbringing with the professional and personal pressures of being an international sportsman.
Programming Scala
Venkat Subramaniam - 2009
You can use it to write traditional, imperative, object-oriented code. But you can also leverage its higher level of abstraction to take full advantage of modern, multicore systems. Programming Scala will show you how to use this powerful functional programming language to create highly scalable, highly concurrent applications on the Java Platform. The increasing popularity and availability of multicore processors is creating a whole new set of challenges--although you can enjoy true concurrency, you're now faced with higher contention and synchronization issues. Deploying an existing application on a multicore processor may bring out previously hidden concurrency issues. Java's multi-threading facility by itself isn't enough---it's a very low level abstraction. Instead, you need a paradigm that provides a higher level of abstraction to deal with concurrency. It's time to embrace Functional Programming. Scala is a hybrid Object-Oriented/Functional Programming language on the JVM. Using Scala, you can create traditional imperative programs, intermix them with Java code, and at the same time take advantage of higher levels of abstraction. You can use features that lead to concise, highly expressive code that remove the pain of dealing with concurrency.Programming Scala will show you the fundamentals of functional programming using Scala. Very quickly, you'll learn how this statically typed language can give you dynamic capabilities to create concise, scalable, highly capable concurrent code. Pragmatic programmers always use the right tool for the job. For concurrent programming on the Java VM, Scala is the tool, and Programming Scala by award-winning author Venkat Subramaniam is your guide.
Purely Functional Data Structures
Chris Okasaki - 1996
However, data structures for these languages do not always translate well to functional languages such as Standard ML, Haskell, or Scheme. This book describes data structures from the point of view of functional languages, with examples, and presents design techniques that allow programmers to develop their own functional data structures. The author includes both classical data structures, such as red-black trees and binomial queues, and a host of new data structures developed exclusively for functional languages. All source code is given in Standard ML and Haskell, and most of the programs are easily adaptable to other functional languages. This handy reference for professional programmers working with functional languages can also be used as a tutorial or for self-study.
DevOps for the Modern Enterprise: Winning Practices to Transform Legacy IT Organizations
Mirco Hering - 2018