Goldstein’s goal was to achieve what no other fan of American football has accomplished: to attend one live National Football League (NFL) game at every NFL stadium during the regular season, plus those played in London and Canada. He traveled over 65,000 miles to watch forty football games in eighteen weeks and to experience and understand the phenomenal appeal of that classic American pastime, the tailgate party.
He drove from stadium to stadium, tailgate to tailgate, sometimes eight hundred miles a day, digesting everything that American football could serve up. He met players and extreme fans alike and was party to surreal pregame rituals while absorbing the rich cultural differences of each part of the country. During his football odyssey—a grueling yet rewarding quest—he compared sports traditions and fandom in the United Kingdom and the United States. In the process of football self-discovery, Goldstein often found himself embraced by NFL fans across the continent, as if he had the key that unlocked the very meaning of life.
Tailgate to Heaven is a humorous, moving, and inspiring story about how nothing closes a culture gap like love of a sport—and the camaraderie that comes with it.
Learning to use a Mac is not a piece of cake, but once you do, the rewards are oh-so-much better. No viruses, worms, or spyware. No questionable firewalls, inefficient permissions, or other strange features. Just a beautiful machine with a thoroughly reliable system. Whether you're using Windows XP or Vista, we've got you covered.
If you're ready to take on Mac OS X Snow Leopard, the latest edition of this bestselling guide tells you everything you need to know:
Transferring your stuff -- Moving photos, MP3s, and Microsoft Office documents is the easy part. This book gets you through the tricky things: extracting your email, address book, calendar, Web bookmarks, buddy list, desktop pictures, and MP3 files.
Re-creating your software suite -- Big-name programs (Word, Photoshop, Firefox, Dreamweaver, and so on) are available in both Mac and Windows versions, but hundreds of other programs are available only for Windows. This guide identifies the Mac equivalents and explains how to move your data to them.
Learning Snow Leopard -- Once you've moved into the Mac, a final task awaits: Learning your way around. Fortunately, you're in good hands with the author of Mac OS X: The Missing Manual, the #1 bestselling guide to the Macintosh.
Moving from Windows to a Mac successfully and painlessly is the one thing Apple does not deliver. Switching to the Mac: The Missing Manual, Snow Leopard Edition is your ticket to a new computing experience.
—Andrew Hedges, Tapulous
The book's four major sections build your knowledge with the foundational elements of system administration. These sections guide you through better techniques for upgrades and change management, catalog best practices for IT services, and explore various management topics. Chapters are divided into The Basics and The Icing. When you get the Basics right it makes every other aspect of the job easier--such as automating the right things first. The Icing sections contain all the powerful things that can be done on top of the basics to wow customers and managers.
Inside, you'll find advice on topics such asThe key elements your networks and systems need in order to make all other services run better Building and running reliable, scalable services, including web, storage, email, printing, and remote access Creating and enforcing security policies Upgrading multiple hosts at one time without creating havoc Planning for and performing flawless scheduled maintenance windows Managing superior helpdesks and customer care Avoiding the "temporary fix" trap Building data centers that improve server uptime Designing networks for speed and reliability Web scaling and security issues Why building a backup system isn't about backups Monitoring what you have and predicting what you will need How technically oriented workers can maintain their job's technical focus (and avoid an unwanted management role) Technical management issues, including morale, organization building, coaching, and maintaining positive visibility Personal skill techniques, including secrets for getting more done each day, ethical dilemmas, managing your boss, and loving your job System administration salary negotiation
It's no wonder the first edition received Usenix SAGE's 2005 Outstanding Achievement Award!
This eagerly anticipated second edition updates this time-proven classic:Chapters reordered for easier navigation Thousands of updates and clarifications based on reader feedback Plus three entirely new chapters: Web Services, Data Storage, and Documentation
Serving as a low-cost, secure alternative to expensive operating systems, Linux is a UNIX-based, open source operating system. Full-color and concise, this beginner's guide takes a learning-by-doing approach to understanding the essentials of Linux. Each chapter begins by clearly identifying what you will learn in the chapter, followed by a straightforward discussion of concepts that leads you right into hands-on tutorials. Chapters conclude with additional exercises and review questions, allowing you to reinforce and measure your understanding.Offers a hands-on approach to acquiring a foundation of Linux skills, aiming to ensure Linux beginners gain a solid understanding Uses the leading Linux distribution Fedora to demonstrate tutorials and examples Addresses Linux installation, desktop configuration, management of files and filesystems, remote administration, security, and more
This book is essential reading for anyone entering the world of Linux!
This updated edition offers a tighter focus on Linux system essentials, as well as more coverage of new capabilities such as virtualization, wireless network management, and revision control with git. It also highlights the most important options for using the vast number of Linux commands. You'll find many helpful new tips and techniques in this reference, whether you're new to this operating system or have been using it for years.
Get the Linux commands for system administration and network managementUse hundreds of the most important shell commands available on LinuxUnderstand the Bash shell command-line interpreterSearch and process text with regular expressionsManage your servers via virtualization with Xen and VMwareUse the Emacs text editor and development environment, as well as the vi, ex, and vim text-manipulation toolsProcess text files with the sed editor and the gawk programming languageManage source code with Subversion and git
Written by the winner of the 2013 LISA Award for Outstanding Achievement in System Administration
Large-scale enterprise, cloud, and virtualized computing systems have introduced serious performance challenges. Now, internationally renowned performance expert Brendan Gregg has brought together proven methodologies, tools, and metrics for analyzing and tuning even the most complex environments. Systems Performance: Enterprise and the Cloud focuses on Linux® and Unix® performance, while illuminating performance issues that are relevant to all operating systems. You’ll gain deep insight into how systems work and perform, and learn methodologies for analyzing and improving system and application performance. Gregg presents examples from bare-metal systems and virtualized cloud tenants running Linux-based Ubuntu®, Fedora®, CentOS, and the illumos-based Joyent® SmartOS™ and OmniTI OmniOS®. He systematically covers modern systems performance, including the “traditional” analysis of CPUs, memory, disks, and networks, and new areas including cloud computing and dynamic tracing. This book also helps you identify and fix the “unknown unknowns” of complex performance: bottlenecks that emerge from elements and interactions you were not aware of. The text concludes with a detailed case study, showing how a real cloud customer issue was analyzed from start to finish.
• Modern performance analysis and tuning: terminology, concepts, models, methods, and techniques
• Dynamic tracing techniques and tools, including examples of DTrace, SystemTap, and perf
• Kernel internals: uncovering what the OS is doing
• Using system observability tools, interfaces, and frameworks
• Understanding and monitoring application performance
• Optimizing CPUs: processors, cores, hardware threads, caches, interconnects, and kernel scheduling
• Memory optimization: virtual memory, paging, swapping, memory architectures, busses, address spaces, and allocators
• File system I/O, including caching
• Storage devices/controllers, disk I/O workloads, RAID, and kernel I/O
• Network-related performance issues: protocols, sockets, interfaces, and physical connections
• Performance implications of OS and hardware-based virtualization, and new issues encountered with cloud computing
• Benchmarking: getting accurate results and avoiding common mistakes
This guide is indispensable for anyone who operates enterprise or cloud environments: system, network, database, and web admins; developers; and other professionals. For students and others new to optimization, it also provides exercises reflecting Gregg’s extensive instructional experience.
Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone who’s ever wondered about the secret inner life of computers and other smart machines.
It’s a cleverly illustrated and eminently comprehensible story—and along the way, you’ll discover you’ve gained a real context for understanding today’s world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm you—and perhaps even awaken the technophile within.
This practical pocket guide gets you up to speed quickly with Eclipse. It covers basic concepts, including Views and editors, as well as features that are not commonly understood, such as Perspectives and Launch Configurations. You'll learn how to write and debug your Java code--and how to integrate that code with tools such as Ant and JUnit. You'll also get a toolbox full of tips and tricks to handle common--and sometimes unexpected--tasks that you'll run across in your Java development cycle.
Additionally, the Eclipse IDE Pocket Guide has a thorough appendix detailing all of Eclipse's important views, menus, and commands.
The Eclipse IDE Pocket Guide is just the resource you need for using Eclipse, whether it's on a daily, weekly, or monthly basis. Put it in your back pocket, or just throw it in your backpack. With this guide in hand, you're ready to tackle the Eclipse programming environment.
The fact is your brain craves novelty. It's constantly searching, scanning, waiting for something unusual to happen. After all, that's the way it was built to help you stay alive. It takes all the routine, ordinary, dull stuff and filters it to the background so it won't interfere with your brain's real work--recording things that matter. How does your brain know what matters? It's like the creators of the Head First approach say, suppose you're out for a hike and a tiger jumps in front of you, what happens in your brain? Neurons fire. Emotions crank up. Chemicals surge.
That's how your brain knows.
And that's how your brain will learn Java. Head First Java combines puzzles, strong visuals, mysteries, and soul-searching interviews with famous Java objects to engage you in many different ways. It's fast, it's fun, and it's effective. And, despite its playful appearance, Head First Java is serious stuff: a complete introduction to object-oriented programming and Java. You'll learn everything from the fundamentals to advanced topics, including threads, network sockets, and distributed programming with RMI. And the new. second edition focuses on Java 5.0, the latest version of the Java language and development platform. Because Java 5.0 is a major update to the platform, with deep, code-level changes, even more careful study and implementation is required. So learning the Head First way is more important than ever.
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. You'll see why people say it's unlike any other Java book you've ever read.
By exploiting how your brain works, Head First Java compresses the time it takes to learn and retain--complex information. Its unique approach not only shows you what you need to know about Java syntax, it teaches you to think like a Java programmer. If you want to be bored, buy some other book. But if you want to understand Java, this book's for you.
The third edition of Understanding the Linux Kernel takes you on a guided tour of the most significant data structures, algorithms, and programming tricks used in the kernel. Probing beyond superficial features, the authors offer valuable insights to people who want to know how things really work inside their machine. Important Intel-specific features are discussed. Relevant segments of code are dissected line by line. But the book covers more than just the functioning of the code; it explains the theoretical underpinnings of why Linux does things the way it does.
This edition of the book covers Version 2.6, which has seen significant changes to nearly every kernel subsystem, particularly in the areas of memory management and block devices. The book focuses on the following topics:Memory management, including file buffering, process swapping, and Direct memory Access (DMA) The Virtual Filesystem layer and the Second and Third Extended FilesystemsProcess creation and schedulingSignals, interrupts, and the essential interfaces to device driversTimingSynchronization within the kernelInterprocess Communication (IPC) Program execution
Understanding the Linux Kernel will acquaint you with all the inner workings of Linux, but it's more than just an academic exercise. You'll learn what conditions bring out Linux's best performance, and you'll see how it meets the challenge of providing good system response during process scheduling, file access, and memory management in a wide variety of environments. This book will help you make the most of your Linux system.
Three long-time FreeBSD project leaders begin with a concise overview of the FreeBSD kernel’s current design and implementation. Next, they cover the FreeBSD kernel from the system-call level down–from the interface to the kernel to the hardware. Explaining key design decisions, they detail the concepts, data structures, and algorithms used in implementing each significant system facility, including process management, security, virtual memory, the I/O system, filesystems, socket IPC, and networking.
This Second Edition
• Explains highly scalable and lightweight virtualization using FreeBSD jails, and virtual-machine acceleration with Xen and Virtio device paravirtualization
• Describes new security features such as Capsicum sandboxing and GELI cryptographic disk protection
• Fully covers NFSv4 and Open Solaris ZFS support
• Introduces FreeBSD’s enhanced volume management and new journaled soft updates
• Explains DTrace’s fine-grained process debugging/profiling
• Reflects major improvements to networking, wireless, and USB support
Readers can use this guide as both a working reference and an in-depth study of a leading contemporary, portable, open source operating system. Technical and sales support professionals will discover both FreeBSD’s capabilities and its limitations. Applications developers will learn how to effectively and efficiently interface with it; system administrators will learn how to maintain, tune, and configure it; and systems programmers will learn how to extend, enhance, and interface with it.
Marshall Kirk McKusick writes, consults, and teaches classes on UNIX- and BSD-related subjects. While at the University of California, Berkeley, he implemented the 4.2BSD fast filesystem. He was research computer scientist at the Berkeley Computer Systems Research Group (CSRG), overseeing development and release of 4.3BSD and 4.4BSD. He is a FreeBSD Foundation board member and a long-time FreeBSD committer. Twice president of the Usenix Association, he is also a member of ACM, IEEE, and AAAS.
George V. Neville-Neil hacks, writes, teaches, and consults on security, networking, and operating systems. A FreeBSD Foundation board member, he served on the FreeBSD Core Team for four years. Since 2004, he has written the “Kode Vicious” column for Queue and Communications of the ACM. He is vice chair of ACM’s Practitioner Board and a member of Usenix Association, ACM, IEEE, and AAAS.
Robert N.M. Watson is a University Lecturer in systems, security, and architecture in the Security Research Group at the University of Cambridge Computer Laboratory. He supervises advanced research in computer architecture, compilers, program analysis, operating systems, networking, and security. A FreeBSD Foundation board member, he served on the Core Team for ten years and has been a committer for fifteen years. He is a member of Usenix Association and ACM.
Topics include:The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functionsThe relationships among std::move, std::forward, rvalue references, and universal referencesTechniques for writing clear, correct, effective lambda expressionsHow std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency APIHow best practices in "old" C++ programming (i.e., C++98) require revision for software development in modern C++
Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material.
"After I learned the C++ basics, I then learned how to use C++ in production code from Meyer's series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don't own it yet? Buy this one. Now".
-- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft
Simply Mac-nificent — all the cool things your Mac can do! This handy guide helps you figure out the nuts and bolts of your Mac. Navigate the Mac desktop, use the Safari Web browser to surf the Internet, e-mail photos to friends and family, create and print documents, rip audio CDs, and more. The fun begins right here!
Open the book and find:How to set up and configure your MacTips for getting around on the Mac desktopSteps for setting up an e-mail account and browsing the InternetDetails about the free programs that come with your MacHow to transfer digital photos to your Mac and easily touch them up
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.
Covers updated system utilities and new features of OS X Yosemite. Features authoritative explanations of underlying technologies, troubleshooting, system administration, and much more. Focused lessons take you step by step through practical, real-world tasks. Lesson files and bonus material available for download–including lesson review questions summarizing what you’ve learned to prepare you for the Apple certification exam.
vi has been the standard editor for close to 30 years. Popular on Unix and Linux, it has a growing following on Windows systems, too. Most experienced system administrators cite vi as their tool of choice. And since 1986, this book has been the guide for vi.
However, Unix systems are not what they were 30 years ago, and neither is this book. While retaining all the valuable features of previous editions, the 7th edition of Learning the vi and vim Editors has been expanded to include detailed information on vim, the leading vi clone. vim is the default version of vi on most Linux systems and on Mac OS X, and is available for many other operating systems too.
With this guide, you learn text editing basics and advanced tools for both editors, such as multi-window editing, how to write both interactive macros and scripts to extend the editor, and power tools for programmers -- all in the easy-to-follow style that has made this book a classic.
Learning the vi and vim Editors includes:
A complete introduction to text editing with vi:How to move around vi in a hurryBeyond the basics, such as using buffersvi's global search and replacementAdvanced editing, including customizing vi and executing Unix commands
How to make full use of vim:Extended text objects and more powerful regular expressionsMulti-window editing and powerful vim scriptsHow to make full use of the GUI version of vim, called gvimvim's enhancements for programmers, such as syntax highlighting, folding and extended tags
Coverage of three other popular vi clones -- nvi, elvis, and vile -- is also included. You'll find several valuable appendixes, including an alphabetical quick reference to both vi and ex mode commands for regular vi and for vim, plus an updated appendix on vi and the Internet.
Learning either vi or vim is required knowledge if you use Linux or Unix, and in either case, reading this book is essential. After reading this book, the choice of editor will be obvious for you too.
Version Control with Subversion is useful for people from a wide variety of backgrounds, from those with no previous version control experience to experienced system administrators.
Subversion is the perfect tool to track individual changes when several people collaborate on documentation or, particularly, software development projects. As a more powerful and flexible successor to the CVS revision control system, Subversion makes life so much simpler, allowing each team member to work separately and then merge source code changes into a single repository that keeps a record of each separate version.
Inside the updated edition Version Control with Subversion, you'll find:An introduction to Subversion and basic concepts behind version controlA guided tour of the capabilities and structure of Subversion 1.5Guidelines for installing and configuring Subversion to manage programming, documentation, or any other team-based projectDetailed coverage of complex topics such as branching and repository administrationAdvanced features such as properties, externals, and access controlA guide to best practicesComplete Subversion reference and troubleshooting guideIf you've never used version control, you'll find everything you need to get started. And if you're a seasoned CVS pro, this book will help you make a painless leap into Subversion.
flex & bison covers the same core functionality vital to Linux and Unix program development, along with several important new topics. You'll find revised tutorials for novices and references for advanced users, as well as an explanation of each utility's basic usage and simple, standalone applications you can create with them. With flex & bison, you'll discover the wide range of uses these flexible tools offer.
Address syntax crunching that regular expressions tools can't handleBuild compilers and interpreters, and handle a wide range of text processing functionsInterpret code, configuration files, or any other structured formatLearn key programming techniques, including abstract syntax trees and symbol tablesImplement a full SQL grammar-with complete sample codeUse new features such as pure (reentrant) lexers and parsers, powerful GLR parsers, and interfaces to C++
The primary advantage of threaded programming is that it enables your applications to accomplish more than one task at the same time by using the number-crunching power of multiprocessor parallelism and by automatically exploiting I/O concurrency in your code, even on a single processor machine. The result: applications that are faster, more responsive to users, and often easier to maintain. Threaded programming is particularly well suited to network programming where it helps alleviate the bottleneck of slow network I/O.
This book offers an in-depth description of the IEEE operating system interface standard, POSIXAE (Portable Operating System Interface) threads, commonly called Pthreads. Written for experienced C programmers, but assuming no previous knowledge of threads, the book explains basic concepts such as asynchronous programming, the lifecycle of a thread, and synchronization. You then move to more advanced topics such as attributes objects, thread-specific data, and realtime scheduling. An entire chapter is devoted to "real code," with a look at barriers, read/write locks, the work queue manager, and how to utilize existing libraries. In addition, the book tackles one of the thorniest problems faced by thread programmers-debugging-with valuable suggestions on how to avoid code errors and performance problems from the outset.
Numerous annotated examples are used to illustrate real-world concepts. A Pthreads mini-reference and a look at future standardization are also included.
New features covered include Split View, Photos, Force click, natural-language queries, the new system font, System Integrity Protection, pointer magnification, two-factor authentication, and updates to Mission Control, Spotlight, Mail, Notes, Safari, Maps, Calendar, Disk Utility, and Finder.
- See live previews of documents, pictures, and folders.
- Use Mission Control to juggle all your open windows, desktops, and displays.
- Dock programs, documents, and folders for one-click access.
- Tag your files to make them easy to sort and find.
- Use Finder tabs to declutter your desktop.
- See all your notifications in one place.
- Spread your work over multiple displays.
- Enhance and customize OS X with extensions.
- Use iCloud to store and access the latest versions of your files and settings online.
- Share iTunes, iBooks, and App Store purchases freely with your family.
- Organize, view, edit, sync, and share your photos.
- Sync your files, mail, contacts, appointments, reminders, notes, and messages wirelessly across your Mac, Windows PC, and iOS devices.
- Get instant search results for documents, pictures, music, mail, programs, online sources, and more.
- Dictate anywhere that you can type.
- Play games on Game Center, Apple's online multiplayer social gaming network.
- Post to Facebook and Twitter right from the app you're using.
- Mirror your Mac's screen to your HDTV wirelessly via AirPlay, or use your HDTV as a full-fledged display, complete with dock and menu bar.
- Share files and printers on your home network.
- Move seamlessly between your Mac, iPhone, iPad, and iPod touch, or use them together.
- Connect to wireless networks with a couple of clicks.
- Set up and manage printers, scanners, and other devices.
- Download and install OS X, apps, and updates from the Mac App Store.
- Secure your data from thieves and snoops.
- Plenty of tips, tricks, and timesavers.
- Fully cross-referenced, linked, and searchable.
1. OS X Basics
2. The Desktop
3. System Preferences
4. Files, Folders & Drives
5. Programs & Documents
6. Printing, Faxing & Fonts
7. Networks & Sharing
8. Online Connections
9. Security & Privacy
10. Maintenance & Backups
11. Switching from Windows
12. Keyboard Shortcuts
The vast majority of Unix users utilize the Korn shell or some variant of the Bourne shell, such as bash. Three are covered in the third edition of Unix Shell Programming. It begins with a generalized tutorial of Unix and tools and then moves into detailed coverage of shell programming.
Topics covered include: regular expressions, the kernel and the utilities, command files, parameters, manipulating text filters, understanding and debugging shell scripts, creating and utilizing variables, tools, processes, and customizing the shell.
* Setting up your new iPhone 6/iPhone 6S/iPhone 6 Plus/iPhone 6S Plus
* How to customize your iPhone’s appearance
* What you need to know if you are migrating from Android
* Touch screen basics
* 3D Touch, Peek, and Pop
* Managing your Home screens
* Switching apps and multitasking
* Typing and text tricks
* Siri and its kid brother, Dictation
* Getting the most out of the powerful iPhone camera
* Limitations of Apple's Photos app
* Managing iCloud settings
* Security features, from Find My iPhone to Touch ID
* Wi-Fi and other wireless settings
* Four ways to conserve battery power
* Five ways to free up storage space on your iPhone
* How to tame notifications and after-hours calls
* Moving, deleting, and grouping apps
* Nine great apps for your iPhone
About the series: Since 2012, In 30 Minutes® guides have helped people all over the world understand complex topics, including technology, medicine, and personal finance. For more information, visit in30minutes.com.
In 30 Minutes®: Quick guides for a complex world™
As more corporations adopt Linux as the networking backbone for theirIT systems, the demand for certified technicians will becomeeven greater. Passing the LPI exams will broaden your career optionsbecause the LPICis the most widely known and respected Linux certification program intheworld. Linux Journal recognized the LPI as the bestTraining andCertification Program. The exams were developed by the LinuxProfessional Institute,an international, volunteer-driven organization with affiliates in adozen countries.
The core LPI exams cover two levels. Level 1 tests a basic knowledge ofLinux installation, configuration, and command-lineskills. Level 2 goes into much more depth regarding systemtroubleshooting andnetwork services such as email and the Web. The second edition of LPILinuxCertification in a Nutshell is a thoroughly researchedreference to these exams. The book is divided into four parts, one foreach of theLPI exams. Each part features not only a summary of the core skills youneed, but sample exercises and test questions, along with helpful hintsto letyou focus your energies.
Major topics include:GNU and Unix commandsLinux installation and package managementDevices, filesystems, and kernel configurationText editing, processing, and printingThe X Window SystemNetworking fundamentals and troubleshootingSecurity, including intrusion detection, SSH, Kerberos, andmoreDNS, DHCP, file sharing, and other networking infrastructureEmail, FTP, and Web services
Praise for the first edition:
"Although O'Reilly's Nutshell series are intended as 'DesktopReference' manuals, I have to recommend this one as a goodall-round read; not only as a primer for LPI certification, but as anexcellent introductory text on GNU/Linux. In all, this is a valuableaddition toO'Reilly's already packed stable of Linux titles and I look forward tomore from the author."--First Monday
But if you're serious about your profession, intuition isn't enough. Perl Best Practices author Damian Conway explains that rules, conventions, standards, and practices not only help programmers communicate and coordinate with one another, they also provide a reliable framework for thinking about problems, and a common language for expressing solutions. This is especially critical in Perl, because the language is designed to offer many ways to accomplish the same task, and consequently it supports many incompatible dialects.
With a good dose of Aussie humor, Dr. Conway (familiar to many in the Perl community) offers 256 guidelines on the art of coding to help you write better Perl code--in fact, the best Perl code you possibly can. The guidelines cover code layout, naming conventions, choice of data and control structures, program decomposition, interface design and implementation, modularity, object orientation, error handling, testing, and debugging.
They're designed to work together to produce code that is clear, robust, efficient, maintainable, and concise, but Dr. Conway doesn't pretend that this is the one true universal and unequivocal set of best practices. Instead, Perl Best Practices offers coherent and widely applicable suggestions based on real-world experience of how code is actually written, rather than on someone's ivory-tower theories on howsoftware ought to be created.
Most of all, Perl Best Practices offers guidelines that actually work, and that many developers around the world are already using. Much like Perl itself, these guidelines are about helping you to get your job done, without getting in the way.
Praise for Perl Best Practices from Perl community members:
"As a manager of a large Perl project, I'd ensure that every member of my team has a copy of Perl Best Practices on their desk, and use it as the basis for an in-house style guide."-- Randal Schwartz
"There are no more excuses for writing bad Perl programs. All levels of Perl programmer will be more productive after reading this book."-- Peter Scott
"Perl Best Practices will be the next big important book in the evolution of Perl. The ideas and practices Damian lays down will help bring Perl out from under the embarrassing heading of "scripting languages". Many of us have known Perl is a real programming language, worthy of all the tasks normally delegated to Java and C++. With Perl Best Practices, Damian shows specifically how and why, so everyone else can see, too."-- Andy Lester
"Damian's done what many thought impossible: show how to build large, maintainable Perl applications, while still letting Perl be the powerful, expressive language that programmers have loved for years."-- Bill Odom
"Finally, a means to bring lasting order to the process and product of real Perl development teams."-- Andrew Sundstrom"Perl Best Practices provides a valuable education in how to write robust, maintainable Perl, and is a definitive citation source when coaching other programmers."-- Bennett Todd"I've been teaching Perl for years, and find the same question keeps being asked: Where can I find a reference for writing reusable, maintainable Perl code? Finally I have a decent answer."-- Paul Fenwick"At last a well researched, well thought-out, comprehensive guide to Perl style. Instead of each of us developing our own, we can learn good practices from one of Perl's most prolific and experienced authors. I recommend this book to anyone who prefers getting on with the job rather than going back and fixing errors caused by syntax and poor style issues."-- Jacinta Richardson"If you care about programming in any language read this book. Even if you don't intend to follow all of the practices, thinking through your style will improve it."-- Steven Lembark"The Perl community's best author is back with another outstanding book. There has never been a comprehensive reference on high quality Perl coding and style until Perl Best Practices. This book fills a large gap in every Perl bookshelf."-- Uri Guttman
UNIX application programming requires a mastery of system-level services. Making sense of the many functions-more than 1,100 functions in the current UNIX specification-is a daunting task, so for years programmers have turned to Advanced UNIX Programming for its clear, expert advice on how to use the key functions reliably.
An enormous number of changes have taken place in the UNIX environment since the landmark first edition. In Advanced UNIX Programming, Second Edition, UNIX pioneer Marc J. Rochkind brings the book fully up to date, with all-new, comprehensive coverage including:POSIX Solaris™ Linux® FreeBSD Darwin, the Mac™ OS X kernel And more than 200 new system calls
Rochkind's fully updated classic explains all the UNIX system calls you're likely to need, all in a single volume!Interprocess communication, networking (sockets), pseudo terminals, asynchronous I/O, advanced signals, realtime, and threads Covers the system calls you'll actually use-no need to plow through hundreds of improperly implemented, obsolete, and otherwise unnecessary system calls! Thousands of lines of example code include a Web browser and server, a keystroke recorder/player, and a shell complete with pipelines, redirection, and background processes Emphasis on the practical-ensuring portability, avoiding pitfalls, and much more!
Since 1985, the one book to have for mastering UNIX application programming has been Rochkind's Advanced UNIX Programming. Now completely updated, the second edition remains the choice for up-to-the-minute, in-depth coverage of the essential system-level services of the UNIX family of operating systems.
With iPhone use increasing in business networks, IT and security professionals face a serious challenge: these devices store an enormous amount of information. If your staff conducts business with an iPhone, you need to know how to recover, analyze, and securely destroy sensitive data. iPhone Forensics supplies the knowledge necessary to conduct complete and highly specialized forensic analysis of the iPhone, iPhone 3G, and iPod Touch. This book helps you:
Determine what type of data is stored on the deviceBreak v1.x and v2.x passcode-protected iPhones to gain access to the deviceBuild a custom recovery toolkit for the iPhoneInterrupt iPhone 3G's "secure wipe" processConduct data recovery of a v1.x and v2.x iPhone user disk partition, and preserve and recover the entire raw user disk partitionRecover deleted voicemail, images, email, and other personal data, using data carving techniquesRecover geotagged metadata from camera photosDiscover Google map lookups, typing cache, and other data stored on the live file systemExtract contact information from the iPhone's database Use different recovery strategies based on case needs
And more. iPhone Forensics includes techniques used by more than 200 law enforcement agencies worldwide, and is a must-have for any corporate compliance and disaster recovery plan.
--John Allsopp, author and founder of Web Directions
"Jonathan's book is the most comprehensive documentation available for developing web applications for mobile Safari. Not just great tech coverage, this book is an easy read of purely fascinating mobile tidbits in a fun colloquial style. Must have for all PhoneGap developers."
-- Brian LeRoux, Nitobi Software
This book received valuable community input through O'Reilly's Open Feedback Publishing System (OFPS).
Whether you use Linux, Unix, or Windows, this new edition describes the essential practices previously handed down only from mentor to protégé. This wonderfully lucid, often funny cornucopia of information introduces beginners to advanced frameworks valuable for their entire career, yet is structured to help even experts through difficult projects.
Other books tell you what commands to type. This book teaches you the cross-platform strategies that are timeless!
Have you ever had any of these problems?Have you been surprised to discover your backup tapes are blank? Ever spent a year launching a new service only to be told the users hate it? Do you have more incoming support requests than you can handle? Do you spend more time fixing problems than building the next awesome thing? Have you suffered from a botched migration of thousands of users to a new service? Does your company rely on a computer that, if it died, can’t be rebuilt? Is your network a fragile mess that breaks any time you try to improve it? Is there a periodic “hell month” that happens twice a year? Twelve times a year? Do you find out about problems when your users call you to complain? Does your corporate “Change Review Board” terrify you? Does each division of your company have their own broken way of doing things? Do you fear that automation will replace you, or break more than it fixes? Are you underpaid and overworked?
No vague “management speak” or empty platitudes. This comprehensive guide provides real solutions that prevent these problems and more!
This book will show you how to use the BASH command-line interface and how to employ BASH's powerful programming abilities. Complete examples illustrate each aspect with colourised source code and full-colour screenshots depict the actual output.
Unix in easy steps begins by demonstrating BASH commands for system navigation and file manipulation so you will quickly become familiar with the command-line interface. It explains all the BASH basics before moving on to describe advanced features such as:command historycommand-line editingenvironment customisation.
This book then introduces BASH programming with examples of flow control, command switches, input/output, job control, and program debugging - allowing you to create your own executable programs by copying the book's examples.
Unix in easy steps has an easy-to-follow style that will appeal to:users who are completely new to Unix-based operating systemscasual users who wish to expand their knowledge of their computer system.those who would like to learn programming skills by writing useful shell scriptsthe student who is studying programming at school or collegethose seeking a career in computing and need a fundamental understanding of the BASH interpreter on Unix-based operating systems.
Develop State-of-the-Art iPhone/iPad Apps with MonoTouch and .NET!
Are you an experienced C#/.NET developer who wants to reach the huge iPhone/iPad market? Now, you can create great iOS apps without first mastering Objective-C and Apple’s development toolset. With MonoTouch, you can leverage the skills you already have to create powerful apps that can be sold in Apple’s App Store or deployed throughout your organization. In Learning MonoTouch, Michael Bluestein helps you get started with MonoTouch fast and make the most of its remarkably robust capabilities.
The book first walks you through setting up your MonoTouch development environment, explaining how MonoTouch abstracts the iOS SDK to permit development against native iOS classes from C#. Through simple examples, you’ll start building working apps, establishing a firm foundation for more advanced coding. One step at a time, you’ll master increasingly sophisticated cases through practical examples. Bluestein even shows you how to leverage powerful .NET tools in your iOS apps, including LINQ.
• Applying common iOS development patterns and techniques in C#
• Using MonoTouch to handle memory management and garbage collection
• Structuring MonoTouch apps for the MVC design pattern
• Making the most of iOS user interface classes
• Leveraging the address book, camera access, email, and iOS media features
• Customizing tables and navigation for richer experiences and better performance
• Accessing the iOS Core Graphics and Core Animation subsystems
• Building iOS location-based applications with Core Location and MapKit
• Consuming web services from MonoTouch
• Integrating iOS and .NET networking capabilities
• Saving data with the ADO.NET provider to SQLite, .NET serialization, and NSUserDefaults
All code samples are available for download at github.com/mikebluestein.
Wireless technology changes not only the way we talk to our devices, but also what we ask them to do. With greater flexibility, broader range, and increased mobility, wireless networks let us live, work, and think differently. Wireless networks also open up a vast range of tasty new hack possibilities, from fine-tuning network frequencies to hot-rodding handhelds.
The second edition of Wireless Hacks, co-authored by Rob Flickenger and Roger Weeks, brings readers more of the practical tips and tricks that made the first edition a runaway hit, selling nearly 30,000 copies. Completely revised and updated, this version includes over 30 brand new hacks, major overhauls of over 30 more, and timely adjustments and touchups to dozens of other hacks introduced in the first edition. From passive network scanning to aligning long-distance antennas, beefing up wireless network security, and beyond, Wireless Hacks answers real-life networking needs with direct solutions.
Flickenger and Weeks both have extensive experience in systems and network administration, and share a passion for making wireless more broadly available. The authors include detailed coverage for important new changes in specifications and in hardware and software, and they delve deep into cellular and Bluetooth technologies.
Whether you need your wireless network to extend to the edge of your desk, fit into your backpack, or cross county lines, the proven techniques in Wireless Hacks will show you how to get the coverage and functionality you're looking for.
You Will Learn Python!
Zed Shaw has perfected the world's best system for learning Python. Follow it and you will succeed-just like the hundreds of thousands of beginners Zed has taught to date! You bring the discipline, commitment, and persistence; the author supplies everything else.
In Learn Python the Hard Way, Third Edition, you'll learn Python by working through 52 brilliantly crafted exercises. Read them. Type their code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you'll learn how software works; what good programs look like; how to read, write, and think about code; and how to find and fix your mistakes using tricks professional programmers use. Most importantly, you'll learn the following, which you need to start writing excellent Python software of your own:Installing a complete Python environment Organizing and writing code Basic mathematics Variables Strings and text Interacting with users Working with files Looping and logic Data structures using lists and dictionaries Program design Object-oriented programming Inheritance and composition Modules, classes, and objects Python packaging Debugging Automated testing Basic game development Basic web development
It'll be hard at first. But soon, you'll just get it-and that will feel great!
This tutorial will reward you for every minute you put into it. Soon, you'll know one of the world's most powerful, popular programming languages. You'll be a Python programmer.
Watch Zed, too! The accompanying DVD contains 5+ hours of passionate, powerful teaching: a complete Python video course!
Greasemonkey has achieved a cult-like following in its short lifespan, but its uses are just beginning to be explored. Let's say you're shopping on an e-commerce site. You can create a script that will automatically display competitive prices for that particular product from other web sites. The possibilities are limited only by your imagination and your Greasemonkey expertise. Greasemonkey Hacks can't help you with the imagination part, but it can provide the expert hacks-complete with the sample code-you need to turn your brainstorms into reality.
More than just an essential collection of made-to-order Greasemonkey solutions, Greasemonkey Hacks is crammed with sample code, a Greasemonkey API reference, and a comprehensive list of resources, to ensure that every resource you need is available between its covers.
Some people are content to receive information from websites passively; some people want to control it. If you are one of the latter, Greasemonkey Hacks provides all the clever customizations and cutting-edge tips and tools you need to take command of any web page you view.
You'll learn how to perform common Unix tasks in Mac OS X, such as using Directory Services instead of the standard Unix /etc/passwd and /etc/group, and you'll be able to compile code, link to libraries, and port Unix software using either Leopard and Tiger. This book teaches you to:
Navigate the Terminal and understand how it differs from an xtermUse Open Directory (LDAP) and NetInfo as well as Directory ServicesCompile your code with GCC 4Port Unix programs to Mac OS X with FinkUse MacPorts to install free/open source softwareSearch through metadata with Spotlight's command-line utilitiesBuild the Darwin kernel
And there's much more. Mac OS X for Unix Geeks is the ideal survival guide to tame the Unix side of Leopard and Tiger. If you're a Unix geek with an interest in Mac OS X, you'll soon find that this book is invaluable.