Effective Python: 59 Specific Ways to Write Better Python


Brett Slatkin - 2015
    This makes the book random-access: Items are easy to browse and study in whatever order the reader needs. I will be recommending "Effective Python" to students as an admirably compact source of mainstream advice on a very broad range of topics for the intermediate Python programmer. " Brandon Rhodes, software engineer at Dropbox and chair of PyCon 2016-2017" It s easy to start coding with Python, which is why the language is so popular. However, Python s unique strengths, charms, and expressiveness can be hard to grasp, and there are hidden pitfalls that can easily trip you up. " Effective Python " will help you master a truly Pythonic approach to programming, harnessing Python s full power to write exceptionally robust and well-performing code. Using the concise, scenario-driven style pioneered in Scott Meyers best-selling "Effective C++, " Brett Slatkin brings together 59 Python best practices, tips, and shortcuts, and explains them with realistic code examples. Drawing on years of experience building Python infrastructure at Google, Slatkin uncovers little-known quirks and idioms that powerfully impact code behavior and performance. You ll learn the best way to accomplish key tasks, so you can write code that s easier to understand, maintain, and improve. Key features includeActionable guidelines for all major areas of Python 3.x and 2.x development, with detailed explanations and examples Best practices for writing functions that clarify intention, promote reuse, and avoid bugs Coverage of how to accurately express behaviors with classes and objects Guidance on how to avoid pitfalls with metaclasses and dynamic attributes More efficient approaches to concurrency and parallelism Better techniques and idioms for using Python s built-in modules Tools and best practices for collaborative development Solutions for debugging, testing, and optimization in order to improve quality and performance "

Engineering Software as a Service: An Agile Approach Using Cloud Computing + $10 AWS Credit


Armando Fox - 2013
    This book is neither a step-by-step tutorial nor a reference book. Instead, our goal is to bring a diverse set of software engineering topics together into a single narrative, help readers understand the most important ideas through concrete examples and a learn-by-doing approach, and teach readers enough about each topic to get them started in the field. Courseware for doing the work in the book is available as a virtual machine image that can be downloaded or deployed in the cloud. A free MOOC (massively open online course) at saas-class.org follows the book's content and adds programming assignments and quizzes. See http://saasbook.info for details.

Hacking: The Art of Exploitation


Jon Erickson - 2003
    This book explains the technical aspects of hacking, including stack based overflows, heap based overflows, string exploits, return-into-libc, shellcode, and cryptographic attacks on 802.11b.

Working Effectively with Legacy Code


Michael C. Feathers - 2004
    This book draws on material Michael created for his renowned Object Mentor seminars, techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include: Understanding the mechanics of software change, adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform, with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structureThis book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.

Scrumban: Essays on Kanban Systems for Lean Software Development


Corey Ladas - 2008
    Scrum and agile methodologies have helped software development teams organize and become more efficient. Lean methods like kanban can extend these benefits. Kanban also provides a powerful mechanism to identify process improvement opportunities. This book covers some of the metrics and day-to-day management techniques that make continuous improvement an achievable outcome in the real world. ScrumBan the book provides a series of essays that give practitioners the background needed to create more robust practices combining the best of agile and lean.

Guerrilla Publishing: Dangerously Effective Writing and Book Marketing Strategies


Derek Murphy - 2017
    Even worse, the publishing industry is full of predatory promotion services that don't work, or use old-school tactics that do nothing to sell books. Eager authors, frustrated by lack of sales, then resort to spammy tactics that give self-publishers a bad name. In Book Marketing is Dead I wrote that what passes for book marketing these days is virtually useless, but I didn't provide a way forward. I wanted to show that there was a more effective way to sell books, so I built a platform from scratch, grew a list of over 50K subscribers, got 1000+ book reviews, and sold over 20K books in less than a year. I even made some money (enough to rent a castle for Nanowrimo). I'm still doing a lot wrong, but I've proven that:  You CAN make a living with your writing  Book marketing isn't hard if you do it right  SELL MORE BOOKS WITH LESS MARKETINGThis book is a crash course on some of the more creative book marketing strategies I've discovered in my first year of publishing fiction. It will provide simple, actionable steps to publishing a high quality book quickly, doing only as much marketing as is necessary to launch your book like a rockstar, and keep it selling enough to support you while you write more books. I only mention the things I actually use, that I know work, and ignore all the other things that don't get results. We'll discuss:  how to write books readers love  self-publishing without getting ripped off  how to get hundreds of book reviews  paid advertising and release strategies  pricing and pre-orders  book giveaways for rapid listbuilding  how to target your audience  viral exposure and press coverage  setting up automated funnels so you spend less time promoting  marketing hacks so good they should be illegal  and how to reach your first $1000 on Kindle  LAUNCH BIG EVEN IF YOU'RE STARTING SMALL "Guerrilla" is a style of warfare intended to surprise and harass enemies. It can also mean using unconventional and usually inexpensive means to generate interest or raise concern among the public. That's basically how I'll use it: book marketing strategies from the trenches to help you win the publishing war. However, instead of "surprise and harass" I will focus on "surprise and delight." First you need to show up and get in front of the right people. Then you need to surprise and delight them. You need to be remarkable enough to be noticed. Few authors are using these strategies (yet) so it's relatively easy to outrank your competition, get more visibility and reach new readers. FREE BONUS WORKBOOK This book is mostly theory and ideas, and links to a lot of external resources, but I've recently finished a companion workbook that goes into more detail and gives exact, step-by-step plans to follow. For a limited time, this book includes access to the 67-page PDF.

The Product Manager's Handbook


Linda Gorchels - 1995
    Eleven information-packed chapters, grouped in four handy sections, explain and analyze the product manager's role in both traditional, hierarchical organizations as well as newer horizontal, team-driven decision-making structures. Downsizing, right-sizing, reengineering and a host of other terms point to one overriding fact of corporate life today: companies are going through turbulent times that are not likely to end soon. But despite all of the change one thing remains constant: the product manager's role is still the source of the entrepreneurial spirit and innovation that drive every successful organization. As the concluding chapter discusses, product managers of the future will assume new roles and relationships in their organizations. The Product Manager's Handbook is the perfect guidebook for that future.

Blockchain Basics: A Non-Technical Introduction in 25 Steps


Daniel Drescher - 2017
    No mathematical formulas, program code, or computer science jargon are used.No previous knowledge in computer science, mathematics, programming, or cryptography is required. Terminology is explained through pictures, analogies, and metaphors.This book bridges the gap that exists between purely technical books about the blockchain and purely business-focused books. It does so by explaining both the technical concepts that make up the blockchain and their role in business-relevant applications.What You Will Learn: • What the blockchain is• Why it is needed and what problem it solves• Why there is so much excitement about the blockchain and its potential• Major components and their purpose• How various components of the blockchain work and interact• Limitations, why they exist, and what has been done to overcome them• Major application scenariosWho This Book Is For: Everyone who wants to get a general idea of what blockchain technology is, how it works, and how it will potentially change the financial system as we know it.

Effective JavaScript: 68 Specific Ways to Harness the Power of JavaScript


David Herman - 2012
    His walk through the syntax and semantics of JavaScript is both charming and hugely insightful; reminders of gotchas complement realistic use cases, paced at a comfortable curve. You'll find when you finish the book that you've gained a strong and comprehensive sense of mastery." --Paul Irish, developer advocate, Google Chrome "This is not a book for those looking for shortcuts; rather it is hard-won experience distilled into a guided tour. It's one of the few books on JS that I'll recommend without hesitation." --Alex Russell, TC39 member, software engineer, Google In order to truly master JavaScript, you need to learn how to work effectively with the language's flexible, expressive features and how to avoid its pitfalls. No matter how long you've been writing JavaScript code, Effective JavaScript will help deepen your understanding of this powerful language, so you can build more predictable, reliable, and maintainable programs. Author David Herman, with his years of experience on Ecma's JavaScript standardization committee, illuminates the language's inner workings as never before--helping you take full advantage of JavaScript's expressiveness. Reflecting the latest versions of the JavaScript standard, the book offers well-proven techniques and best practices you'll rely on for years to come. Effective JavaScript is organized around 68 proven approaches for writing better JavaScript, backed by concrete examples. You'll learn how to choose the right programming style for each project, manage unanticipated problems, and work more successfully with every facet of JavaScript programming from data structures to concurrency. Key features include Better ways to use prototype-based object-oriented programming Subtleties and solutions for working with arrays and dictionary objects Precise and practical explanations of JavaScript's functions and variable scoping semantics Useful JavaScript programming patterns and idioms, such as options objects and method chaining In-depth guidance on using JavaScript's unique "run-to-completion" approach to concurrency

High Performance Browser Networking


Ilya Grigorik - 2013
    By understanding what the browser can and cannot do, you’ll be able to make better design decisions and deliver faster web applications to your users.Author Ilya Grigorik—a developer advocate and web performance engineer at Google—starts with the building blocks of TCP and UDP, and then dives into newer technologies such as HTTP 2.0, WebSockets, and WebRTC. This book explains the benefits of these technologies and helps you determine which ones to use for your next application.- Learn how TCP affects the performance of HTTP- Understand why mobile networks are slower than wired networks- Use best practices to address performance bottlenecks in HTTP- Discover how HTTP 2.0 (based on SPDY) will improve networking- Learn how to use Server Sent Events (SSE) for push updates, and WebSockets for XMPP chat- Explore WebRTC for browser-to-browser applications such as P2P video chat- Examine the architecture of a simple app that uses HTTP 2.0, SSE, WebSockets, and WebRTC

Scrum: a Breathtakingly Brief and Agile Introduction


Chris Sims - 2012
    A pocket-sized overview of roles, artifacts and the sprint cycle, adapted from the bestseller The Elements of Scrum by Chris Sims & Hillary Louise Johnson

Async in C# 5.0


Alex Davies - 2012
    Along with a clear introduction to asynchronous programming, you get an in-depth look at how the async feature works and why you might want to use it in your application.Written for experienced C# programmers—yet approachable for beginners—this book is packed with code examples that you can extend for your own projects.Write your own asynchronous code, and learn how async saves you from this messy choreDiscover new performance possibilities in ASP.NET web server codeExplore how async and WinRT work together in Windows 8 applicationsLearn the importance of the await keyword in async methodsUnderstand which .NET thread is running your code—and at what points in the programUse the Task-based Asynchronous Pattern (TAP) to write asynchronous APIs in .NETTake advantage of parallel computing in modern machinesMeasure async code performance by comparing it with alternatives

The Sales Acceleration Formula: Using Data, Technology, and Inbound Selling to go from $0 to $100 Million


Mark Roberge - 2015
    Everyone wants to build the next $100 million business and author Mark Roberge has actually done it using a unique methodology that he shares with his readers. As an MIT alum with an engineering background, Roberge challenged the conventional methods of scaling sales utilizing the metrics-driven, process-oriented lens through which he was trained to see the world. In this book, he reveals his formulas for success. Readers will learn how to apply data, technology, and inbound selling to every aspect of accelerating sales, including hiring, training, managing, and generating demand. As SVP of Worldwide Sales and Services for software company HubSpot, Mark led hundreds of his employees to the acquisition and retention of the company's first 10,000 customers across more than 60 countries. This book outlines his approach and provides an action plan for others to replicate his success, including the following key elements: Hire the same successful salesperson every time — The Sales Hiring Formula Train every salesperson in the same manner — The Sales Training Formula Hold salespeople accountable to the same sales process — The Sales Management Formula Provide salespeople with the same quality and quantity of leads every month — The Demand Generation Formula Leverage technology to enable better buying for customers and faster selling for salespeople Business owners, sales executives, and investors are all looking to turn their brilliant ideas into the next $100 million revenue business. Often, the biggest challenge they face is the task of scaling sales. They crave a blueprint for success, but fail to find it because sales has traditionally been referred to as an art form, rather than a science. You can't major in sales in college. Many people question whether sales can even be taught. Executives and entrepreneurs are often left feeling helpless and hopeless. The Sales Acceleration Formula completely alters this paradigm. In today's digital world, in which every action is logged and masses of data sit at our fingertips, building a sales team no longer needs to be an art form. There is a process. Sales can be predictable. A formula does exist.

The Art of Readable Code


Dustin Boswell - 2010
    Over the past five years, authors Dustin Boswell and Trevor Foucher have analyzed hundreds of examples of "bad code" (much of it their own) to determine why they’re bad and how they could be improved. Their conclusion? You need to write code that minimizes the time it would take someone else to understand it—even if that someone else is you.This book focuses on basic principles and practical techniques you can apply every time you write code. Using easy-to-digest code examples from different languages, each chapter dives into a different aspect of coding, and demonstrates how you can make your code easy to understand.Simplify naming, commenting, and formatting with tips that apply to every line of codeRefine your program’s loops, logic, and variables to reduce complexity and confusionAttack problems at the function level, such as reorganizing blocks of code to do one task at a timeWrite effective test code that is thorough and concise—as well as readable"Being aware of how the code you create affects those who look at it later is an important part of developing software. The authors did a great job in taking you through the different aspects of this challenge, explaining the details with instructive examples." —Michael Hunger, passionate Software Developer

Lifehacked: How One Family from the Slums Made Millions Selling Apps


Allen Wong - 2012
    He became a self-made millionaire before he was 25.But, life wasn't always this grand for him. He was the only person in his family earning an income. And, he came from an oppressed family that grew up in the slums. Regardless, the apps he published were downloaded by over 15 million people.His apps have been featured in many places, including Wired.com, NBC News, and CNN. Now he's sharing the story on how he did it, the crises he struggled with, and what his father taught him to be successful.App companies have paid him thousands of dollars for consultant work, and he has helped them increase their download numbers by over 1000%. One of those apps was downloaded by over 100,000 users in one day. And now he is revealing his marketing secrets for the first time in this book.Note: This book was written with non-technical people in mind. The book covers both life and entrepreneurial lessons, and not all of the book is about app development.