Unix is no longer someone else's OS. With Mac OS X built on top of it, Unix is becoming a household name, and more and more Mac users are ready to take it on. This book is for them! Based on a popular series of Unix tips, this book promises to deliver what most other Unix guides fail to: comprehensive tutorials and instruction on specific Unix subjects, commands, and projects, not just a handy reference guide. Arranged into 101 mini tutorials in 11 key technology areas, this book provides all the tricks, techniques, and training that you need to understand how the system works and start using it immediately. You will quickly learn the basics to working with the Unix command line as well as work on specific tutorials/exercises, including: browsing and searching the directory file-system; viewing, searching, and processing file content; using text editors; shell scripting; cool commands; and more.
Have you ever poured all your creativity into a Flash movie, but found your friends grumbling at the download size? Have you tried to use just one tiny picture in your movie, and seen the file size go through the roof? Is it possible to do anything remotely effective in a small file? More than you could possibly imagine! This collection shows you just exactly what can be done with tiny Flash files, using some of the hottest Flash designers around. These authors pull designs out of the top drawer and show you exactly how you can go about creating great SWFs with the smallest amount of download pain. We will look at: creating incredible generative designs -- so small you can use them for wallpaper producing 3D animations that roll in at under 5k in size creating sound toys in the smallest possible file space de-mystifying the use of JPEGs and photographs while keeping your Flash movies small strategic use of back-end technology to keep your delivery times down to nanoseconds! changing the boundaries to look at new ways of delivering entire sites! From the Publisher Who is this book for You've worked with Flash, but are wondering why people are getting tetchy at the download time. You're willing to start learning some ActionScript tricks to fight the file flab, and you're not afraid to become addicted to optimization! About the Author Genevieve Garand Conceived 3weeksinApril.com, an experimental web site that explores new ways of navigation and features an engaging narrative. David Hirmes is a Flash developer living in Brooklyn, New York. Kip Parker Works through his own company Hi-Rise Limited and in collaboration with Anthony Burrill as Friendchip, which was established in 1998. Keith Peters Found Flash to be the ideal medium for creating graphics with code. Robert Reich lives in Hamburg, Germany. Flash became his favourite besides normal HTML and serverside driven website creation. He is working as freelancer for several firms. Roy Tanck Currently employed in Hilversum, as part of a team that creates innovative e-learning solutions. Within this environment, Flash is a great tool.
The networking capabilities of the Java platform have been extended considerably since the first edition of the book. This new edition covers version 1.5-1.7, the most current iterations, as well as making the following improvements: The API (application programming interface) reference sections in each chapter, which describe the relevant parts of each class, have been replaced with (i) a summary section that lists the classes and methods used in the code, and (ii) a "gotchas" section that mentions nonobvious or poorly-documented aspects of the objects. In addition, the book covers several new classes and capabilities introduced in the last few revisions of the Java platform. New abstractions to be covered include NetworkInterface, InterfaceAddress, Inet4/6Address, SocketAddress/InetSocketAddress, Executor, and others; extended access to low-level network information; support for IPv6; more complete access to socket options; and scalable I/O. The example code is also modified to take advantage of new language features such as annotations, enumerations, as well as generics and implicit iterators where appropriate. Most Internet applications use sockets to implement network communication protocols. This book's focused, tutorial-based approach helps the reader master the tasks and techniques essential to virtually all client-server projects using sockets in Java. Chapter 1 provides a general overview of networking concepts to allow readers to synchronize the concepts with terminology. Chapter 2 introduces the mechanics of simple clients and servers. Chapter 3 covers basic message construction and parsing. Chapter 4 then deals with techniques used to build more robust clients and servers. Chapter 5 (NEW) introduces the scalable interface facilities which were introduced in Java 1.5, including the buffer and channel abstractions. Chapter 6 discusses the relationship between the programming constructs and the underlying protocol implementations in more detail. Programming concepts are introduced through simple program examples accompanied by line-by-line code commentary that describes the purpose of every part of the program. No other resource presents so concisely or so effectively the material necessary to get up and running with Java sockets programming. Focused, tutorial-based instruction in key sockets programming techniques allows reader to quickly come up to speed on Java applications. Concise and up-to-date coverage of the most recent platform (1.7) for Java applications in networking technology.
For more than twenty years, serious C programmers have relied on one book for practical, in-depth knowledge of the programming interfaces that drive the UNIX and Linux kernels: W. Richard Stevens’ Advanced Programming in the UNIX® Environment . Now, once again, Rich’s colleague Steve Rago has thoroughly updated this classic work. The new third edition supports today’s leading platforms, reflects new technical advances and best practices, and aligns with Version 4 of the Single UNIX Specification. Steve carefully retains the spirit and approach that have made this book so valuable. Building on Rich’s pioneering work, he begins with files, directories, and processes, carefully laying the groundwork for more advanced techniques, such as signal handling and terminal I/O. He also thoroughly covers threads and multithreaded programming, and socket-based IPC. This edition covers more than seventy new interfaces, including POSIX asynchronous I/O, spin locks, barriers, and POSIX semaphores. Most obsolete interfaces have been removed, except for a few that are ubiquitous. Nearly all examples have been tested on four modern platforms: Solaris 10, Mac OS X version 10.6.8 (Darwin 10.8.0), FreeBSD 8.0, and Ubuntu version 12.04 (based on Linux 3.2). As in previous editions, you’ll learn through examples, including more than ten thousand lines of downloadable, ISO C source code. More than four hundred system calls and functions are demonstrated with concise, complete programs that clearly illustrate their usage, arguments, and return values. To tie together what you’ve learned, the book presents several chapter-length case studies, each reflecting contemporary environments. Advanced Programming in the UNIX® Environment has helped generations of programmers write code with exceptional power, performance, and reliability. Now updated for today’s systems, this third edition will be even more valuable.
The most comprehensive book on state-of-the-art smart card technology available Updated with new international standards and specifications, this essential fourth edition now covers all aspects of smart card in a completely revised structure. Its enlarged coverage now includes smart cards for passports and ID cards, health care cards, smart cards for public transport, and Java Card 3.0. New sub-chapters cover near field communication (NFC), single wire protocol (SWP), and multi megabyte smart cards (microcontroller with NAND-Flash). There are also extensive revisions to chapters on smart card production, the security of smart cards (including coverage of new attacks and protection methods), and contactless card data transmission (ISO/IEC 10536, ISO/IEC 14443, ISO/IEC 15693). This edition also features: additional views to the future development of smart cards, such as USB, MMU, SWP, HCI, Flash memory and their usage; new internet technologies for smart cards; smart card web server, HTTP-Protocol, TCP/IP, SSL/TSL; integration of the new flash-based microcontrollers for smart cards (until now the usual ROM-based microcontrollers), and; a completely revised glossary with explanations of all important smart card subjects (600 glossary terms). Smart Card Handbook is firmly established as the definitive reference to every aspect of smart card technology, proving an invaluable resource for security systems development engineers. Professionals and microchip designers working in the smart card industry will continue to benefit from this essential guide. This book is also ideal for newcomers to the field. The Fraunhofer Smart Card Award was presented to the authors for the Smart Card Handbook, Third Edition in 2008.
Hacking is the art of creative problem solving, whether that means finding an unconventional solution to a difficult problem or exploiting holes in sloppy programming. Many people call themselves hackers, but few have the strong technical foundation needed to really push the envelope. Rather than merely showing how to run existing exploits, author Jon Erickson explains how arcane hacking techniques actually work. To share the art and science of hacking in a way that is accessible to everyone, Hacking: The Art of Exploitation, 2nd Edition introduces the fundamentals of C programming from a hacker's perspective. The included LiveCD provides a complete Linux programming and debugging environment—all without modifying your current operating system. Use it to follow along with the book's examples as you fill gaps in your knowledge and explore hacking techniques on your own. Get your hands dirty debugging code, overflowing buffers, hijacking network communications, bypassing protections, exploiting cryptographic weaknesses, and perhaps even inventing new exploits. This book will teach you how to: – Program computers using C, assembly language, and shell scripts – Corrupt system memory to run arbitrary code using buffer overflows and format strings – Inspect processor registers and system memory with a debugger to gain a real understanding of what is happening – Outsmart common security measures like nonexecutable stacks and intrusion detection systems – Gain access to a remote server using port-binding or connect-back shellcode, and alter a server's logging behavior to hide your presence – Redirect network traffic, conceal open ports, and hijack TCP connections – Crack encrypted wireless traffic using the FMS attack, and speed up brute-force attacks using a password probability matrix Hackers are always pushing the boundaries, investigating the unknown, and evolving their art. Even if you don't already know how to program, Hacking: The Art of Exploitation, 2nd Edition will give you a complete picture of programming, machine architecture, network communications, and existing hacking techniques. Combine this knowledge with the included Linux environment, and all you need is your own creativity.
The Definitive Guide to the ARM® Cortex®-M0 and Cortex-M0+ Processors, Second Edition explains the architectures underneath ARM’s Cortex-M0 and Cortex-M0+ processors and their programming techniques. Written by ARM’s Senior Embedded Technology Manager, Joseph Yiu, the book is packed with examples on how to use the features in the Cortex-M0 and Cortex-M0+ processors. It provides detailed information on the instruction set architecture, how to use a number of popular development suites, an overview of the software development flow, and information on how to locate problems in the program code and software porting. This new edition includes the differences between the Cortex-M0 and Cortex-M0+ processors such as architectural features (e.g. unprivileged execution level, vector table relocation), new chapters on low power designs and the Memory Protection Unit (MPU), the benefits of the Cortex-M0+ processor, such as the new single cycle I/O interface, higher energy efficiency, better performance and the Micro Trace Buffer (MTB) feature, updated software development tools, updated Real Time Operating System examples using KeilTM RTX with CMSIS-RTOS APIs, examples of using various Cortex-M0 and Cortex-M0+ based microcontrollers, and much more. Provides detailed information on ARM® Cortex®-M0 and Cortex-M0+ Processors, including their architectures, programming model, instruction set, and interrupt handling Presents detailed information on the differences between the Cortex-M0 and Cortex-M0+ processors Covers software development flow, including examples for various development tools in both C and assembly languages Includes in-depth coverage of design approaches and considerations for developing ultra low power embedded systems, the benchmark for energy efficiency in microcontrollers, and examples of utilizing low power features in microcontrollers
Technological advancements in recent years have enabled the development of tiny, cheap disposable and self contained battery powered computers, known as sensor nodes or “motes”, which can accept input from an attached sensor, process this input and transmit the results wirelessly to some interested device(s). When a number of these nodes work together, conceivably up to hundreds of thousands, a Wireless Sensor Network (WSN) is formed. Research in the area of wireless sensor networks has become increasingly wid- pread in recent years, partly due to their wide range of potential uses and also partly due to the fact that the technology enabling such networks is now widely available from many di?erent suppliers, such as: Crossbow, MoteIV, Intel and SUN (java based motes). These wireless sensor networks have the potential to allow a level of integration between computers and the physical world that, to date, has been virtually impos- ble. The uses for such networks is almost limitless and include such diverse app- cations as a counter sniper system for urban warfare  tracking the path of a forest re , determining the structural stability of a building after an earthquake , or tracking people or objects inside a building , etc.