Programming in Objective-C


Stephen G. Kochan - 1999
    The book makes no assumption about prior experience with object-oriented programming languages or with the C language (upon which Objective-C is based). And because of this, both novice and experienced programmers alike can use this book to quickly and effectively learn the fundamentals of Objective-C. Readers can also learn the concepts of object-oriented programming without having to first learn all of the intricacies of the underlying procedural language (C). This approach, combined with many small program examples and exercises at the end of each chapter, makes it ideally suited for either classroom use or self-study. Growth is expected in this language. At the January 2003 MacWorld, it was announced that there are 5 million Mac OS X users and each of their boxes ships with Objective-C built in.

Welcome to Oz: A Cinematic Approach to Digital Still Photography with Photoshop


Vincent Versace - 2006
    You must first approach the subject with the proper sense of perception, with the ability to visualize the finished print before you commit a scene to pixels, but still be flexible and spontaneous. Master Fine Art photographer Vincent Versace has spent his career learning and teaching the art of perception and how to translate it into stunning images. In Welcome to Oz,  he delves into what it means to approach digital photography cinematically, to use your perception, your camera, and Photoshop to capture the movement of life in a still image. Features: Adapt your workflow to the image so you always know how best to use your tools Turn a seemingly impossible photographic scenario into a successful image Practice “image harvesting” to combine the best parts of  many captures to create an optimum final result Create black and white prints that have the look, feel and “richness” of traditional silver prints without ever leaving the RGB color space 224 pages.

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.

Learn You a Haskell for Great Good!


Miran Lipovača - 2011
    Learn You a Haskell for Great Good! introduces programmers familiar with imperative languages (such as C++, Java, or Python) to the unique aspects of functional programming. Packed with jokes, pop culture references, and the author's own hilarious artwork, Learn You a Haskell for Great Good! eases the learning curve of this complex language, and is a perfect starting point for any programmer looking to expand his or her horizons. The well-known web tutorial on which this book is based is widely regarded as the best way for beginners to learn Haskell, and receives over 30,000 unique visitors monthly.

The Pattern on the Stone: The Simple Ideas that Make Computers Work


William Daniel Hillis - 1998
    What they don't realize—and what Daniel Hillis's short book brilliantly demonstrates—is that computers' seemingly complex operations can be broken down into a few simple parts that perform the same simple procedures over and over again.Computer wizard Hillis offers an easy-to-follow explanation of how data is processed that makes the operations of a computer seem as straightforward as those of a bicycle. Avoiding technobabble or discussions of advanced hardware, the lucid explanations and colorful anecdotes in The Pattern on the Stone go straight to the heart of what computers really do.Hillis proceeds from an outline of basic logic to clear descriptions of programming languages, algorithms, and memory. He then takes readers in simple steps up to the most exciting developments in computing today—quantum computing, parallel computing, neural networks, and self-organizing systems.Written clearly and succinctly by one of the world's leading computer scientists, The Pattern on the Stone is an indispensable guide to understanding the workings of that most ubiquitous and important of machines: the computer.

The Great Book of Riddles: 250 Magnificent Riddles, Puzzles and Brain Teasers


Peter Keyne - 2014
    There are classical logic puzzles, lateral thinking puzzles, “who am I?” riddles, mathematical brain teasers, word ladders, ditloids, and a large selection of illustrated pen and paper, coins, cups, and toothpicks puzzles (please view the preview of this book for a full listing). This is the first time a collection of such breadth has been compiled and formatted especially for Kindle devices. The puzzles have been carefully organized into 25 chapters, and each question is hyperlinked to its solution, to provide utmost ease of navigation. Alongside the world’s most famous riddles, are some lesser known gems, and some brand new puzzles, in print here for the first time. Our aim was to create a definitive compendium of riddles and puzzles to bring enjoyment to people of all ages. We hope you will enjoy unraveling them as much as we enjoyed creating and editing them. Here are a handful of sample riddles: Outside the Box Riddles: You need to divide a round birthday cake into eight pieces, so each of your guests will have something to eat. How can you do this by making only three straight cuts with a knife, and without moving any of the pieces? The king’s two bodyguards developed an ingenious method for assuring the king’s safety. With the king standing between them, they would face in opposite directions; one looking to the west and the other to the east, but at the same time, and without the use of any reflective surfaces, they would both be able to observe the king clearly. How was this possible? Pure Logic Riddles: There are two glasses. One contains water, and the other contains an equal quantity of wine. A teaspoon of water is removed and mixed into the glass of wine. A teaspoon of the wine-water mixture is then removed and mixed into the glass of water. Which of the mixtures is now purer? The sorcerer’s tower was enchanted in such a way that it was able to build itself. Bricks, slates, tiles, and panes of glass, all flew to it of their own accord and danced into position. The tower doubled in size every day until after 100 days it reached a height that provided fine views over the entire realm. How many days did the tower take to reach half its full height? Lateral Thinking Puzzles: Five men are going to church. It starts to rain, and four of the men begin to run. When they arrive at the church, the four men who ran are soaking wet, whereas the fifth man, who didn’t run, is completely dry. How is this possible? Think Twice Riddles: If you are running a race, and you overtake the person in second place, what place do you move into? Word Riddles: SOS is read the same forwards, backwards, and even upside-down. What four-letter word also shares these properties? Number Puzzlers: How many letters are there in the answer to this question? You have an opportunity to buy a hen. In fact, you have been offered a choice between two quite remarkable animals. One of the hens produces six dozen dozen eggs per month, and the other produces a half dozen dozen. Admittedly, both seem impressive. Does it matter which hen you choose? Traditional Poetic Riddles: Five creatures cross a field of snow; But leave a single track behind Whose loops and bows are soon, I know, Unravelled by the mind. Coins, Cups, and Toothpicks Illustrated Riddles: A coin is dropped into an empty bottle and a cork is then inserted in the neck of the bottle. How is it possible to remove the coin without taking out the cork, or breaking the bottle?

Android Phones for Dummies


Dan Gookin - 2012
    Veteran world-renowned author Dan Gookin walks you through everything from getting started with setup and configuration to making the most of your phone's potential with texting, e-mailing, accessing the Internet and social networking sites, using the camera, synching with a PC, downloading apps, and more.Covers all the details of the operating system that applies to every Android phone, including Motorola Droids, HTC devices, Samsung Galaxy S phones, to name a few Walks you through basic phone operations while also encouraging you to explore your phone's full potential Serves as an ideal guide to an inexperienced Android newbie who is enthusiastic about getting a handle on everything an Android phone can do Android Phones For Dummies helps you get smarter with your Android smartphone.

Mac OS X Snow Leopard: The Missing Manual


David Pogue - 2009
    Fortunately, David Pogue is back, with the humor and expertise that have made this the #1 bestselling Mac book for eight years straight. You get all the answers with jargon-free introductions to:Big-ticket changes. A 64-bit overhaul. Faster everything. A rewritten Finder. Microsoft Exchange compatibility. All-new QuickTime Player. If Apple wrote it, this book covers it.Snow Leopard Spots. This book demystifies the hundreds of smaller enhancements, too, in all 50 programs that come with the Mac: Safari, Mail, iChat, Preview, Time Machine.Shortcuts. This must be the tippiest, trickiest Mac book ever written. Undocumented surprises await on every page.Power usage. Security, networking, build-your-own Services, file sharing with Windows, even Mac OS X's Unix chassis-this one witty, expert guide makes it all crystal clear.

The Art of Computer Programming, Volume 1: Fundamental Algorithms


Donald Ervin Knuth - 1973
     -Byte, September 1995 I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up. -Charles Long If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing. -Bill Gates It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers. -Jonathan Laventhol This first volume in the series begins with basic programming concepts and techniques, then focuses more particularly on information structures-the representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently. Elementary applications are given to simulation, numerical methods, symbolic computing, software and system design. Dozens of simple and important algorithms and techniques have been added to those of the previous edition. The section on mathematical preliminaries has been extensively revised to match present trends in research. Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP), http: //msp.org

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.

Mind Performance Hacks: Tips & Tools for Overclocking Your Brain


Ron Hale-Evans - 2006
    This book can make you smarter.Mind Performance Hacks provides real-life tips and tools for overclocking your brain and becoming a better thinker. In the increasingly frenetic pace of today's information economy, managing your life requires hacking your brain. With this book, you'll cut through the clutter and tune up your brain intentionally, safely, and productively.Grounded in current research and theory, but offering practical solutions you can apply immediately, Mind Performance Hacks is filled with life hacks that teach you to:Use mnemonic tricks to remember numbers, names, dates, and other flotsam you need to recall. Put down your calculator and perform complex math in your head, with your fingers, or on the back of a napkin. Spark your creativity with innovative brainstorming methods. Use effective systems to capture new ideas before they get away. Communicate in creative new ways-even using artificial languages. Make better decisions by foreseeing problems and finding surprising solutions. Improve your mental fitness with cool tricks and games.While the hugely successful Mind Hacks showed you how your brain works, Mind Performance Hacks shows you how to make it work better.

The Nature of Code


Daniel Shiffman - 2012
    Readers will progress from building a basic physics engine to creating intelligent moving objects and complex systems, setting the foundation for further experiments in generative design. Subjects covered include forces, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms. The book's examples are written in Processing, an open-source language and development environment built on top of the Java programming language. On the book's website (http://www.natureofcode.com), the examples run in the browser via Processing's JavaScript mode.

The Food Medic


Hazel Wallace - 2017
     'I'm a girl who juggles two jobs, who loves to lift, who adores real food - and can't resist chocolate.As a junior doctor and a personal trainer, I know that we all feel our best when we are free of illness, full of energy and at a healthy weight - and I know it can be done, even if you lead the busiest of lives!I want to debunk the myths that are out there surrounding dieting and instead offer solid, evidence-based advice.I want to bridge the gap between mainstream medicine and nutrition and help you take full control of your fitness and wellbeing, so you will never have to diet again.I want to show you that eating the most natural, unrefined and unprocessed wholefood ingredients can be enjoyable, uncomplicated and easy to incorporate into a busy lifestyle.I want this book to change your life.'Hazel x

The Haskell Road to Logic, Maths and Programming


Kees Doets - 2004
    Haskell emerged in the last decade as a standard for lazy functional programming, a programming style where arguments are evaluated only when the value is actually needed. Haskell is a marvellous demonstration tool for logic and maths because its functional character allows implementations to remain very close to the concepts that get implemented, while the laziness permits smooth handling of infinite data structures.This book does not assume the reader to have previous experience with either programming or construction of formal proofs, but acquaintance with mathematical notation, at the level of secondary school mathematics is presumed. Everything one needs to know about mathematical reasoning or programming is explained as we go along. After proper digestion of the material in this book the reader will be able to write interesting programs, reason about their correctness, and document them in a clear fashion. The reader will also have learned how to set up mathematical proofs in a structured way, and how to read and digest mathematical proofs written by others.

Beautiful Code: Leading Programmers Explain How They Think


Andy OramLincoln Stein - 2007
    You will be able to look over the shoulder of major coding and design experts to see problems through their eyes.This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules. Beautiful Code is an opportunity for master coders to tell their story. All author royalties will be donated to Amnesty International.