Book picks similar to
High Speed Digital Design: A Handbook of Black Magic by Howard Johnson
electronics
engineering
technical
ee
Professional Test Driven Development with C#: Developing Real World Applications with Tdd
James Bender - 2011
This hands-on guide provides invaluable insight for creating successful test-driven development processes. With source code and examples featured in both C# and .NET, the book walks you through the TDD methodology and shows how it is applied to a real-world application. You'll witness the application built from scratch and details each step that is involved in the development, as well as any problems that were encountered and the solutions that were applied.Clarifies the motivation behind test-driven development (TDD), what it is, and how it works Reviews the various steps involved in developing an application and the testing that is involved prior to implementing the functionality Discusses unit testing and refactoring Professional Test-Driven Development with C# shows you how to create great TDD processes right away.
SQL and Relational Theory: How to Write Accurate SQL Code
C.J. Date - 2009
On the other hand, if you're not well versed in the theory, you can fall into several traps. In SQL and Relational Theory, author C.J. Date demonstrates how you can apply relational theory directly to your use of SQL. With numerous examples and clear explanations of the reasoning behind them, you'll learn how to deal with common SQL dilemmas, such as:Should database access granted be through views instead of base tables? Nulls in your database are causing you to get wrong answers. Why? What can you do about it? Could you write an SQL query to find employees who have never been in the same department for more than six months at a time? SQL supports "quantified comparisons," but they're better avoided. Why? How do you avoid them? Constraints are crucially important, but most SQL products don't support them properly. What can you do to resolve this situation? Database theory and practice have evolved since Edgar Codd originally defined the relational model back in 1969. Independent of any SQL products, SQL and Relational Theory draws on decades of research to present the most up-to-date treatment of the material available anywhere. Anyone with a modest to advanced background in SQL will benefit from the many insights in this book.
C: A Reference Manual
Samuel P. Harbison III - 1984
It discusses the ongoing, international standardization of C++, explores the importance of Clean C code in the common subset of the ISO C and C++ languages, and demonstrates other ways to program in a style that is more compatible with C++.
Peopleware: Productive Projects and Teams
Tom DeMarco - 1987
The answers aren't easy -- just incredibly successful.
OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 2
Dave Shreiner - 1999
The OpenGL Programming Guide provides definitive and comprehensive information on OpenGL and the OpenGL Utility Library. It is far and away the most important book on OpenGL, and is commonly referred to by programmers simply as the Red book. Last summer the OpenGL Architectural Review Board (ARB) announced the release of the version 2.0 standard, incorporating the OpenGL Shader Language (GLSL) officially into the spec. This is the biggest change in OpenGL since its inception. This new edition will provide basic information about GLSL itself, as well as all the other changes to the 1.5 and 1.0 versions. the official, comprehensive guide to GLSL itself. A few years ago, pundits were predicting the imminent demise of OpenGL. Far from expiring, however, OpenGL has had a resurgence in the last couple years, and has solidified its position as the defacto standard for high-quality computer graphics. This book remains the necessary guide for any developer doing graphics programming. The sample source code in the book will be available on the book's web site.
How to Solve It: A New Aspect of Mathematical Method
George Pólya - 1944
Polya, How to Solve It will show anyone in any field how to think straight. In lucid and appealing prose, Polya reveals how the mathematical method of demonstrating a proof or finding an unknown can be of help in attacking any problem that can be reasoned out--from building a bridge to winning a game of anagrams. Generations of readers have relished Polya's deft--indeed, brilliant--instructions on stripping away irrelevancies and going straight to the heart of the problem.
The Problem with Software: Why Smart Engineers Write Bad Code
Adam Barr - 2018
As the size and complexity of commercial software have grown, the gap between academic computer science and industry has widened. It's an open secret that there is little engineering in software engineering, which continues to rely not on codified scientific knowledge but on intuition and experience.Barr, who worked as a programmer for more than twenty years, describes how the industry has evolved, from the era of mainframes and Fortran to today's embrace of the cloud. He explains bugs and why software has so many of them, and why today's interconnected computers offer fertile ground for viruses and worms. The difference between good and bad software can be a single line of code, and Barr includes code to illustrate the consequences of seemingly inconsequential choices by programmers. Looking to the future, Barr writes that the best prospect for improving software engineering is the move to the cloud. When software is a service and not a product, companies will have more incentive to make it good rather than "good enough to ship."
Introducing Microsoft Power BI
Alberto Ferrari - 2016
Stay in the know, spot trends as they happen, and push your business to new limits. This e-book introduces Microsoft Power BI basics through a practical, scenario-based guided tour of the tool, showing you how to build analytical solutions using Power BI. Get an overview of Power BI, or dig deeper and follow along on your PC using the book's examples.
Leading the Transformation: Applying Agile and DevOps Principles at Scale
Gary Gruver - 2015
Leading-edge companies like Amazon and Google are applying DevOps and Agile principles to deliver large software projects faster than anyone thought possible. But most executives don’t understand how to transform their current legacy systems and processes to scale these principles across their organizations. Leading the Transformation is an executive guide, providing a clear framework for improving development and delivery. Instead of the traditional Agile and DevOps approaches that focus on improving the effectiveness of teams, this book targets the coordination of work across teams in large organizations—an improvement that executives are uniquely positioned to lead.
Computer Science Illuminated
Nell B. Dale - 2002
Written By Two Of Today'S Most Respected Computer Science Educators, Nell Dale And John Lewis, The Text Provides A Broad Overview Of The Many Aspects Of The Discipline From A Generic View Point. Separate Program Language Chapters Are Available As Bundle Items For Those Instructors Who Would Like To Explore A Particular Programming Language With Their Students. The Many Layers Of Computing Are Thoroughly Explained Beginning With The Information Layer, Working Through The Hardware, Programming, Operating Systems, Application, And Communication Layers, And Ending With A Discussion On The Limitations Of Computing. Perfect For Introductory Computing And Computer Science Courses, Computer Science Illuminated, Third Edition's Thorough Presentation Of Computing Systems Provides Computer Science Majors With A Solid Foundation For Further Study, And Offers Non-Majors A Comprehensive And Complete Introduction To Computing.
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.
Practical Vim: Edit Text at the Speed of Thought
Drew Neil - 2012
It's available on almost every OS--if you master the techniques in this book, you'll never need another text editor. Practical Vim shows you 120 vim recipes so you can quickly learn the editor's core functionality and tackle your trickiest editing and writing tasks. Vim, like its classic ancestor vi, is a serious tool for programmers, web developers, and sysadmins. No other text editor comes close to Vim for speed and efficiency; it runs on almost every system imaginable and supports most coding and markup languages. Learn how to edit text the "Vim way:" complete a series of repetitive changes with The Dot Formula, using one keystroke to strike the target, followed by one keystroke to execute the change. Automate complex tasks by recording your keystrokes as a macro. Run the same command on a selection of lines, or a set of files. Discover the "very magic" switch, which makes Vim's regular expression syntax more like Perl's. Build complex patterns by iterating on your search history. Search inside multiple files, then run Vim's substitute command on the result set for a project-wide search and replace. All without installing a single plugin! You'll learn how to navigate text documents as fast as the eye moves--with only a few keystrokes. Jump from a method call to its definition with a single command. Use Vim's jumplist, so that you can always follow the breadcrumb trail back to the file you were working on before. Discover a multilingual spell-checker that does what it's told.Practical Vim will show you new ways to work with Vim more efficiently, whether you're a beginner or an intermediate Vim user. All this, without having to touch the mouse.What You Need: Vim version 7
The Haskell School of Expression: Learning Functional Programming Through Multimedia
Paul Hudak - 2000
It has become popular in recent years because of its simplicity, conciseness, and clarity. This book teaches functional programming as a way of thinking and problem solving, using Haskell, the most popular purely functional language. Rather than using the conventional (boring) mathematical examples commonly found in other programming language textbooks, the author uses examples drawn from multimedia applications, including graphics, animation, and computer music, thus rewarding the reader with working programs for inherently more interesting applications. Aimed at both beginning and advanced programmers, this tutorial begins with a gentle introduction to functional programming and moves rapidly on to more advanced topics. Details about progamming in Haskell are presented in boxes throughout the text so they can be easily found and referred to.
The Art of Deception: Controlling the Human Element of Security
Kevin D. Mitnick - 2001
Since his release from federal prison, in 1998, Mitnick has turned his life around and established himself as one of the most sought-after computer security experts worldwide. Now, in The Art of Deception, the world's most notorious hacker gives new meaning to the old adage, "It takes a thief to catch a thief." Focusing on the human factors involved with information security, Mitnick explains why all the firewalls and encryption protocols in the world will never be enough to stop a savvy grifter intent on rifling a corporate database or an irate employee determined to crash a system. With the help of many fascinating true stories of successful attacks on business and government, he illustrates just how susceptible even the most locked-down information systems are to a slick con artist impersonating an IRS agent. Narrating from the points of view of both the attacker and the victims, he explains why each attack was so successful and how it could have been prevented in an engaging and highly readable style reminiscent of a true-crime novel. And, perhaps most importantly, Mitnick offers advice for preventing these types of social engineering hacks through security protocols, training programs, and manuals that address the human element of security.
Are You Smart Enough to Work at Google?
William Poundstone - 2012
The blades start moving in 60 seconds. What do you do? If you want to work at Google, or any of America's best companies, you need to have an answer to this and other puzzling questions. Are You Smart Enough to Work at Google? guides readers through the surprising solutions to dozens of the most challenging interview questions. The book covers the importance of creative thinking, ways to get a leg up on the competition, what your Facebook page says about you, and much more. Are You Smart Enough to Work at Google? is a must-read for anyone who wants to succeed in today's job market.