Book picks similar to
Assembly Language and Computer Architecture Using C++ and Java by Anthony J. Dos Reis
computer-science
self-study
geek-stuff
egr102
Show Stopper!: The Breakneck Race to Create Windows NT and the Next Generation at Microsoft
G. Pascal Zachary - 1994
Describes the five-year, 150 million dollar project Microsoft undertook to develop an advanced PC operating system.
Effective Objective-C 2.0: 52 Specific Ways to Improve Your IOS and OS X Programs
Matt Galloway - 2013
Using the concise, scenario-driven style pioneered in Scott Meyers' best-selling Effective C++, Matt Galloway brings together 52 Objective-C best practices, tips, shortcuts, and realistic code examples that are available nowhere else. Through real-world examples, Galloway uncovers little-known Objective-C quirks, pitfalls, and intricacies that powerfully impact code behavior and performance. You'll learn how to choose the most efficient and effective way to accomplish key tasks when multiple options exist, and how to write code that's easier to understand, maintain, and improve. Galloway goes far beyond the core language, helping you integrate and leverage key Foundation framework classes and modern system libraries, such as Grand Central Dispatch. Coverage includes Optimizing interactions and relationships between Objective-C objects Mastering interface and API design: writing classes that feel "right at home" Using protocols and categories to write maintainable, bug-resistant code Avoiding memory leaks that can still occur even with Automatic Reference Counting (ARC) Writing modular, powerful code with Blocks and Grand Central Dispatch Leveraging differences between Objective-C protocols and multiple inheritance in other languages Improving code by more effectively using arrays, dictionaries, and sets Uncovering surprising power in the Cocoa and Cocoa Touch frameworks
Designing Interfaces: Patterns for Effective Interaction Design
Jenifer Tidwell - 2005
Users demand software that is well-behaved, good-looking, and easy to use. Your clients or managers demand originality and a short time to market. Your UI technology -- web applications, desktop software, even mobile devices -- may give you the tools you need, but little guidance on how to use them well.UI designers over the years have refined the art of interface design, evolving many best practices and reusable ideas. If you learn these, and understand why the best user interfaces work so well, you too can design engaging and usable interfaces with less guesswork and more confidence.Designing Interfaces captures those best practices as design patterns -- solutions to common design problems, tailored to the situation at hand. Each pattern contains practical advice that you can put to use immediately, plus a variety of examples illustrated in full color. You'll get recommendations, design alternatives, and warnings on when not to use them.Each chapter's introduction describes key design concepts that are often misunderstood, such as affordances, visual hierarchy, navigational distance, and the use of color. These give you a deeper understanding of why the patterns work, and how to apply them with more insight.A book can't design an interface for you -- no foolproof design process is given here -- but Designing Interfaces does give you concrete ideas that you can mix and recombine as you see fit. Experienced designers can use it as a sourcebook of ideas. Novice designers will find a roadmap to the world of interface and interaction design, with enough guidance to start using these patterns immediately.
The Design of Design: Essays from a Computer Scientist
Frederick P. Brooks Jr. - 2010
But what do we really know about the design process? What leads to effective, elegant designs? The Design of Design addresses these questions. These new essays by Fred Brooks contain extraordinary insights for designers in every discipline. Brooks pinpoints constants inherent in all design projects and uncovers processes and patterns likely to lead to excellence. Drawing on conversations with dozens of exceptional designers, as well as his own experiences in several design domains, Brooks observes that bold design decisions lead to better outcomes. The author tracks the evolution of the design process, treats collaborative and distributed design, and illuminates what makes a truly great designer. He examines the nuts and bolts of design processes, including budget constraints of many kinds, aesthetics, design empiricism, and tools, and grounds this discussion in his own real-world examples--case studies ranging from home construction to IBM's Operating System/360. Throughout, Brooks reveals keys to success that every designer, design project manager, and design researcher should know.
Software Requirements 3
Karl Wiegers - 1999
Two leaders in the requirements community have teamed up to deliver a contemporary set of practices covering the full range of requirements development and management activities on software projects. Describes practical, effective, field-tested techniques for managing the requirements engineering process from end to end. Provides examples demonstrating how requirements "good practices" can lead to fewer change requests, higher customer satisfaction, and lower development costs. Fully updated with contemporary examples and many new practices and techniques. Describes how to apply effective requirements practices to agile projects and numerous other special project situations. Targeted to business analysts, developers, project managers, and other software project stakeholders who have a general understanding of the software development process. Shares the insights gleaned from the authors' extensive experience delivering hundreds of software-requirements training courses, presentations, and webinars.New chapters are included on specifying data requirements, writing high-quality functional requirements, and requirements reuse. Considerable depth has been added on business requirements, elicitation techniques, and nonfunctional requirements. In addition, new chapters recommend effective requirements practices for various special project situations, including enhancement and replacement, packaged solutions, outsourced, business process automation, analytics and reporting, and embedded and other real-time systems projects.
Algorithms in a Nutshell
George T. Heineman - 2008
Algorithms in a Nutshell describes a large number of existing algorithms for solving a variety of problems, and helps you select and implement the right algorithm for your needs -- with just enough math to let you understand and analyze algorithm performance. With its focus on application, rather than theory, this book provides efficient code solutions in several programming languages that you can easily adapt to a specific project. Each major algorithm is presented in the style of a design pattern that includes information to help you understand why and when the algorithm is appropriate. With this book, you will:Solve a particular coding problem or improve on the performance of an existing solutionQuickly locate algorithms that relate to the problems you want to solve, and determine why a particular algorithm is the right one to useGet algorithmic solutions in C, C++, Java, and Ruby with implementation tipsLearn the expected performance of an algorithm, and the conditions it needs to perform at its bestDiscover the impact that similar design decisions have on different algorithmsLearn advanced data structures to improve the efficiency of algorithmsWith Algorithms in a Nutshell, you'll learn how to improve the performance of key algorithms essential for the success of your software applications.
A Need to Kill: The True-Crime Account of John Joubert, Nebraska's Most Notorious Serial Child Killer
Mark Pettit - 1990
Now, dramatic and chilling new evidence comes to light exposing the sinister thoughts running through the mind of John Joubert--the man behind the Nebraska killings. Former TV news anchorman, investigative reporter and three time Emmy winner Mark Pettit returns to the case to write the final chapter in his best-selling, and now newly updated book: A Need to Kill: The True-Crime Account of John Joubert, Nebraska’s Most Notorious Serial Child Killer. In the spirit of Truman Capote’s “In Cold Blood,” Pettit delves into the Joubert case to tell the dramatic story from all angles as a non-fiction novel. In a series of exclusive, face-to-face interviews with Pettit, Joubert admits to a string of violent crimes and another killing that sends investigators into a frenzy ending with Joubert being convicted for a third murder and ultimately executed in Nebraska’s electric chair. Now, 30 years after the murders in Nebraska, Pettit uncovers shocking new evidence from Joubert’s prison records that proves the killer was fantasizing about committing more violent crimes. Never-before-seen death row drawings made by Joubert while he waited to be executed once again send a chill through Nebraska and those touched by Joubert’s horrific crimes. In the updated version of his book, Pettit opens his investigative files to the public and for the first time, shares handwritten letters Joubert wrote to the journalist while in prison. Pettit also reveals aspects of Joubert’s personality gleaned during the exclusive interviews and details from the death row discussions that have never been shared publicly.
Unabomber: How the FBI Broke Its Own Rules to Capture the Terrorist Ted Kaczynski
Jim Freeman - 2014
When a new team of hand- picked, investigators, devised a different strategy to crack the genetic code that protected the Unabomber’s anonymity, the first task was to begin blasting away the layers of bureaucratic constraints that had plagued the earlier efforts to retrace the trail of crimes. As the rules broke and the bureaucratic restraints crumbled, the puzzle pieces of earlier bombings that the terrorist left behind were found and the puzzle collapsed around the Unabomber like a deck of cards. This is the story, told in the narrative, by the three FBI Agents who led the chase, of how, they broke the Bureau’s own rules and finally captured the notorious Unabomber who had led the Federal Bureau of Investigation on the longest chase in its century- old history.
Hands-On Programming with R: Write Your Own Functions and Simulations
Garrett Grolemund - 2014
With this book, you'll learn how to load data, assemble and disassemble data objects, navigate R's environment system, write your own functions, and use all of R's programming tools.RStudio Master Instructor Garrett Grolemund not only teaches you how to program, but also shows you how to get more from R than just visualizing and modeling data. You'll gain valuable programming skills and support your work as a data scientist at the same time.Work hands-on with three practical data analysis projects based on casino gamesStore, retrieve, and change data values in your computer's memoryWrite programs and simulations that outperform those written by typical R usersUse R programming tools such as if else statements, for loops, and S3 classesLearn how to write lightning-fast vectorized R codeTake advantage of R's package system and debugging toolsPractice and apply R programming concepts as you learn them
Computer Networking: A Top-Down Approach
James F. Kurose - 2000
Building on the successful top-down approach of previous editions, this fourth edition continues with an early emphasis on application-layer paradigms and application programming interfaces, encouraging a hands-on experience with protocols and networking concepts.
Tesla Motors: How Elon Musk and Company Made Electric Cars Cool, and Sparked the Next Tech Revolution
Charles Morris - 2014
The most trusted sources in the auto industry have called its Model S the most advanced, safest and best-performing car ever built - and it doesn’t use a drop of gasoline. Tesla has changed the way the public perceives electric vehicles, and inspired the major automakers to revive their own dormant efforts to sell EVs. However, even amidst the avalanche of media coverage that followed the triumph of the Model S, few have grasped the true significance of what is happening. Tesla has redefined the automobile, sparked a new wave of innovation comparable to the internet and mobile computing revolutions, and unleashed forces that will transform not just the auto industry, but every aspect of society. The Tesla story is one part of an ongoing tide of change driven by the use of information technology to eliminate “friction” such as geographic distance, middlemen and outdated regulations. Tesla is simply applying the new order to the auto industry, but the automobile is such a pervasive influence in our lives that redefining how it is designed, built, driven and sold will have sweeping effects in unexpected areas. Just as Tesla built the Model S as an electric vehicle “from the ground up,” it has taken an outsider’s approach to the way it markets its cars. Its direct sales model has drawn legal challenges from entrenched auto dealers, who fear that their outdated business model will be destroyed. Its systems approach to the software and electronics in its cars has highlighted how far behind the technological times the major automakers are. It’s easy to see why readers find Tesla irresistible. CEO Elon Musk is a superstar entrepreneur, a “nauseatingly pro-US” immigrant and the leader of two other cutting-edge companies. Tesla dares to challenge the establishment behemoths and, so far at least, has handily beaten them at their own game. In this history of the 21st century’s most exciting startup, Charles Morris begins with a brief history of EVs and a biography of Tesla’s driving force, Elon Musk. He then details the history of the company, told in the words of the Silicon Valley entrepreneurs who made it happen. There are many fascinating stories here: Martin Eberhard’s realization that there were many like himself, who loved fast cars but wanted to help the environment and bring about the post-oil age; the freewheeling first days, reminiscent of the early internet era; the incredible ingenuity of the team who built the Roadster; Tesla’s near-death experience and miraculous resurrection; the spiteful split between the company’s larger-than-life leaders; the gloves-off battles with hostile media such as Top Gear and the New York Times; and the media’s ironic about-face when the magnificent Model S won the industry’s highest honors, and naysayers became cheerleaders overnight. And the story is just beginning: Tesla has breathtakingly ambitious plans for the future.This book was updated May 1, 2015 to include the latest on the Gigafactory and the D package.
How To Destroy A Tech Startup In Three Easy Steps
Lawrence Krubner - 2017
When inexperienced entrepreneurs ask my advice about their idea for a tech startup, they often worry "What if Google decides to compete with us? They will crush us!" I respond that far more startups die of suicide than homicide. If you can avoid hurting yourself, then you are already better off than most of your competitors. Startups are a chance to build something entirely original with brilliant and ambitious people. But startups are also dangerous. Limited money means there is little room for mistakes. One bad decision can mean bankruptcy. The potential payoff attracts capital, which in turn attracts scam artists. The unscrupulous often lack the skills needed to succeed, but sometimes they are smart enough to trick investors. Even entrepreneurs who start with a strong moral compass can find that the threat of failure unmoors their ethics from their ambition. Emotions matter. We might hope that those in leadership positions possess strength and resilience, but vanity and fragile egos have sabotaged many of the businesses that I’ve worked with. Defeat is always a possibility, and not everyone finds healthy ways to deal with the stress. In this book I offer both advice and also warnings. I've seen certain self-destructive patterns play out again and again, so I wanted to document one of the most extreme cases that I've witnessed. In 2015 I worked for a startup that began with an ingenious idea: to use the software techniques known as Natural Language Processing to allow people to interact with databases by writing ordinary English sentences. This was a multi-billion dollar idea that could have transformed the way people gathered and used information. However, the venture had inexperienced leadership. They burned through their $1.3 million seed money. As their resources dwindled, their confidence transformed into doubt, which was aggravated by edicts from the Board Of Directors ordering sudden changes that effectively threw away weeks' worth of work. Every startup forces its participants into extreme positions, often regarding budget and deadlines. Often these situations are absurd to the point of parody. Therefore, there is considerable humor in this story. The collision of inexperience and desperation gives rise to moments that are simply silly. I tell this story in a day-to-day format, both to capture the early optimism, and then the later sense of panic. Here then, is a cautionary tale, a warning about tendencies that everyone joining a startup should be on guard against."