- Table View
- List View
This major revision of Berstel and Perrin's classic Theory of Codes has been rewritten with a more modern focus and a much broader coverage of the subject. The concept of unambiguous automata, which is intimately linked with that of codes, now plays a significant role throughout the book, reflecting developments of the last 20 years. This is complemented by a discussion of the connection between codes and automata, and new material from the field of symbolic dynamics. The authors have also explored links with more practical applications, including data compression and cryptography. The treatment remains self-contained: there is background material on discrete mathematics, algebra and theoretical computer science. The wealth of exercises and examples make it ideal for self-study or courses. In sum this is a comprehensive reference on the theory of variable-length codes and their relation to automata.
Producing elegant code that is efficient while still being easily understood by your peers is a true art form. Making code testable and easy to maintain over time is even harder, but it can be the key to long-term productivity. Software is used in many situations to tackle incredibly complex tasks. Creating such software requires understanding many layers of responsibility and functionality. No matter if you are a novice or expert coder, there is always room for improving existing skills and developing new ones. This bibliography gives you a quick and efficient way to find the right books and videos for your coding needs in Safari Books Online.
Expert advice to help you work smarter and increase your productivity with Visual Studio. Take a detailed look into Visual Studio--and learn practical techniques to help you work more efficiently. This fully revised and expanded version of Visual Studio Tips: 251 Ways to Improve Your Productivity includes a comprehensive collection of tips and shortcuts for working with the code editor, visual designers, searches, debugger, and other features in Visual Studio 2005, 2008, and 2010. You'll gain valuable insights for using this IDE--no matter what your experience level. Discover how to: Change development settings and keyboard mappings to optimize your efficiency Save time initiating a new project by creating custom templates Uncover secrets for working with the toolbox, commands, and window layouts Work with files in more practical ways, such as using the File Tab Channel Use the Editor more effectively with tips on selecting and manipulating code Apply techniques to help reduce the time you spend debugging code Create Visual Studio extensions to increase your development productivity
An easy-to-grasp introduction to coding concepts for kidsCoding For Kids For Dummies breaks coding into a series of small projects, each designed to teach elementary-to-middle-school-aged students a core concept to build a game, application, or other tool. In this his hands-on, friendly guide readers will get access to a leading coding tool that has been designed specifically for kids, showing them how to create the projects provided in the book as well as how to implement them into their own creative work.Written by a teacher and leading advocate of coding education, Coding For Kids For Dummies explains to kids in plain English how to apply the math and logic skills they already have to the subject of coding. In no time, they'll be grasping basic coding concepts, completing their very own technical feats, and arming themselves with the computer science experience and know-how to prepare for a future working with technology.Lay-flat binding allows for easy access as students work on projectsFull-color, large-print design make the information more approachable to kidsKids interested in computer science get a competitive edgeThe author has dedicated her career to enhancing coding and other STEM education in schoolsIf you're a student who wants to learn coding, a parent who wants to help your kid pursue an interest in coding, or a teacher who is in need of a supplemental course book for your computer science class, Coding For Kids For Dummies has you covered.
Who are computer hackers? What is free software? And what does the emergence of a community dedicated to the production of free and open source software--and to hacking as a technical, aesthetic, and moral project--reveal about the values of contemporary liberalism? Exploring the rise and political significance of the free and open source software (F/OSS) movement in the United States and Europe, Coding Freedom details the ethics behind hackers' devotion to F/OSS, the social codes that guide its production, and the political struggles through which hackers question the scope and direction of copyright and patent law. In telling the story of the F/OSS movement, the book unfolds a broader narrative involving computing, the politics of access, and intellectual property. E. Gabriella Coleman tracks the ways in which hackers collaborate and examines passionate manifestos, hacker humor, free software project governance, and festive hacker conferences. Looking at the ways that hackers sustain their productive freedom, Coleman shows that these activists, driven by a commitment to their work, reformulate key ideals including free speech, transparency, and meritocracy, and refuse restrictive intellectual protections. Coleman demonstrates how hacking, so often marginalized or misunderstood, sheds light on the continuing relevance of liberalism in online collaboration.
Software development would seem to be a quintessential example of today's Internet-enabled "knowledge work"--a global profession not bound by the constraints of geography. In Coding Places, Yuri Takhteyev looks at the work of software developers who inhabit two contexts: a geographical area--in this case, greater Rio de Janeiro--and a "world of practice," a global system of activities linked by shared meanings and joint practice. The work of the Brazilian developers, Takhteyev discovers, reveals a paradox of the world of software: it is both diffuse and sharply centralized. The world of software revolves around a handful of places--in particular, the San Francisco Bay area--that exercise substantial control over both the material and cultural elements of software production. Takhteyev shows how in this context Brazilian software developers work to find their place in the world of software and to bring its benefits to their city. Takhteyev's study closely examines Lua, an open source programming language developed in Rio but used in such internationally popular products as World of Warcraft and Angry Birds. He shows that Lua had to be separated from its local origins on the periphery in order to achieve success abroad. The developers, Portuguese speakers, used English in much of their work on Lua. By bringing to light the work that peripheral practitioners must do to give software its seeming universality, Takhteyev offers a revealing perspective on the not-so-flat world of globalization.
Like to build websites in the wild with your MacBook? This concise hands-on guide introduces you to the ideal editor: Coda 2. Rather than clutter your screen with shell access, a separate CSS editor, and a version control app, you'll discover how Coda's "one-window web development" bundles everything into one neat application. Take Coda on a trial run, then learn step-by-step how to configure each feature to fit your working style. You'll find out firsthand how Coda will save you time and effort on your next project. Get to know Coda's workflow by building a sample site Delve into features such as the tab bar, path bar, sidebar, and Sites view Set up your own development environment-and dig deeper into the editor's options Get tips for taking full advantage of the text and MySQL editors Create a Git or Subversion repository for source control management Learn the finer points of sharing project documents across a network Discover the built-in reference books, and learn how to extend Coda
How would you like to build an Xbox game, use your Nintendo Wiimote to create an electronic whiteboard, or build your own peer-to-peer application? Coding4Fun helps you tackle some cool software and hardware projects using a range of languages and free Microsoft software. Now you can code for fun with C#, VB, ASP.NET, WPF, XNA Game Studio, Popfly, as well as the Lua programming language. <P> If you love to tinker, but don't have time to figure it all out, this book gives you clear, step-by-step instructions for building ten creative projects, including:<P> * Alien Attack: Create a 2D clone of Space Invaders with XNA for the PC, Xbox 360, and Zune <P> * LEGO Soldier: Create an action game using Popfly with a custom-built virtual LEGO character <P> * World of Warcraft RSS Feed Reader: Use WoW's customizable interface to have feeds pop up while you're gaming <P> * InnerTube: Download YouTube videos automatically and convert them to a file format for off-line viewing <P> * PeerCast: Stream video files from any PC <P> * TwitterVote: Create custom online polls on Twitter <P> * WHSMail: Build a website with ASP.NET for Windows Home Server that lets you view the messages stored on a computer with Outlook <P> * "Wiimote" Controlled Car: Steer your remote-controlled car by tilting the Wii Remote controller left and right <P> * Wiimote Whiteboard: Create an interactive whiteboard using a Wii Remote <P> * Holiday Lights: Synchronize your holiday light display with music to create your own light show<P> The perfect gift for any developer, Coding4Fun shows you how to use your programming skills in new and fun ways."This book is amazing! The scope is so wonderfully broad that anyone who has an interest in designing games at any level should read this book." -- Alex Albrecht, Creator of Diggnation / Totally Rad Show / Project Lore
A comprehensive guide to learning technologies that unlock thevalue in big data Cognitive Computing provides detailed guidance towardbuilding a new class of systems that learn from experience andderive insights to unlock the value of big data. This book helpstechnologists understand cognitive computing's underlyingtechnologies, from knowledge representation techniques and naturallanguage processing algorithms to dynamic learning approaches basedon accumulated evidence, rather than reprogramming. Detailed caseexamples from the financial, healthcare, and manufacturing walkreaders step-by-step through the design and testing of cognitivesystems, and expert perspectives from organizations such asCleveland Clinic, Memorial Sloan-Kettering, as well as commercialvendors that are creating solutions. These organizations provideinsight into the real-world implementation of cognitive computingsystems. The IBM Watson cognitive computing platform is describedin a detailed chapter because of its significance in helping todefine this emerging market. In addition, the book includesimplementations of emerging projects from Qualcomm, Hitachi, Googleand Amazon.Today's cognitive computing solutions build on establishedconcepts from artificial intelligence, natural language processing,ontologies, and leverage advances in big data management andanalytics. They foreshadow an intelligent infrastructure thatenables a new generation of customer and context-aware smartapplications in all industries.Cognitive Computing is a comprehensive guide to thesubject, providing both the theoretical and practical guidancetechnologists need.Discover how cognitive computing evolved from promise torealityLearn the elements that make up a cognitive computingsystemUnderstand the groundbreaking hardware and softwaretechnologies behind cognitive computingLearn to evaluate your own application portfolio to find thebest candidates for pilot projectsLeverage cognitive computing capabilities to transform theorganizationCognitive systems are rightly being hailed as the new era ofcomputing. Learn how these technologies enable emerging firms tocompete with entrenched giants, and forward-thinking establishedfirms to disrupt their industries. Professionals who currently workwith big data and analytics will see how cognitive computing buildson their foundation, and creates new opportunities. CognitiveComputing provides complete guidance to this new level ofhuman-machine interaction.
When we think of everyday language use, the first things that come to mind include colloquial conversations, reading and writing e-mails, sending text messages or reading a book. But can we study the brain basis of language as we use it in our daily lives? As a topic of study, the cognitive neuroscience of language is far removed from these language-in-use examples. However, recent developments in research and technology have made studying the neural underpinnings of naturally occurring language much more feasible. In this book a range of international experts provide a state-of-the-art overview of current approaches to making the cognitive neuroscience of language more 'natural' and closer to language use as it occurs in real life. The chapters explore topics including discourse comprehension, the study of dialogue, literature comprehension and the insights gained from looking at natural speech in neuropsychology.
Cognitive radios (CR) technology is capable of sensing its surrounding environment and adapting its internal states by making corresponding changes in certain operating parameters. CR is envisaged to solve the problems of the limited available spectrum and the inefficiency in the spectrum usage. CR has been considered in mobile ad hoc networks (MANETs), which enable wireless devices to dynamically establish networks without necessarily using a fixed infrastructure. The changing spectrum environment and the importance of protecting the transmission of the licensed users of the spectrum mainly differentiate classical MANETs from CR-MANETs. The cognitive capability and re-configurability of CR-MANETs have opened up several areas of research which have been explored extensively and continue to attract research and development. The book will describe CR-MANETs concepts, intrinsic properties and research challenges of CR-MANETs. Distributed spectrum management functionalities, such as spectrum sensing and sharing, will be presented. The design, optimization and performance evaluation of security issues and upper layers in CR-MANETs, such as transport and application layers, will be investigated.
This book is a fast-paced tutorial to developing ColdFusion applications, with an emphasis on real-world skills. Packed with examples and careful explanations, the book leads you through all the topics relevant to today's ColdFusion developer. This book is for web developers working with ColdFusion 8. If your goal is to get a good grounding in the basics of the language as quickly as possible and put a site together quickly, this book is ideal for you. If you want to learn more about professional programming of ColdFusion, this book is definitely for you. No prior knowledge of ColdFusion is expected, but basic knowledge of general web and software development skills is assumed.
With many new forms of digital media--including such popular social media as Facebook, Twitter, and Flickr -- the people formerly known as the audience no longer only consume but also produce and even design media. Jonas L'wgren and Bo Reimer term this phenomenon collaborative media, and in this book they investigate the qualities and characteristics of these forms of media in terms of what they enable people to do. They do so through an interdisciplinary research approach that combines the social sciences and humanities traditions of empirical and theoretical work with practice-based, design-oriented interventions. L'wgren and Reimer offer analysis and a series of illuminating case studies -- examples of projects in collaborative media that range from small multidisciplinary research experiments to commercial projects used by millions of people. L'wgren and Reimer discuss the case studies at three levels of analysis: society and the role of collaborative media in societal change; institutions and the relationship of collaborative media with established media structures; and tribes, the nurturing of small communities within a large technical infrastructure. They conclude by advocating an interventionist turn within social analysis and media design.
Collaboration among individuals - from users to developers - is central to modern software engineering. It takes many forms: joint activity to solve common problems, negotiation to resolve conflicts, creation of shared definitions, and both social and technical perspectives impacting all software development activity. The difficulties of collaboration are also well documented. The grand challenge is not only to ensure that developers in a team deliver effectively as individuals, but that the whole team delivers more than just the sum of its parts. The editors of this book have assembled an impressive selection of authors, who have contributed to an authoritative body of work tackling a wide range of issues in the field of collaborative software engineering. The resulting volume is divided into four parts, preceded by a general editorial chapter providing a more detailed review of the domain of collaborative software engineering. Part 1 is on "Characterizing Collaborative Software Engineering", Part 2 examines various "Tools and Techniques", Part 3 addresses organizational issues, and finally Part 4 contains four examples of "Emerging Issues in Collaborative Software Engineering". As a result, this book delivers a comprehensive state-of-the-art overview and empirical results for researchers in academia and industry in areas like software process management, empirical software engineering, and global software development. Practitioners working in this area will also appreciate the detailed descriptions and reports which can often be used as guidelines to improve their daily work.
This is a comprehensive guide to color correction for film and video professionals covering every major color-correction software and hardware system. You will learn to apply the methods that all of the color correction applications use, how to problem-solve and trouble-shoot, how to maximize the effectiveness of each tool that's available, and you will discover how to creatively combine techniques and tools to accomplish the types of stylizations that colorists are often called upon to create.
One advantage of using CSS3 is that you can apply colors and backgrounds to any element in a web document, create your own gradients, and even apply multiple backgrounds to the same element. This practical guide shows you many ways to use colors, backgrounds, and gradients to achieve some pretty awesome effects.Short and sweet, this book is an excerpt from the upcoming fourth edition of CSS: The Definitive Guide. When you purchase either the print or the ebook edition of Colors, Backgrounds, and Gradients, you'll receive a discount on the entire Definitive Guide once it's released. Why wait? Learn how to bring life to your web pages now.Define foreground colors for a border or element with the color propertyCombine foreground and background colors to create interesting effectsPosition and repeat one or more images in an element's backgroundFix an image to a screen's viewing area, rather than to the element that contains itUse color stops to define vertical, horizontal, and diagonal linear gradientsCreate spotlight effects, circular shadows, and other effects with radial gradients
What is metadata? When do you need to archive digital content? How does electronic publication affect copyrights? How can XML and PDF improve your workflow and your publications? There is a digital dimension to virtually all publishing today. Beyond the obvious electronic media -- the music and movies we take for granted, the increasingly indispensable Web, the eBooks that most of us will take for granted in a few years -- almost everything we read, even on paper, was produced digitally. This new digital world offers a steadily increasing number of choices. It is this rich and rapidly changing publishing environment for which The Columbia Guide to Digital Publishingwas created. Although there is a vast amount of information on a host of topics relevant to digital production and publishing available -- some in print, more on the Web -- there has been, until now, no single resource to which those involved in any dimension of publishing could turn for guidance. The Columbia Guide to Digital Publishing fills that need. The Guide is definitive: written by experts in the broad array of subjects it covers, it provides reliable, authoritative, user-friendly information about a vast number of topics. Designed to be the first place to go to learn about any of the numerous interrelated issues that define the digital publishing landscape, it offers readers a multilevel approach, from a brief glossary definition of a technical term or acronym (sometimes all a user needs), to a concise discussion of a topic (comprehensible to the lay person, yet useful for the technical expert). It puts a subject in the context of other topics and broader issues, with real-world examples, liberal cross-references, and pointers to sources of further information in print or electronic form.
COM and .NET Component Services provides both traditional COM programmers and new .NET component developers with the information they need to begin developing applications that take full advantage of COM+ services. This book focuses on COM+ services, including support for transactions, queued components, events, concurrency management, and security.
With COM and .NET Component Services, skilled COM developers can leverage their knowledge for the next generation of components to be built for Microsoft's new .NET framework. A primary goal of Microsoft's COM+ is to provide proven design solutions for scalable systems. Assuming experience with classic COM, COM and .NET Component Services focuses on the added services of COM+, including support for transactions, queued components, events, concurrency management, and security. Along the way, it ably demonstrates that COM+ is a masterpiece of design and usability from the ground up--truly a mature set of component services oriented for the middle tier. COM+ provides a foundation for robust, enterprise-wide, mission-critical distributed applications. And it's not limited to Internet applications. You can use COM+ services in the same places as classic COM components: in-house two-tier information systems, client-tier controls, desktop applications, machine control components, and every other conceivable application of COM. COM and .NET Component Services is the first book to stress the importance of learning to use COM+ services for both .NET and COM component-based applications. Since most companies have considerable investment in existing code base and development skills, COM+ can serve as a migration path for companies and developers. Companies can start (or continue) their projects in COM, using COM+ as a supporting platform for component services, and then when the time comes to move to .NET, they can start plugging .NET components seamlessly into the same architecture, reusing and interacting with their existing COM components.
Microsoft .NET is here, but COM and COM+ will be a valuable part of every Microsoft Windows® programmer's toolbox for years. This in-depth programming guide explains how and where COM and COM+ fit into the new .NET world, demonstrates the new technologies that are available in .NET, and shows how to interoperate between COM/COM+ and .NET. It explains how to use Microsoft Visual Studio® .NET to write traditional COM objects, how to use COM objects in .NET code, and how to use .NET objects as COM objects. It also discusses COM+ topics such as disconnected applications and subscriptions. The authors show you both theoretical and practical approaches--explaining how the mechanisms work and also providing practical advice with sample code to show how to handle interoperability. Topics covered include: The .NET view of COM and COM+ COM, COM+, and .NET Using COM components in .NET code Using .NET components in COM applications Overview of COM+ coding for .NET Writing COM code Attributed programming Active Template Library (ATL) and ATL Server Writing COM+ code A simple COM+ example Working with disconnected applications Creating subscriptions Web application scenarios Interoperability Interacting with unmanaged code Advanced interaction Working with predefined interfaces Includes sample code on the Web