Eats, Shoots & Leaves: The Zero Tolerance Approach to Punctuation
Lynne Truss - 2003
She proclaims, in her delightfully urbane, witty, and very English way, that it is time to look at our commas and semicolons and see them as the wonderful and necessary things they are. Using examples from literature, history, neighborhood signage, and her own imagination, Truss shows how meaning is shaped by commas and apostrophes, and the hilarious consequences of punctuation gone awry.Featuring a foreword by Frank McCourt, and interspersed with a lively history of punctuation from the invention of the question mark in the time of Charlemagne to George Orwell shunning the semicolon, Eats, Shoots & Leaves makes a powerful case for the preservation of proper punctuation.
Here's Looking at Euclid: A Surprising Excursion Through the Astonishing World of Math
Alex Bellos - 2010
But, Alex Bellos says, "math can be inspiring and brilliantly creative. Mathematical thought is one of the great achievements of the human race, and arguably the foundation of all human progress. The world of mathematics is a remarkable place."Bellos has traveled all around the globe and has plunged into history to uncover fascinating stories of mathematical achievement, from the breakthroughs of Euclid, the greatest mathematician of all time, to the creations of the Zen master of origami, one of the hottest areas of mathematical work today. Taking us into the wilds of the Amazon, he tells the story of a tribe there who can count only to five and reports on the latest findings about the math instinct--including the revelation that ants can actually count how many steps they've taken. Journeying to the Bay of Bengal, he interviews a Hindu sage about the brilliant mathematical insights of the Buddha, while in Japan he visits the godfather of Sudoku and introduces the brainteasing delights of mathematical games.Exploring the mysteries of randomness, he explains why it is impossible for our iPods to truly randomly select songs. In probing the many intrigues of that most beloved of numbers, pi, he visits with two brothers so obsessed with the elusive number that they built a supercomputer in their Manhattan apartment to study it. Throughout, the journey is enhanced with a wealth of intriguing illustrations, such as of the clever puzzles known as tangrams and the crochet creation of an American math professor who suddenly realized one day that she could knit a representation of higher dimensional space that no one had been able to visualize. Whether writing about how algebra solved Swedish traffic problems, visiting the Mental Calculation World Cup to disclose the secrets of lightning calculation, or exploring the links between pineapples and beautiful teeth, Bellos is a wonderfully engaging guide who never fails to delight even as he edifies. "Here's Looking at Euclid "is a rare gem that brings the beauty of math to life.
Fluent Python: Clear, Concise, and Effective Programming
Luciano Ramalho - 2015
With this hands-on guide, you'll learn how to write effective, idiomatic Python code by leveraging its best and possibly most neglected features. Author Luciano Ramalho takes you through Python's core language features and libraries, and shows you how to make your code shorter, faster, and more readable at the same time.Many experienced programmers try to bend Python to fit patterns they learned from other languages, and never discover Python features outside of their experience. With this book, those Python programmers will thoroughly learn how to become proficient in Python 3.This book covers:Python data model: understand how special methods are the key to the consistent behavior of objectsData structures: take full advantage of built-in types, and understand the text vs bytes duality in the Unicode ageFunctions as objects: view Python functions as first-class objects, and understand how this affects popular design patternsObject-oriented idioms: build classes by learning about references, mutability, interfaces, operator overloading, and multiple inheritanceControl flow: leverage context managers, generators, coroutines, and concurrency with the concurrent.futures and asyncio packagesMetaprogramming: understand how properties, attribute descriptors, class decorators, and metaclasses work"
Code: The Hidden Language of Computer Hardware and Software
Charles Petzold - 1999
And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines. It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.
English Grammar in Use with Answers: Reference and Practice for Intermediate Students
Raymond Murphy - 1985
Covering all areas of language which students at this level find difficult, this substantially revised and updated book retains the clarity, simplicity and accessibility of the first edition, adding to it new and redesigned units and appendices, modified right-hand page exercises and additional exercises. - Easy to use: 136 two-page units combine clear, accurate language presentation on left-hand pages with thorough, varied practice on facing pages. - New additional exercises offer further practice of grammar points from different groups of units. - Designed for self-study: learners choose and study problematic areas with the help of a new study guide. - Key section contains answers to all exercises and the study guide. - Appendices deal with irregular verbs, tense formation, modals, spelling, short forms and American English.
A Mind for Numbers: How to Excel at Math and Science (Even If You Flunked Algebra)
Barbara Oakley - 2014
Engineering professor Barbara Oakley knows firsthand how it feels to struggle with math. She flunked her way through high school math and science courses, before enlisting in the army immediately after graduation. When she saw how her lack of mathematical and technical savvy severely limited her options—both to rise in the military and to explore other careers—she returned to school with a newfound determination to re-tool her brain to master the very subjects that had given her so much trouble throughout her entire life. In A Mind for Numbers, Dr. Oakley lets us in on the secrets to effectively learning math and science—secrets that even dedicated and successful students wish they’d known earlier. Contrary to popular belief, math requires creative, as well as analytical, thinking. Most people think that there’s only one way to do a problem, when in actuality, there are often a number of different solutions—you just need the creativity to see them. For example, there are more than three hundred different known proofs of the Pythagorean Theorem. In short, studying a problem in a laser-focused way until you reach a solution is not an effective way to learn math. Rather, it involves taking the time to step away from a problem and allow the more relaxed and creative part of the brain to take over. A Mind for Numbers shows us that we all have what it takes to excel in math, and learning it is not as painful as some might think!
The Glamour of Grammar: A Guide to the Magic and Mystery of Practical English
Roy Peter Clark - 2010
Roy Peter Clark, author of Writing Tools, aims to put the glamour back in grammar with this fun, engaging alternative to stuffy instructionals. In this practical guide, readers will learn everything from the different parts of speech to why effective writers prefer concrete nouns and active verbs. The Glamour of Grammar gives readers all the tools they need to"live inside the language" -- to take advantage of grammar to perfect their use of English, to instill meaning, and to charm through their writing. With this indispensable book, readers will come to see just how glamorous grammar can be.
Cracking the Coding Interview: 150 Programming Questions and Solutions
Gayle Laakmann McDowell - 2008
This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers, as well as other advice.The full list of topics are as follows:The Interview ProcessThis section offers an overview on questions are selected and how you will be evaluated. What happens when you get a question wrong? When should you start preparing, and how? What language should you use? All these questions and more are answered.Behind the ScenesLearn what happens behind the scenes during your interview, how decisions really get made, who you interview with, and what they ask you. Companies covered include Google, Amazon, Yahoo, Microsoft, Apple and Facebook.Special SituationsThis section explains the process for experience candidates, Program Managers, Dev Managers, Testers / SDETs, and more. Learn what your interviewers are looking for and how much code you need to know.Before the InterviewIn order to ace the interview, you first need to get an interview. This section describes what a software engineer's resume should look like and what you should be doing well before your interview.Behavioral PreparationAlthough most of a software engineering interview will be technical, behavioral questions matter too. This section covers how to prepare for behavioral questions and how to give strong, structured responses.Technical Questions (+ 5 Algorithm Approaches)This section covers how to prepare for technical questions (without wasting your time) and teaches actionable ways to solve the trickiest algorithm problems. It also teaches you what exactly "good coding" is when it comes to an interview.150 Programming Questions and AnswersThis section forms the bulk of the book. Each section opens with a discussion of the core knowledge and strategies to tackle this type of question, diving into exactly how you break down and solve it. Topics covered include• Arrays and Strings• Linked Lists• Stacks and Queues• Trees and Graphs• Bit Manipulation• Brain Teasers• Mathematics and Probability• Object-Oriented Design• Recursion and Dynamic Programming• Sorting and Searching• Scalability and Memory Limits• Testing• C and C++• Java• Databases• Threads and LocksFor the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile, and play with the solutions yourself.Changes from the Fourth Edition: The fifth edition includes over 200 pages of new content, bringing the book from 300 pages to over 500 pages. Major revisions were done to almost every solution, including a number of alternate solutions added. The introductory chapters were massively expanded, as were the opening of each of the chapters under Technical Questions. In addition, 24 new questions were added.Cracking the Coding Interview, Fifth Edition is the most expansive, detailed guide on how to ace your software development / programming interviews.
Polyglot: How I Learn Languages
Kató Lomb - 1970
A translator and one of the first simultaneous interpreters in the world, Lomb worked in 16 languages for state and business concerns in her native Hungary. She achieved further fame by writing books on languages, interpreting, and polyglots.Polyglot: How I Learn Languages, first published in 1970, is a collection of anecdotes and reflections on language learning. Because Dr. Lomb learned her languages as an adult, after getting a PhD in chemistry, the methods she used will thus be of particular interest to adult learners who want to master a foreign language.
Dreyer's English: An Utterly Correct Guide to Clarity and Style
Benjamin Dreyer - 2019
L. Doctorow, and Frank Rich, into a useful guide not just for writers but for everyone who wants to put their best foot forward in writing prose. Dreyer offers lessons on the ins and outs of punctuation and grammar, including how to navigate the words he calls "the confusables," like tricky homophones; the myriad ways to use (and misuse) a comma; and how to recognize--though not necessarily do away with--the passive voice. (Hint: If you can plausibly add "by zombies" to the end of a sentence, it's passive.) People are sharing their writing more than ever--on blogs, on Twitter--and this book lays out, clearly and comprehensibly, everything writers can do to keep readers focused on the real reason writers write: to communicate their ideas clearly and effectively. Chock-full of advice, insider wisdom, and fun facts on the rules (and nonrules) of the English language, this book will prove invaluable to everyone who wants to shore up their writing skills, mandatory for people who spend their time editing and shaping other people's prose, and--perhaps best of all--an utter treat for anyone who simply revels in language.
The Cambridge Encyclopedia of the English Language
David Crystal - 1995
Rarely has a book so packed with accurate and well researched factual information been so widely read and popularly acclaimed. It has played a key role in the spread of general interest in language matters, generating further publications and broadcasting events for an avid audience. Its First Edition appeared in hardback in 1995 and a revised paperback in 1997. There have been numerous subsequent updated reprintings; but this Second Edition now presents an overhaul of the subject for a new generation of language-lovers and of teachers, students and professional English-users concerned with their own linguistic legacy.The book offers a unique experience of the English language, exploring its past, present and future. David Crystal systematically explains the history, structure, variety and range of uses of English worldwide, employing a rich apparatus of text, pictures, tables, maps and graphics.The length of the Second Edition has increased by 16 pages and there are 44 new illustrations, a new chapter, extensive new material on world English and Internet English, and a complete updating of statistics, further reading suggestions and other references throughout the book.
Unlocking Japanese
Cure Dolly - 2016
A ground-breaking book that sets out to demonstrate that Japanese is “simple, logical and beautiful” and that most of the apparently “arbitrary rules” that you “just have to learn” can be reduced to simple, easily intuitive patterns if you just understand how the language really works.
Seven Languages in Seven Weeks
Bruce A. Tate - 2010
But if one per year is good, how about Seven Languages in Seven Weeks? In this book you'll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you'll broaden your perspective of programming by examining these languages side-by-side. You'll learn something new from each, and best of all, you'll learn how to learn a language quickly. Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you'll go beyond the syntax-and beyond the 20-minute tutorial you'll find someplace online. This book has an audacious goal: to present a meaningful exploration of seven languages within a single book. Rather than serve as a complete reference or installation guide, Seven Languages hits what's essential and unique about each language. Moreover, this approach will help teach you how to grok new languages. For each language, you'll solve a nontrivial problem, using techniques that show off the language's most important features. As the book proceeds, you'll discover the strengths and weaknesses of the languages, while dissecting the process of learning languages quickly--for example, finding the typing and programming models, decision structures, and how you interact with them. Among this group of seven, you'll explore the most critical programming models of our time. Learn the dynamic typing that makes Ruby, Python, and Perl so flexible and compelling. Understand the underlying prototype system that's at the heart of JavaScript. See how pattern matching in Prolog shaped the development of Scala and Erlang. Discover how pure functional programming in Haskell is different from the Lisp family of languages, including Clojure. Explore the concurrency techniques that are quickly becoming the backbone of a new generation of Internet applications. Find out how to use Erlang's let-it-crash philosophy for building fault-tolerant systems. Understand the actor model that drives concurrency design in Io and Scala. Learn how Clojure uses versioning to solve some of the most difficult concurrency problems. It's all here, all in one place. Use the concepts from one language to find creative solutions in another-or discover a language that may become one of your favorites.
How to Learn Any Language: Quickly, Easily, Inexpensively, Enjoyably and on Your Own
Barry Farber - 1991
The techniques he presents in "How to Learn Any Language" will have you speaking, reading, writing and enjoying any foreign language you want to learn - or have to learn - in a surprisingly short time.Without beating your head against verb conjugations or noun declensions, you can follow Farber's principles and glide toward proficiency in your chosen language. His method consist of four ground-breaking but simple concepts hailed by language-teaching professionals: