Hackers & Painters: Big Ideas from the Computer Age


Paul Graham - 2004
    Who are these people, what motivates them, and why should you care?Consider these facts: Everything around us is turning into computers. Your typewriter is gone, replaced by a computer. Your phone has turned into a computer. So has your camera. Soon your TV will. Your car was not only designed on computers, but has more processing power in it than a room-sized mainframe did in 1970. Letters, encyclopedias, newspapers, and even your local store are being replaced by the Internet.Hackers & Painters: Big Ideas from the Computer Age, by Paul Graham, explains this world and the motivations of the people who occupy it. In clear, thoughtful prose that draws on illuminating historical examples, Graham takes readers on an unflinching exploration into what he calls “an intellectual Wild West.”The ideas discussed in this book will have a powerful and lasting impact on how we think, how we work, how we develop technology, and how we live. Topics include the importance of beauty in software design, how to make wealth, heresy and free speech, the programming language renaissance, the open-source movement, digital design, internet startups, and more.

Domain-Driven Design: Tackling Complexity in the Heart of Software


Eric Evans - 2003
    "His book is very compatible with XP. It is not about drawing pictures of a domain; it is about how you think of it, the language you use to talk about it, and how you organize your software to reflect your improving understanding of it. Eric thinks that learning about your problem domain is as likely to happen at the end of your project as at the beginning, and so refactoring is a big part of his technique. "The book is a fun read. Eric has lots of interesting stories, and he has a way with words. I see this book as essential reading for software developers--it is a future classic." --Ralph Johnson, author of Design Patterns "If you don't think you are getting value from your investment in object-oriented programming, this book will tell you what you've forgotten to do. "Eric Evans convincingly argues for the importance of domain modeling as the central focus of development and provides a solid framework and set of techniques for accomplishing it. This is timeless wisdom, and will hold up long after the methodologies du jour have gone out of fashion." --Dave Collins, author of Designing Object-Oriented User Interfaces "Eric weaves real-world experience modeling--and building--business applications into a practical, useful book. Written from the perspective of a trusted practitioner, Eric's descriptions of ubiquitous language, the benefits of sharing models with users, object life-cycle management, logical and physical application structuring, and the process and results of deep refactoring are major contributions to our field." --Luke Hohmann, author of Beyond Software Architecture "This book belongs on the shelf of every thoughtful software developer." --Kent Beck "What Eric has managed to capture is a part of the design process that experienced object designers have always used, but that we have been singularly unsuccessful as a group in conveying to the rest of the industry. We've given away bits and pieces of this knowledge...but we've never organized and systematized the principles of building domain logic. This book is important." --Kyle Brown, author of Enterprise Java(TM) Programming with IBM(R) WebSphere(R) The software development community widely acknowledges that domain modeling is central to software design. Through domain models, software developers are able to express rich functionality and translate it into a software implementation that truly serves the needs of its users. But despite its obvious importance, there are few practical resources that explain how to incorporate effective domain modeling into the software development process. Domain-Driven Design fills that need. This is not a book about specific technologies. It offers readers a systematic approach to domain-driven design, presenting an extensive set of design best practices, experience-based techniques, and fundamental principles that facilitate the development of software projects facing complex domains. Intertwining design and development practice, this book incorporates numerous examples based on actual projects to illustrate the application of domain-driven design to real-world software development. Readers learn how to use a domain model to make a complex development effort more focused and dynamic. A core of best practices and standard patterns provides a common language for the development team. A shift in emphasis--refactoring not just the code but the model underlying the code--in combination with the frequent iterations of Agile development leads to deeper insight into domains and enhanced communication between domain expert and programmer. Domain-Driven Design then builds on this foundation, and addresses modeling and design for complex systems and larger organizations.Specific topics covered include:Getting all team members to speak the same language Connecting model and implementation more deeply Sharpening key distinctions in a model Managing the lifecycle of a domain object Writing domain code that is safe to combine in elaborate ways Making complex code obvious and predictable Formulating a domain vision statement Distilling the core of a complex domain Digging out implicit concepts needed in the model Applying analysis patterns Relating design patterns to the model Maintaining model integrity in a large system Dealing with coexisting models on the same project Organizing systems with large-scale structures Recognizing and responding to modeling breakthroughs With this book in hand, object-oriented developers, system analysts, and designers will have the guidance they need to organize and focus their work, create rich and useful domain models, and leverage those models into quality, long-lasting software implementations.

APIs: A Strategy Guide


Daniel Jacobson - 2011
    Salesforce.com (more than 50%) and Twitter (more than 75% fall into this category. Ebay gets more than 8 billion API calls a month. Facebook and Google, have dozens of APIs that enable both free services and e-commerce, get more than 5 billion API calls each day. Other companies like NetFlix have expanded their service of streaming movies over the the web to dozens of devices using API. At peak times, more than 20 percent of all traffic is accounted for by Netflix through its APIs. Companies like Sears and E-Trade are opening up their catalogs and other services to allow developers and entrepreneurs to create new marketing experiences. Making an API work to create a new channel is not just a matter of technology. An API must be considered in terms of business strategy, marketing, and operations as well as the technical aspects of programming. This book, written by Greg Brail, CTO of Apigee, and Brian Mulloy, VP of Products, captures the knowledge of all these areas gained by Apigee, the leading company in supporting the rollout of high traffic APIs.

How to Write Short Romance Kindle Books: A 40 Minute MASTERCLASS


Nina Harrington - 2015
    Over the past seven years, I have created 19 award-winning romance novels for two international publishers and over 1.2 million copies have been sold in 28 countries around the world in 23 languages. The good news is that romance fiction is as popular as it has ever been. Just look at the Amazon Bestsellers top 100 paid list. It is dominated by romance titles. Writing short romance Kindle books is an ideal home-based business, with minimal start-up costs. You work where and when you choose, writing the kind of romance stories that you love to read –and then publish them for free! What’s more, short fiction is fast to both read and to write. No more procrastination! You can create passive income from day one with short romance stories that only took you a few hours to write. This eBook guides you through an intense Masterclass on the key techniques that you need to start writing short romance fiction, which you can then publish on the Amazon Kindle platform. As a professional romance author, I have broken down the process of writing romance fiction into: A complete nine-step plan packed with the essential information you need to write your own short romance fiction, from understanding the different types of romance categories through to advanced story structure. A proven six-layer character development technique to help you to create compelling three-dimensional characters readers will love! As a bonus, I have included a section with practical advice on how to transform your manuscript into an eBook. This detailed Fast-Track guide has been designed to be around 40 minutes long, which means that there is no filler, just quality information from the start. Your complete starter plan is written in straightforward language and each step has been tried and tested. I know that it works because this is the system that I use to create my own award-winning romance fiction! Take a risk and learn How to Write Short Romance Kindle Books today – it could be the key to a new career and a brilliant entrepreneurial small business. It is much easier than you think. Just take that first step! NEW SPECIAL OFFER! This eBook is part of the ROMANCE SELF-PUBLISHING BOOK BUNDLE (Books One to Three): All the Information you need to Write, Publish and Promote your Romance Kindle Book. Available now at a great sale price. http://amzn.to/1NpEGx2

The 4-Hour Chef: The Simple Path to Cooking Like a Pro, Learning Anything, and Living the Good Life


Timothy Ferriss - 2012
    It’s a choose-your-own-adventure guide to the world of rapid learning.#1 New York Times bestselling author (and lifelong non-cook) Tim Ferriss takes you from Manhattan to Okinawa, and from Silicon Valley to Calcutta, unearthing the secrets of the world’s fastest learners and greatest chefs. Ferriss uses cooking to explain “meta-learning,” a step-by-step process that can be used to master anything, whether searing steak or shooting 3-pointers in basketball. That is the real “recipe” of The 4-Hour Chef.You'll train inside the kitchen for everything outside the kitchen. Featuring tips and tricks from chess prodigies, world-renowned chefs, pro athletes, master sommeliers, super models, and everyone in between, this “cookbook for people who don’t buy cookbooks” is a guide to mastering cooking and life.The 4-Hour Chef is a five-stop journey through the art and science of learning:1. META-LEARNING. Before you learn to cook, you must learn to learn. META charts the path to doubling your learning potential.2. THE DOMESTIC. DOM is where you learn the building blocks of cooking. These are the ABCs (techniques) that can take you from Dr, Seuss to Shakespeare.3. THE WILD. Becoming a master student requires self-sufficiency in all things. WILD teaches you to hunt, forage, and survive.4. THE SCIENTIST. SCI is the mad scientist and modernist painter wrapped into one. This is where you rediscover whimsy and wonder.5. THE PROFESSIONAL. Swaraj, a term usually associated with Mahatma Gandhi, can be translated as “self-rule.” In PRO, we’ll look at how the best in the world become the best in the world, and how you can chart your own path far beyond this book.

Atlas Obscura: An Explorer's Guide to the World's Hidden Wonders


Joshua Foer - 2016
    Architectural marvels, including the M.C. Escher-like stepwells in India. Mind-boggling events, like the Baby Jumping Festival in Spain, where men dressed as devils literally vault over rows of squirming infants. Not to mention the Great Stalacpipe Organ in Virginia, Turkmenistan’s 45-year hole of fire called the Door of Hell, coffins hanging off a side of a cliff in the Philippines, eccentric bone museums in Italy, or a weather-forecasting invention that was powered by leeches, still on display in Devon, England.Atlas Obscura revels in the weird, the unexpected, the overlooked, the hidden, and the mysterious. Every page expands our sense of how strange and marvelous the world really is. And with its compelling descriptions, hundreds of photographs, surprising charts, maps for every region of the world, it is a book you can open anywhere.

Introducing Elixir: Getting Started in Functional Programming


Simon St.Laurent - 2013
    If you're new to Elixir, its functional style can seem difficult, but with help from this hands-on introduction, you'll scale the learning curve and discover how enjoyable, powerful, and fun this language can be. Elixir combines the robust functional programming of Erlang with an approach that looks more like Ruby and reaches toward metaprogramming with powerful macro features.Authors Simon St. Laurent and J. David Eisenberg show you how to write simple Elixir programs by teaching you one skill at a time. You’ll learn about pattern matching, recursion, message passing, process-oriented programming, and establishing pathways for data rather than telling it where to go. By the end of your journey, you’ll understand why Elixir is ideal for concurrency and resilience.* Get comfortable with IEx, Elixir's command line interface* Become familiar with Elixir’s basic structures by working with numbers* Discover atoms, pattern matching, and guards: the foundations of your program structure* Delve into the heart of Elixir processing with recursion, strings, lists, and higher-order functions* Create processes, send messages among them, and apply pattern matching to incoming messages* Store and manipulate structured data with Erlang Term * Storage (ETS) and the Mnesia database* Build resilient applications with the Open Telecom Platform (OTP)* Define macros with Elixir's meta-programming tools.

Concurrent Programming in Java(tm): Design Principles and Pattern


Doug Lea - 1996
    Thread programming enables developers to design applications that are more responsive to user demands, faster, and more easily controlled. This book offers comprehensive coverage of this vital aspect of the Java language. The book is completely up-to-date with the new thread model that is now incorporated into the most recent version of the Java Virtual Machine. All Java programmers interested in doing concurrent programming must understand these new concepts. The book approaches the topic from a design pattern point of view. It introduces and summarizes Java's concurrency support, shows readers how to initiate, control, and coordinate concurrent activities, and offers numerous recipe-like techniques for designing and implementing Java structures that solve common concurrent programming challenges. Specifically, the book presents important strategies for avoiding the inconsistencies that can crop up in multi-threaded programs, addresses the concept of liveness-how to ensure that all threads in use are kept active simultaneously, examines state-dependent action, and demonstrates effective methods for handling user requests in a multi-threaded environment.

On Being a Dictator: Using Dictation to Be a Better Writer (Million Dollar Writing Series)


Kevin J. Anderson - 2019
    Anderson has written 160 books—nearly fifteen million words!—most of them by dictating into a hand-held recorder while hiking. Award-winning novelist and short story writer Martin L. Shoemaker dictates chapters and stories while driving, turning his daily commute into a productive work session. These two die-hard “dictators,” share their techniques and insights into how dictation can help you *Improve your writing productivity *Use otherwise lost time to brainstorm, plot, develop characters, write articles, and more *Get inspired by leaving your confined office and getting a fresh perspective elsewhere *Stay in shape while writing On Being a Dictator, part of the Million Dollar Writing Series, will help you think outside the box, consider a different writing method, and up your game in the fast-paced ever-changing world of publishing.

The Taking of MH370


Jeff Wise - 2019
     ""It’s an astonishing performance. Wise goes through every piece of evidence, every report, every word and comes to the conclusion that investigators were deliberately and brilliantly misled by whoever took over the plane to look in the wrong place. Read this stunning piece of investigative journalism and see if he convinces you." -- John Podhoretz, Commentary magazine. Five years after a state-of-the-art Boeing 777 vanished into the night over the South China Sea, renowned science and aviation author Jeff Wise offers a compelling and detailed account of what happened that night and in the months and years that followed. In his follow-up to "The Plane That Wasn't There," named the Best Kindle Single of 2015, Wise walks readers through the many developments that have taken place in the meantime and explains why despite spending hundreds of millions of dollars and searching an area of seabed the size of Great Britain, authorities were unable to locate the plane's wreckage. Officials and independent experts were stunned by their failure, but Wise predicted it four years ago. Here he distills the fruits of exhaustive research and arrives at a conclusion that upends our understanding of what humans are capable of, both technologically and morally. Jeff Wise is a science journalist specializing in aviation and psychology. A licensed pilot of gliders and light airplanes, he has also written for New York, the New York Times, Time, Businessweek, Esquire, Popular Mechanics, and many others. He is also the author of Extreme Fear: The Science of Your Mind in Danger. A native of Massachusetts, he lives outside New York City with his wife and two sons.

Sinatra: Up and Running


Alan Harris - 2011
    With this concise book, you will quickly gain working knowledge of Sinatra and its minimalist approach to building both standalone and modular web applications. Sinatra serves as a lightweight wrapper around Rack middleware, with syntax that maps closely to functions exposed by HTTP verbs, which makes it ideal for web services and APIs. If you have experience building applications with Ruby, you’ll quickly learn language fundamentals and see under-the-hood techniques, with the help of several practical examples. Then you’ll get hands-on experience with Sinatra by building your own blog engine. Learn Sinatra’s core concepts, and get started by building a simple application Create views, manage sessions, and work with Sinatra route definitions Become familiar with the language’s internals, and take a closer look at Rack Use different subclass methods for building flexible and robust architectures Put Sinatra to work: build a blog that takes advantage of service hooks provided by the GitHub API

How to Count (Programming for Mere Mortals, #1)


Steven Frank - 2011
    unsigned numbers- Floating point and fixed point arithmeticThis short, easily understood book will quickly get you thinking like a programmer.

sed & awk


Dale Dougherty - 1990
    The most common operation done with sed is substitution, replacing one block of text with another. awk is a complete programming language. Unlike many conventional languages, awk is "data driven" -- you specify what kind of data you are interested in and the operations to be performed when that data is found. awk does many things for you, including automatically opening and closing data files, reading records, breaking the records up into fields, and counting the records. While awk provides the features of most conventional programming languages, it also includes some unconventional features, such as extended regular expression matching and associative arrays. sed & awk describes both programs in detail and includes a chapter of example sed and awk scripts. This edition covers features of sed and awk that are mandated by the POSIX standard. This most notably affects awk, where POSIX standardized a new variable, CONVFMT, and new functions, toupper() and tolower(). The CONVFMT variable specifies the conversion format to use when converting numbers to strings (awk used to use OFMT for this purpose). The toupper() and tolower() functions each take a (presumably mixed case) string argument and return a new version of the string with all letters translated to the corresponding case. In addition, this edition covers GNU sed, newly available since the first edition. It also updates the first edition coverage of Bell Labs nawk and GNU awk (gawk), covers mawk, an additional freely available implementation of awk, and briefly discusses three commercial versions of awk, MKS awk, Thompson Automation awk (tawk), and Videosoft (VSAwk).

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.

The Good, the Bad & the Difference: How to Tell the Right from Wrong in Everyday Situations


Randy Cohen - 2002
    Cohen's wisdom and witticisms have now been collected in The Good, the Bad & the Difference, a collection of his columns as wise and funny as a combination of "Dear Abby," Plato, and Mel Brooks. The columns are supplemented with second thoughts on (and sometimes complete reversals of) his original replies, follow-up notes on how his advice affected the actions of various letter writers, reactions from readers both pro and con, and observations from such "guest ethicists" as David Eggers and the author's mom. Each chapter also features an "Ethics Pop Quiz," and readers will be invited to post their answers on the book's Web site. The best of them will appear in a future paperback edition of the book.The Good, the Bad & the Difference is divided into seven sections: -Civic Life (what we do in public)-Family Life (what we do at home)-Social Life (what we do in other people's homes)-Commercial Life (what we do in situations where money is a factor)-Medical Life (the rights and obligations of patients and caregivers)-Work Life (ethics for the professional sphere)-School Life (moral questions from and about kids)Each section provides a window into how we live today, shedding light on the ways in which a more ethical approach to the decisions we make, and to our daily behavior, can make a big difference in how we feel about ourselves tomorrow.