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 Non-Designer's Design Book


Robin P. Williams - 2003
    Not to worry: This book is the one place you can turn to find quick, non-intimidating, excellent design help. In The Non-Designer's Design Book, 2nd Edition, best-selling author Robin Williams turns her attention to the basic principles of good design and typography. All you have to do is follow her clearly explained concepts, and you'll begin producing more sophisticated, professional, and interesting pages immediately. Humor-infused, jargon-free prose interspersed with design exercises, quizzes, illustrations, and dozens of examples make learning a snap—which is just what audiences have come to expect from this best-selling author.

Grouped: How Small Groups of Friends Are the Key to Influence on the Social Web


Paul Adams - 2011
    It is moving away from its current structure of documents and pages linked together, and towards a new structure that is built around people. This is a profound change that will affect how we create business strategy, design, marketing, and advertising. The reason for this shift is simple. For tens of thousands of years we've been social animals. The web, which is only 20 years old, is simply catching up with offline life.From travel to news to commerce, smart businesses are reorienting their efforts around people-around the social behavior of their customers and potential customers. In order to be successful, businesses will need to understand how people are connected, how their social network influences them, how the people closest to them influence them the most, and how it's more important for marketers to focus on small, connected groups of friends rather than looking for overly influential individuals.This book pulls together the latest research from leading universities and technology companies to describe how people are connected, and how ideas and brand messages spread through social networks. It shows readers how to rebuild their business around social behavior, and create products that people tell their friends about.

Technically Wrong: Sexist Apps, Biased Algorithms, and Other Threats of Toxic Tech


Sara Wachter-Boettcher - 2017
    But few of us realize just how many oversights, biases, and downright ethical nightmares are baked inside the tech products we use every day. It’s time we change that.In Technically Wrong, Sara Wachter-Boettcher demystifies the tech industry, leaving those of us on the other side of the screen better prepared to make informed choices about the services we use—and to demand more from the companies behind them.

Forms That Work: Designing Web Forms for Usability


Caroline Jarrett - 2008
    The book provides proven and practical advice that will help you avoid pitfalls, and produce forms that are aesthetically pleasing, efficient and cost-effective. It features invaluable design methods, tips, and tricks to help ensure accurate data and satisfied customers. It includes dozens of examples - from nitty-gritty details (label alignment, mandatory fields) to visual designs (creating good grids, use of color).This book isn't just about colons and choosing the right widgets. It's about the whole process of making good forms, which has a lot more to do with making sure you're asking the right questions in a way that your users can answer than it does with whether you use a drop-down list or radio buttons. In an easy-to-read format with lots of examples, the authors present their three-layer model - relationship, conversation, appearance. You need all three for a successful form - a form that looks good, flows well, asks the right questions in the right way, and, most important of all, gets people to fill it out. Liberally illustrated with full-color examples, this book guides readers on how to define requirements, how to write questions that users will understand and want to answer, and how to deal with instructions, progress indicators and errors.This book is essential reading for HCI professionals, web designers, software developers, user interface designers, HCI academics and students, market research professionals, and financial professionals.

JavaScript and jQuery: Interactive Front-End Web Development


Jon Duckett - 2013
    The content assumes no previous programming experience, other than knowing how to create a basic web page in HTML & CSS. You'll learn how to achieve techniques seen on many popular websites (such as adding animation, tabbed panels, content sliders, form validation, interactive galleries, and sorting data)..Introduces core programming concepts in JavaScript and jQueryUses clear descriptions, inspiring examples, and easy-to-follow diagramsTeaches you how to create scripts from scratch, and understand the thousands of JavaScripts, JavaScript APIs, and jQuery plugins that are available on the webDemonstrates the latest practices in progressive enhancement, cross-browser compatibility, and when you may be better off using CSS3If you're looking to create more enriching web experiences and express your creativity through code, then this is the book for you.This book is also available as part of a set in hardcover - Web Design with HTML, CSS, JavaScript and jQuery, 9781119038634 - and in softcover - Web Design with HTML, CSS, JavaScript and jQuery, 9781118907443.

Understanding Context: Environment, Language, and Information Architecture


Andrew Hinton - 2014
    Now that we live among digital, always-networked products, apps, and places, context is more complicated than ever—starting with "where" and "who" we are.This practical, insightful book provides a powerful toolset to help information architects, UX professionals, and web and app designers understand and solve the many challenges of contextual ambiguity in the products and services they create. You’ll discover not only how to design for a given context, but also how design participates in making context.Learn how people perceive context when touching and navigating digital environmentsSee how labels, relationships, and rules work as building blocks for contextFind out how to make better sense of cross-channel, multi-device products or servicesDiscover how language creates infrastructure in organizations, software, and the Internet of ThingsLearn models for figuring out the contextual angles of any user experience

Swipe to Unlock: The Primer on Technology and Business Strategy


Parth Detroja - 2017
    But have you ever wondered how Google makes billions of dollars while providing search, email, and maps for free? How do they figure out which ads perfectly capture your interests? And how do they search the entire internet so quickly, anyway?By answering real-world questions like this, Swipe to Unlock gives you a peek under the hood of the technology you use every day, decodes technologists' weirdest buzzwords, and shows you how technology is changing the society we live in for better or for worse. Unlock the answers you need to become a better-educated consumer, digital citizen, or technology professional.

The Future Computed: Artificial Intelligence and its Role in Society


Microsoft Corporation - 2018
    It’s already happening in impressive ways. But as we’ve witnessed over the past 20 years, new technology also inevitably raises complex questions and broad societal concerns.” – Brad Smith and Harry Shum on The Future Computed. “As we look to a future powered by a partnership between computers and humans, it’s important that we address these challenges head on. How do we ensure that AI is designed and used responsibly? How do we establish ethical principles to protect people? How should we govern its use? And how will AI impact employment and jobs?” – Brad Smith and Harry Shum on The Future Computed. As Artificial Intelligence shows up in every aspect of our lives, Microsoft's top minds provide a guide discussing how we should prepare for the future. Whether you're a government leader crafting new laws, an entrepreneur looking to incorporate AI into your business, or a parent contemplating the future of education, this book explains the trends driving the AI revolution, identifies the complex ethics and workforce issues we all need to think about and suggests a path forward. Read more: The Future Computed: Artificial Intelligence and its role in society provides Microsoft’s perspective on where AI technology is going and the new societal issues it is raising – ensuring AI is designed and used responsibly, establishing ethical principles to protect people, and how AI will impact employment and jobs. The principles of fairness, reliability and safety, privacy and security, inclusiveness, transparency and accountability are critical to addressing the societal impacts of AI and building trust as AI becomes more and more a part of the products and services that people use at work and at home every day. A central theme in The Future Computed is that for AI to deliver on its potential drive widespread economic and social progress, the technology needs to be human-centered – combining the capabilities of computers with human capabilities to enable people to achieve more. But a human-centered approach can only be realized if researchers, policymakers, and leaders from government, business and civil society come together to develop a shared ethical framework for AI. This in turn will help foster responsible development of AI systems that will engender trust. Because in an increasingly AI-driven world the question is not what computers can do, it is what computers should do. The Future Computed also draws a few conclusions as we chart our path forward. First, the companies and countries that will fare best in the AI era will be those that embrace these changes rapidly and effectively. Second, while AI will help solve big societal problems, we must look to this future with a critical eye as there will be challenges as well as opportunities. Third, we need to act with a sense of shared responsibility because AI won’t be created by the tech sector alone. Finally, skilling-up for an AI-powered world involves more than science, technology, engineering and math. As computers behave more like humans, the social sciences and humanities will become grow in importance.

Little Rice: Smartphones, Xiaomi, and The Chinese Dream


Clay Shirky - 2015
    Its high-end phones are tailored to Chinese and emerging markets, where it outsells even Samsung. Since the 1990s China has been climbing up the ladder of quality, from doing knockoffs to designing its own high-end goods.Xiaomi — its name literally means "little rice" — is landing squarely in this shift in China's economy. But the remarkable rise of Xiaomi from startup to colossus is more than a business story, because mobile phones are special. The common desiderata of the global population, mobile phones offer the kind of freedom and connectedness that autocratic countries are terrified of. China's fortune and future clearly lie with "opening up" to the global market, requiring it to allow local entrepreneurs to experiment.Clay Shirky, one of the most influential and original thinkers on how technological innovation affects social change around the world, now turns his attention to the most populous country of them all. The case of Xiaomi exemplifies the balancing act that China has to perfect to navigate between cheap copies and innovation, between the demands of local and global markets, and between freedom and control.

Enchanted Objects: Design, Human Desire, and the Internet of Things


David Rose - 2014
    Soon, connected technology will be embedded in hundreds of everyday objects we already use: our cars, wallets, watches, umbrellas, even our trash cans. These objects will respond to our needs, come to know us, and learn to think on our behalf. David Rose calls these devices—which are just beginning to creep into the marketplace—Enchanted Objects.Some believe the future will look like more of the same—more smartphones, tablets, screens embedded in every conceivable surface. Rose has a different vision: technology that atomizes, combining itself with the objects that make up the very fabric of daily living. Such technology will be woven into the background of our environment, enhancing human relationships and channeling desires for omniscience, long life, and creative expression. The enchanted objects of fairy tales and science fiction will enter real life.Groundbreaking, timely, and provocative, Enchanted Objects is a blueprint for a better future, where efficient solutions come hand in hand with technology that delights our senses. It is essential reading for designers, technologists, entrepreneurs, business leaders, and anyone who wishes to understand the future and stay relevant in the Internet of Things.

Inventing the Internet


Janet Abbate - 1999
    In Inventing the Internet, Janet Abbate recounts the key players and technologies that allowed the Internet to develop; but her main focus is always on the social and cultural factors that influenced the Internets design and use. The story she unfolds is an often twisting tale of collaboration and conflict among a remarkable variety of players, including government and military agencies, computer scientists in academia and industry, graduate students, telecommunications companies, standards organizations, and network users.The story starts with the early networking breakthroughs formulated in Cold War think tanks and realized in the Defense Department's creation of the ARPANET. It ends with the emergence of the Internet and its rapid and seemingly chaotic growth. Abbate looks at how academic and military influences and attitudes shaped both networks; how the usual lines between producer and user of a technology were crossed with interesting and unique results; and how later users invented their own very successful applications, such as electronic mail and the World Wide Web. She concludes that such applications continue the trend of decentralized, user-driven development that has characterized the Internet's entire history and that the key to the Internet's success has been a commitment to flexibility and diversity, both in technical design and in organizational culture.

Algorithms of Oppression: How Search Engines Reinforce Racism


Safiya Umoja Noble - 2018
    But, if you type in "white girls," the results are radically different. The suggested porn sites and un-moderated discussions about "why black women are so sassy" or "why black women are so angry" presents a disturbing portrait of black womanhood in modern society.In Algorithms of Oppression, Safiya Umoja Noble challenges the idea that search engines like Google offer an equal playing field for all forms of ideas, identities, and activities. Data discrimination is a real social problem; Noble argues that the combination of private interests in promoting certain sites, along with the monopoly status of a relatively small number of Internet search engines, leads to a biased set of search algorithms that privilege whiteness and discriminate against people of color, specifically women of color.Through an analysis of textual and media searches as well as extensive research on paid online advertising, Noble exposes a culture of racism and sexism in the way discoverability is created online. As search engines and their related companies grow in importance - operating as a source for email, a major vehicle for primary and secondary school learning, and beyond - understanding and reversing these disquieting trends and discriminatory practices is of utmost importance.An original, surprising and, at times, disturbing account of bias on the internet, Algorithms of Oppression contributes to our understanding of how racism is created, maintained, and disseminated in the 21st century.

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.

Designing the Internet of Things


Adrian McEwen - 2013
    If you'd like to create the next must-have product, this unique book is the perfect place to start.Both a creative and practical primer, it explores the platforms you can use to develop hardware or software, discusses design concepts that will make your products eye-catching and appealing, and shows you ways to scale up from a single prototype to mass production.Helps software engineers, web designers, product designers, and electronics engineers start designing products using the Internet-of-Things approach Explains how to combine sensors, servos, robotics, Arduino chips, and more with various networks or the Internet, to create interactive, cutting-edge devices Provides an overview of the necessary steps to take your idea from concept through production If you'd like to design for the future, Designing the Internet of Things is a great place to start.