Open source and other operating systems Books

93 products


  • The AWK Programming Language

    Pearson Education (US) The AWK Programming Language

    2 in stock

    Book SynopsisAlfred V. Aho is Lawrence Gussman Professor Emeritus of Computer Science at Columbia University, and former department chair. Well known for his work on algorithms, data structures, programming languages, compilers, and the foundations of computer science, he has received the ACM A. M. Turing Award and the IEEE John von Neumann Medal. Brian W. Kernighan was a member of the Computing Science Research Center at Bell Labs and is currently a professor in the Computer Science department at Princeton. He is the co-creator of several programming languages and the co-author of numerous books, including the computing classic, The C Programming Language. Peter J. Weinberger, currently at Google, has served as chief technology officer at Renaissance Technologies and as leader of computer science research at Bell Labs. He is a Fellow of the AAAS.Table of ContentsPreface ix Chapter 1: An Awk Tutorial 11.1 Getting Started 11.2 Simple Output 41.3 Formatted Output 71.4 Selection 81.5 Computing with Awk 101.6 Control-Flow Statements 131.7 Arrays 161.8 Useful One-liners 171.9 What Next? 19 Chapter 2: Awk in Action 212.1 Personal Computation 212.2 Selection 232.3 Transformation 252.4 Summarization 272.5 Personal Databases 282.6 A Personal Library 312.7 Summary 34 Chapter 3: Exploratory Data Analysis 353.1 The Sinking of the Titanic 363.2 Beer Ratings 413.3 Grouping Data 433.4 Unicode Data 453.5 Basic Graphs and Charts 473.6 Summary 49 Chapter 4: Data Processing 514.1 Data Transformation and Reduction 514.2 Data Validation 574.3 Bundle and Unbundle 594.4 Multiline Records 604.5 Summary 66 Chapter 5: Reports and Databases 675.1 Generating Reports 675.2 Packaged Queries and Reports 735.3 A Relational Database System 755.4 Summary 83 Chapter 6: Processing Words 856.1 Random Text Generation 856.2 Interactive Text-Manipulation 906.3 Text Processing 926.4 Making an Index 996.5 Summary 105 Chapter 7: Little Languages 1077.1 An Assembler and Interpreter 1087.2 A Language for Drawing Graphs 1117.3 A Sort Generator 1137.4 A Reverse-Polish Calculator 1157.5 A Different Approach 1177.6 A Recursive-Descent Parser for Arithmetic Expressions 1197.7 A Recursive-Descent Parser for a Subset of Awk 1227.8 Summary 126 Chapter 8: Experiments with Algorithms 1298.1 Sorting 1298.2 Profiling 1428.3 Topological Sorting 1448.4 Make: A File Updating Program 1488.5 Summary 153 Chapter 9: Epilogue 1559.1 Awk as a Language 1559.2 Performance 1579.3 Conclusion 160 Appendix A: Awk Reference Manual 163A.1 Patterns 165A.2 Actions 176A.3 User-Defined Functions 196A.4 Output 197A.5 Input 202A.6 Interaction with Other Programs 207A.7 Summary 208 Index 209

    2 in stock

    £28.79

  • Design and Implementation of the FreeBSD

    Pearson Education (US) Design and Implementation of the FreeBSD

    1 in stock

    Book SynopsisMarshall Kirk McKusick writes books and articles, consults, and teaches classes on UNIX- and BSD-related subjects. While at the University of California at Berkeley, he implemented the 4.2BSD fast filesystem and was the Research Computer Scientist at the Berkeley Computer Systems Research Group (CSRG), overseeing the development and release of 4.3BSD and 4.4BSD. His particular areas of interest are the virtual-memory system and the filesystem. He earned his undergraduate degree in electrical engineering from Cornell University and did his graduate work at the University of California at Berkeley, where he received master's degrees in computer science and business administration, and a doctoral degree in computer science. He has twice been president of the board of the Usenix Association, is currently a member of the FreeBSD Foundation Board of Directors, a member of the editorial board of ACM's Queue magazine, a senior member of the IEEE, and a member of thTable of ContentsPreface xxi About the Authors xxix Part I: Over view 1 Chapter 1: History and Goals 3 1.1 History of the UNIX System 3 1.2 BSD and Other Systems 7 1.3 The Transition of BSD to Open Source 9 1.4 The FreeBSD Development Model 14 References 17 Chapter 2: Design Overview of FreeBSD 21 2.1 FreeBSD Facilities and the Kernel 21 2.2 Kernel Organization 23 2.3 Kernel Services 26 2.4 Process Management 26 2.5 Security 29 2.6 Memory Management 36 2.7 I/O System Overview 39 2.8 Devices 44 2.9 The Fast Filesystem 45 2.10 The Zettabyte Filesystem 49 2.11 The Network Filesystem 50 2.12 Interprocess Communication 50 2.13 Network-Layer Protocols 51 2.14 Transport-Layer Protocols 52 2.15 System Startup and Shutdown 52 Exercises 54 References 54 Chapter 3: Kernel Services 57 3.1 Kernel Organization 57 3.2 System Calls 62 3.3 Traps and Interrupts 64 3.4 Clock Interrupts 65 3.5 Memory-Management Services 69 3.6 Timing Services 73 3.7 Resource Services 75 3.8 Kernel Tracing Facilities 77 Exercises 84 References 85 Part II: Processes 87 Chapter 4: Process Management 89 4.1 Introduction to Process Management 89 4.2 Process State 92 4.3 Context Switching 99 4.4 Thread Scheduling 114 4.5 Process Creation 126 4.6 Process Termination 128 4.7 Signals 129 4.8 Process Groups and Sessions 136 4.9 Process Debugging 142 Exercises 144 References 146 Chapter 5: Security 147 5.1 Operating-System Security 148 5.2 Security Model 149 5.3 Process Credentials 151 5.4 Users and Groups 154 5.5 Privilege Model 157 5.6 Interprocess Access Control 159 5.7 Discretionary Access Control 161 5.8 Capsicum Capability Model 174 5.9 Jails 180 5.10 Mandatory Access-Control Framework 184 5.11 Security Event Auditing 200 5.12 Cryptographic Services 206 5.13 GELI Full-Disk Encryption 212 Exercises 217 References 217 Chapter 6: Memory Management 221 6.1 Terminology 221 6.2 Overview of the FreeBSD Virtual-Memory System 227 6.3 Kernel Memory Management 230 6.4 Per-Process Resources 244 6.5 Shared Memory 250 6.6 Creation of a New Process 258 6.7 Execution of a File 262 6.8 Process Manipulation of Its Address Space 263 6.9 Termination of a Process 266 6.10 The Pager Interface 267 6.11 Paging 276 6.12 Page Replacement 289 6.13 Portability 298 Exercises 308 References 310 Part III: I/OSystem 313 Chapter 7: I/O System Overview 315 7.1 Descriptor Management and Services 316 7.2 Local Interprocess Communication 333 7.3 The Virtual-Filesystem Interface 339 7.4 Filesystem-Independent Services 344 7.5 Stackable Filesystems 352 Exercises 358 References 359 Chapter 8: Devices 361 8.1 Device Overview 361 8.2 I/O Mapping from User to Device 367 8.3 Character Devices 370 8.4 Disk Devices 374 8.5 Network Devices 378 8.6 Terminal Handling 382 8.7 The GEOM Layer 391 8.8 The CAM Layer 399 8.9 Device Configuration 402 8.10 Device Virtualization 414 Exercises 428 References 429 Chapter 9: The Fast Filesystem 431 9.1 Hierarchical Filesystem Management 431 9.2 Structure of an Inode 433 9.3 Naming 443 9.4 Quotas 451 9.5 File Locking 454 9.6 Soft Updates 459 9.7 Filesystem Snapshots 480 9.8 Journaled Soft Updates 487 9.9 The Local Filestore 496 9.10 The Berkeley Fast Filesystem 501 Exercises 517 References 519 Chapter 10: The Zettabyte Filesystem 523 10.1 Introduction 523 10.2 ZFS Organization 527 10.3 ZFS Structure 532 10.4 ZFS Operation 535 10.5 ZFS Design Tradeoffs 547 Exercises 549 References 549 Chapter 11: The Network Filesystem 551 11.1 Overview 551 11.2 Structure and Operation 553 11.3 NFS Evolution 567 Exercises 586 References 587 Part IV: Interprocess Communication 591 Chapter 12: Interprocess Communication 593 12.1 Interprocess-Communication Model 593 12.2 Implementation Structure and Overview 599 12.3 Memory Management 601 12.4 IPC Data Structures 606 12.5 Connection Setup 612 12.6 Data Transfer 615 12.7 Socket Shutdown 620 12.8 Network-Communication Protocol Internal Structure 621 12.9 Socket-to-Protocol Interface 626 12.10 Protocol-to-Protocol Interface 631 12.11 Protocol-to-Network Interface 634 12.12 Buffering and Flow Control 643 12.13 Network Virtualization 644 Exercises 646 References 648 Chapter 13: Network-Layer Protocols 649 13.1 Internet Protocol Version 4 650 13.2 Internet Control Message Protocols (ICMP) 657 13.3 Internet Protocol Version 6 659 13.4 Internet Protocols Code Structure 670 13.5 Routing 675 13.6 Raw Sockets 686 13.7 Security 688 13.8 Packet-Processing Frameworks 700 Exercises 715 References 717 Chapter 14: Transport-Layer Protocols 721 14.1 Internet Ports and Associations 721 14.2 User Datagram Protocol (UDP) 723 14.3 Transmission Control Protocol (TCP) 725 14.4 TCP Algorithms 732 14.5 TCP Input Processing 741 14.6 TCP Output Processing 745 14.7 Stream Control Transmission Protocol (SCTP) 761 Exercises 768 References 770 Part V: System Operation 773 Chapter 15: System Startup and Shutdown 775 15.1 Firmware and BIOSes 776 15.2 Boot Loaders 777 15.3 Kernel Boot 782 15.4 User-Level Initialization 798 15.5 System Operation 800 Exercises 805 References 806 Glossary 807 Index 847

    1 in stock

    £51.29

  • UNIX and Linux System Administration Handbook

    Penguin Putnam Inc UNIX and Linux System Administration Handbook

    15 in stock

    Book SynopsisEvi Nemeth pioneered the discipline of UNIX system administration. She taught and mentored computer science students at the University of Colorado Boulder, was visiting faculty member at Dartmouth College and UC San Diego, and helped bring Internet technology to the developing world through her work with the Internet Society and the United Nations. Garth Snyder has worked at NeXT and Sun and holds a BS in Engineering from Swarthmore College and an MD and an MBA from the University of Rochester. Trent R. Hein (@trenthein) is a serial entrepreneur who is passionate about practical cybersecurity and automation. Outside of technology, he loves hiking, skiing, fly fishing, camping, bluegrass, dogs, and the Oxford comma. Trent holds a BS in Computer Science from the University of Colorado. Ben Whaley is the founder of WhaleTech, an independent consultancy. He was honored by Amazon as one of the first

    15 in stock

    £51.29

  • LPIC2 Linux Professional Institute Certification

    John Wiley & Sons Inc LPIC2 Linux Professional Institute Certification

    15 in stock

    Book SynopsisFull coverage of the latest LPI-level 2 exams, with bonus online test bank LPIC-2 is the one-stop preparation resource for the Linux Professional Institute''s Advanced Level certification exam. With 100 percent coverage of all exam objectives, this book provides clear and concise coverage of the Linux administration topics you''ll need to know for exams 201 and 202. Practical examples highlight the real-world applications of important concepts, and together, the author team provides insights based on almost fifty years in the IT industry. This brand new second edition has been completely revamped to align with the latest versions of the exams, with authoritative coverage of the Linux kernel, system startup, advanced storage, network configuration, system maintenance, web services, security, troubleshooting, and more. You also get access to online learning tools including electronic flashcards, chapter tests, practice exams, and a glossary of critical terms to help you Table of ContentsIntroduction xxiii Assessment Test xliii Part I The LPI 201 Exam 1 Chapter 1 Starting a System 3 The Linux Boot Process 4 Following the Boot Process 4 Viewing the Boot Process 5 The Firmware Startup 6 The BIOS Startup 6 The UEFI Startup 7 Linux Bootloaders 8 GRUB Legacy 9 GRUB 2 12 Alternative Bootloaders 14 Secure Bootloaders 15 Process Initialization 16 The SysV Method 17 The systemd Method 21 The Upstart Method 26 System Recovery 27 Kernel Failures 27 Root Drive Failure 29 Summary 31 Exam Essentials 31 Review Questions 33 Chapter 2 Maintaining the System 37 Keeping Users Informed 38 Looking at Fluid Messaging 39 Looking at Static Messaging 47 Backing Up the System 51 Developing a Backup Strategy 51 Performing Backups 61 Installing Programs from Source 72 Obtaining the Installation Files 73 Unpacking the Installation Files 73 Reading Installation Documentation 74 Compiling Preparation 75 Compiling the Program 76 Completing the Installation 76 Managing Resource Usage 79 Measuring Resource Usage 79 Predicting Resource Usage 83 Troubleshooting Resource Usage 85 Summary 87 Exam Essentials 87 Review Questions 89 Chapter 3 Mastering the Kernel 93 What Is the Kernel? 94 The Kernel Features 94 Parts of the Kernel 104 Kernel Versions 107 Compiling a Kernel 108 Obtaining Source Code 109 Creating the Configuration File 110 Compiling and Installing the Kernel 114 Compiling and Installing Modules 116 Creating an Initial RAM Disk 116 Booting the New Kernel 118 Creating a Kernel Package 119 Maintaining the Kernel 120 Working with Module Files 120 Module Commands 120 Working with Hardware 125 Automatically Detecting Hardware 128 Troubleshooting the Kernel 129 Summary 132 Exam Essentials 133 Review Questions 135 Chapter 4 Managing the Filesystem 139 Operating the Linux Filesystem 140 Understanding Filesystem Structures 140 Understanding Filesystem Types 141 Making a Filesystem 144 Attaching a Filesystem 146 Exploring Additional Filesystem Topics 162 Looking at Memory-Based Linux Filesystems 162 Looking at the Btrfs Filesystem 163 Exploring Btrfs Subvolumes 165 Exploring Btrfs Snapshots 169 Looking at Optical Filesystems 171 Looking at Swap Filesystems 177 Looking at Network-Based Filesystems 180 Understanding Auto-Mounting 180 Looking at Encrypted Filesystems 183 Maintaining Linux Filesystems 185 Adjusting a Filesystem 185 Checking and Repairing a Filesystem 187 Using SMART 189 Summary 192 Exam Essentials 192 Review Questions 195 Chapter 5 Administering Advanced Storage Devices 199 Configuring RAID 200 Understanding RAID 200 Implementing RAID on Linux 204 Managing a RAID Array 216 Adjusting Storage Devices 221 Looking at Drive Interface Concepts 221 Testing and Tuning Drives 223 Implementing iSCSI 234 Managing Logical Volumes 245 Understanding LVM 245 Creating Logical Volumes 246 Supporting Logical Volumes 254 Understanding the Device Mapper 263 Summary 264 Exam Essentials 264 Review Questions 267 Chapter 6 Navigating Network Services 271 Networking Basics 272 The Physical Layer 272 The Network Layer 274 The Transport Layer 278 The Application Layer 279 Configuring Network Features 279 Network Configuration Files 280 Graphical Tools 282 Command-Line Tools 284 Basic Network Troubleshooting 288 Checking the Log Files 288 Viewing the ARP Cache 289 Sending Test Packets 290 Testing Network Routes 291 Testing Client/Server Connectivity 293 Finding Host Information 295 Network Security 297 Advanced Network Troubleshooting 297 Viewing Open Network Connections 297 Viewing Network Statistics 300 Scanning the Network 302 Capturing Network Traffic 303 Summary 308 Exam Essentials 308 Review Questions 310 Part II The LPI 202 Exam 315 Chapter 7 Organizing Email Services 317 The Linux Mail System 318 Mail Transfer Agent 319 Mail Delivery Agent 321 Mail User Agent 323 Email Protocols 325 Simple Mail Transfer Protocol 326 Post Office Protocol 332 Internet Message Access Protocol 334 Using Email Servers 338 Using Sendmail 338 Using Postfix 342 Local Email Delivery 351 Procmail Basics 351 Sieve 356 Remote Email Delivery 359 Using Courier 359 Using Dovecot 360 Summary 363 Exam Essentials 364 Review Questions 366 Chapter 8 Directing DNS 371 Configuring a DNS Server 372 Understanding DNS and BIND 372 Configuring DNS on Linux 379 Starting, Stopping, and Reloading BIND 395 Configuring BIND Logging 398 Creating and Maintaining DNS Zones 403 Exploring BIND Zone Files 403 Managing BIND Zones on Linux 417 Securing a DNS Server 427 Setting Up Basic Security 427 Jailing BIND 431 Using DNSSEC 434 Connecting via TSIG 440 Employing DANE 442 Summary 445 Exam Essentials 445 Review Questions 447 Chapter 9 Offering Web Services 451 What Is a Web Server? 452 Web Server Basics 452 The HTTP Standard 453 Linux Web Servers 459 The Apache Web Server 461 Installing an Apache Server 462 Configuring the Apache Server 464 Hosting Dynamic Web Applications 472 Creating a Secure Web Server 474 Using a Proxy Server 482 Installing Squid 482 Configuring Squid 483 Configuring Clients 486 The Nginx Server 487 Installing Nginx 487 Configuring Nginx 488 Summary 490 Exam Essentials 491 Review Questions 493 Chapter 10 Sharing Files 497 Looking at Samba 498 Understanding Samba 498 Configuring Samba 500 Troubleshooting Samba 527 Looking at NFS 530 Understanding NFS 530 Configuring NFS 533 Securing NFS 549 Troubleshooting NFS 552 Looking at FTP Servers 553 Understanding FTP 554 Configuring vsftpd 556 Configuring Pure-FTPd 568 Summary 575 Exam Essentials 575 Review Questions 577 Chapter 11 Managing Network Clients 581 Assigning Network Addresses 582 The DHCP Standard 583 Linux DHCP Software 584 Installing a Linux DHCP Server 585 Configuring a DHCP Server 585 Configuring Clients 590 Authentication Service 591 PAM Basics 591 Configuring PAM 594 Using PAM Application Files 595 Network Directories 597 LDAP Basics 597 The OpenLDAP Server 601 Implementing LDAP Clients 607 Summary 613 Exam Essentials 613 Review Questions 615 Chapter 12 Setting Up System Security 619 Server Network Security 620 Port Scanning 620 Intrusion Detection Systems 628 External Network Security 631 Using iptables 634 Routing in Linux 639 Connecting Securely to a Server 639 OpenSSH 640 OpenVPN 643 Security Resources 646 US-CERT 646 SANS Institute 647 Bugtraq 647 Summary 648 Exam Essentials 649 Review Questions 651 Appendix Answers to Review Questions 655 Chapter 1: Starting a System 656 Chapter 2: Maintaining the System 659 Chapter 3: Mastering the Kernel 662 Chapter 4: Managing the Filesystem 664 Chapter 5: Administering Advanced Storage Devices 667 Chapter 6: Navigating Network Services 670 Chapter 7: Organizing Email Services 673 Chapter 8: Directing DNS 676 Chapter 9: Offering Web Services 678 Chapter 10: Sharing Files 681 Chapter 11: Managing Network Clients 684 Chapter 12: Setting Up System Security 687 Index 691

    15 in stock

    £43.50

  • Practice of Cloud System Administration The

    Pearson Education (US) Practice of Cloud System Administration The

    Out of stock

    Book SynopsisThomas A. Limoncelli is an internationally recognized author, speaker, and system administrator with more than twenty years of experience at companies like Google, Bell Labs, and StackExchange.com.   Strata R. Chalup has more than twenty-five years of experience in Silicon Valley, focusing on IT strategy, best-practices, and scalable infrastructures at firms that include Apple, Sun, Cisco, McAfee, and Palm.   Christina J. Hogan has more than twenty years of experience in system administration and network engineering, from Silicon Valley to Italy and Switzerland. She has a master's degree in computer science, a doctorate in aeronautical engineering, and has been part of a Formula 1 racing team.Table of Contents Part I: Design: Building It Chapter 1: Designing in a Distributed World Chapter 2: Designing for Operations Chapter 3: Selecting a Service Platform Chapter 4: Application Architectures Chapter 5: Design Patterns for Scaling Chapter 6: Design Patterns for Resiliency Part II: Operations: Running It Chapter 7: Operations in a Distributed World Chapter 8: DevOps Culture Chapter 9: Service Delivery: The Build Phase Chapter 10: Service Delivery: The Deployment Phase Chapter 11: Upgrading Live Services Chapter 12: Automation Chapter 13: Design Documents Chapter 14: Oncall Chapter 15: Disaster Preparedness Chapter 16: Monitoring Fundamentals Chapter 17: Monitoring Architecture and Practice Chapter 18: Capacity Planning Chapter 19: Creating KPIs Chapter 20: Operational Excellence

    Out of stock

    £30.37

  • Absolute Freebsd, 3rd Edition: The Complete Guide

    No Starch Press,US Absolute Freebsd, 3rd Edition: The Complete Guide

    2 in stock

    Book SynopsisAbsolute FreeBSD is your complete guide to FreeBSD, the powerful UNIX-like operating system that's supported modern servers, desktops, and platforms for years. In this completely revised third edition, FreeBSD committer Michael W. Lucas will teach you how to install, configure, and manage FreeBSD-based systems. You'll find added coverage of IPv6 and modern disks, redesigned jail and packaging systems, modern disks, and virtualisation, and learn about two FreeBSD 11.x transformative features designed for cloud-based management, libxo and UCL.Trade Review"A must-have if you are interested on operating systems, not just UNIX or similar software."—Albert Valbuena, Admin... by accident!"A fantastic book on FreeBSD. Clear. Concise. Informative for new FreeBSD users and sysadmins . . . A must-have book for all people interested in learning FreeBSD system management."—Vivek Gite, nixCraft"An ESSENTIAL guide for FreeBSD."—Gordon Ewasiuk, Amazon Vine Voice

    2 in stock

    £46.49

  • Certified Kubernetes Administrator CKA Study

    O'Reilly Media Certified Kubernetes Administrator CKA Study

    5 in stock

    Book SynopsisThis study guide walks you through all the topics covered to fully prepare you for the Certified Kubernetes Administrator (CKA) certification exam.

    5 in stock

    £39.74

  • Learning the vi and Vim Editors

    O'Reilly Media Learning the vi and Vim Editors

    10 in stock

    Book SynopsisWith this updated edition, Unix and Linux users will learn text editing basics for both vi and Vim ("vi improved") before moving on to advanced editing tools for each editor. Authors Arnold Robbins and Elbert Hannah cover the latest major releases of Vim, including 8.0 and 8.2.

    10 in stock

    £39.74

  • gRPC Up and Running

    O'Reilly Media gRPC Up and Running

    1 in stock

    Book SynopsisGet a comprehensive understanding of gRPC fundamentals through real-world examples. With this practical guide, you'll learn how this high-performance interprocess communication protocol is capable of connecting polyglot services in microservices architecture, while providing a rich framework for defining service contracts and data types.

    1 in stock

    £31.99

  • Art of UNIX Programming The

    Pearson Education (US) Art of UNIX Programming The

    4 in stock

    Book SynopsisHelps the readers understand that Unix is really a style of community.Table of Contents I. CONTEXT. 1. Philosophy. Culture? What culture? The durability of Unix. The case against learning Unix culture. What Unix gets wrong. What Unix gets right. Basics of the Unix philosophy. The Unix philosophy in one lesson. Applying the Unix philosophy. Attitude matters too. 2. History. Origins and history of Unix, 1969-1995. Origins and history of the hackers, 1961-1995. The open-source movement: 1998 and onward. The lessons of Unix history. 3. Contrasts. The elements of operating-system style. Operating-system comparisons. What goes around, comes around. II. DESIGN. 4. Modularity. Encapsulation and optimal module size. Compactness and orthogonality. Libraries. Unix and object-oriented languages. Coding for modularity. 5. Textuality. The Importance of Being Textual. Data file metaformats. Application protocol design. Application protocol metaformats. 6. Transparency. Some case studies. Designing for transparency and discoverability. Designing for maintainability. 7. Multiprogramming. Separating complexity control from performance tuning. Taxonomy of Unix IPC methods. Problems and methods to avoid. Process partitioning at the design level. 8. Minilanguages. Taxonomy of languages. Applying minilanguages. Designing minilanguages. 9. Transformation. Data-driven programming. Ad-hoc code generation. 10. Configuration. What should be configurable? Where configurations live. Run-control files. Environment variables. Command-line options. How to choose among configuration-setting methods. On breaking these rules. 11. Interfaces. Applying the Rule of Least Surprise. History of interface design on Unix. Evaluating interface designs. Tradeoffs between CLI and visual interfaces. Transparency, expressiveness, and configurability. Unix interface design patterns. Applying Unix interface-design patterns. The Web browser as universal front end. Silence is golden. 12. Optimization. Don't just do something, stand there! Measure before optimizing. Non-locality considered harmful. Throughput vs. latency. 13. Complexity. Speaking of complexity. A Tale of Five Editors. The right size for an editor. The right size of software. III. IMPLEMENTATION. 14. Languages. Unix's Cornucopia of Languages. Why Not C? Interpreted Languages and Mixed Strategies. Language evaluations. Trends for the Future. Choosing an X toolkit. 15. Tools. A developer-friendly operating system. Choosing an editor. Special-purpose code generators. Make in non-C/C++ Development. Version-control systems. Run-time debugging. Profiling. Emacs as the universal front end. 16. Re-Use. The tale of J. Random Newbie. Transparency as the key to re-use. From re-use to open source. The best things in life are open. Where should I look? What are the issues in using open-source software? Licensing issues. IV. COMMUNITY. 17. Portability. Evolution of C. Unix standards. Specifications as DNA, code as RNA. Programming for Portability. Internationalization. Portability, open standards and open source. 18. Documentation. Documentation concepts. The Unix style. The zoo of Unix documentation formats. The present chaos and a possible way out. The DocBook toolchain. How to write Unix documentation. 19. Open Source. Unix and open source. Best practices for working with open-source developers. The logic of licenses: how to pick one. Why you should use a standard license. Varieties of Open-Source Licensing. 20. Futures. Essence and accident in Unix tradition. Problems in the design of Unix. Problems in the environment of Unix. Problems in the culture of Unix. Reasons to believe. A. Glossary of Abbreviations. B. References. C. Contributors.

    4 in stock

    £36.44

  • RHCSARHCE Red Hat Linux Certification Practice

    McGraw-Hill Education - Europe RHCSARHCE Red Hat Linux Certification Practice

    Out of stock

    Book SynopsisPublisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product.Donât Let the Real Test Be Your First Test!RHCSA/RHCE Red Hat Linux Certification Practice Exams with Virtual Machines (Exams EX200 & EX300) features 100+ hands-on labs, four complete practice exams, and three virtual machines. To help you understand the material, the labs and practice exams are accompanied by in-depth answer explanations. This practical guide covers all official objectives for Exams EX200 and EX300 and is the perfect companion to RHCSA/RHCE Red Hat Linux Certification Study Guide, Sixth Edition.Covers all exam topics, including: Virtual Machines and Automated Installations â Fundamental Command Line Skills â RHCSA-Level Security Options â The Boot Process â Linux Filesystem Administration â Package Table of ContentsChapter 1: Prepare for Red Hat Hands-on CertificationsChapter 2: Virtual Machines and Automated InstallationsChapter 3: Fundamental Command Line SkillsChapter 4: RHCSA-Level Security OptionsChapter 5: The Boot ProcessChapter 6: Linux Filesystem Administration Chapter 7: Package ManagementChapter 8: User AdministrationChapter 9: RHCSA-Level System Administration TasksChapter 10: A Security PrimerChapter 11: System Services and SELinuxChapter 12: RHCE Administrative TasksChapter 13: Electronic MailChapter 14: The Apache Web ServerChapter 15: The Samba File ServerChapter 16: More File Sharing Services Chapter 17: Administrative Services: DNS, NTP, and Logging AppendicesAppendix A: Prepare a System for the Sample ExamsAppendix B: RHCSA: Sample Exam 1 Appendix C: RHCSA: Sample Exam 2Appendix D: RHCE: Sample Exam 1 Appendix E: RHCE: Sample Exam 2Appendix F: About the DVD

    Out of stock

    £20.80

  • Shell Programming in Unix Linux and OS X

    Pearson Education (US) Shell Programming in Unix Linux and OS X

    1 in stock

    Book SynopsisStephen Kochan is the author or co-author of several best-selling titles on Unix and the C language, including Programming in C, Programming in Objective-C, Topics in C Programming, and Exploring the Unix System. He is a former software consultant for AT&T Bell Laboratories, where he developed and taught classes on Unix and C programming. Patrick Wood is the CTO of the New Jersey location of Electronics for Imaging. He was a member of the technical staff at Bell Laboratories when he met Mr. Kochan in 1985. Together they founded Pipeline Associates, Inc., a Unix consulting firm, where he was vice president. They co-authored Exploring the Unix System, Unix System Security, Topics in C Programming, and Unix Shell Programming.Table of Contents1 A Quick Review of the Basics Some Basic Commands Displaying the Date and Time: The date Command Finding Out Who’s Logged In: The who Command Echoing Characters: The echo Command Working with Files Listing Files: The ls Command Displaying the Contents of a File: The cat Command Counting the Number of Words in a File: The wc Command Command Options Making a Copy of a File: The cp Command Renaming a File: The mv Command Removing a File: The rm Command Working with Directories The Home Directory and Pathnames Displaying Your Working Directory: The pwd Command Changing Directories: The cd Command More on the ls Command Creating a Directory: The mkdir Command Copying a File from One Directory to Another Moving Files Between Directories Linking Files: The ln Command Removing a Directory: The rmdir Command Filename Substitution The Asterisk Matching Single Characters Filename Nuances Spaces in Filenames Other Weird Characters Standard Input/Output, and I/O Redirection Standard Input and Standard Output Output Redirection Input Redirection Pipes Filters Standard Error More on Commands Typing More Than One Command on a Line Sending a Command to the Background The ps Command Command Summary 2 What Is the Shell? The Kernel and the Utilities The Login Shell Typing Commands to the Shell The Shell’s Responsibilities Program Execution Variable and Filename Substitution I/O Redirection Hooking up a Pipeline Environment Control Interpreted Programming Language 3 Tools of the Trade Regular Expressions Matching Any Character: The Period (.) Matching the Beginning of the Line: The Caret (^) Matching the End of the Line: The Dollar Sign $ Matching a Character Set: The [...] Construct Matching Zero or More Characters: The Asterisk (*) Matching a Precise Number of Subpatterns: \{...\} Saving Matched Characters: \(...\) cut The -d and -f Options paste The -d Option The -s Option sed The -n Option Deleting Lines tr The -s Option The -d Option grep Regular Expressions and grep The -v Option The -l Option The -n Option sort The -u Option The -r Option The -o Option The -n Option Skipping Fields The -t Option Other Options uniq The -d Option Other Options 4 And Away We Go Command Files Comments Variables Displaying the Values of Variables Undefined Variables Have the Null Value Filename Substitution and Variables The ${variable} Construct Built-in Integer Arithmetic 5 Can I Quote You on That? The Single Quote The Double Quote The Backslash Using the Backslash for Continuing Lines The Backslash Inside Double Quotes Command Substitution The Back Quote The $(...) Construct The expr Command 6 Passing Arguments The $# Variable The $* Variable A Program to Look Up Someone in the Phone Book A Program to Add Someone to the Phone Book A Program to Remove Someone from the Phone Book ${n} The shift Command 7 Decisions, Decisions Exit Status The $? Variable The test Command String Operators An Alternative Format for test Integer Operators File Operators The Logical Negation Operator ! The Logical AND Operator -a Parentheses The Logical OR Operator -o The else Construct The exit Command A Second Look at the rem Program The elif Construct Yet Another Version of rem The case Command Special Pattern-Matching Characters The -x Option for Debugging Programs Back to the case The Null Command : The && and || Constructs 8 'Round and 'Round She Goes The for Command The $@ Variable The for Without the List The while Command The until Command More on Loops Breaking Out of a Loop Skipping the Remaining Commands in a Loop Executing a Loop in the Background I/O Redirection on a Loop Piping Data into and out of a Loop Typing a Loop on One Line The getopts Command 9 Reading and Printing Data The read Command A Program to Copy Files Special echo Escape Characters An Improved Version of mycp A Final Version of mycp A Menu-Driven Phone Program The $$ Variable and Temporary Files The Exit Status from read The printf Command 10 Your Environment Local Variables Subshells Exported Variables export -p PS1 and PS2 HOME PATH Your Current Directory CDPATH More on Subshells The .Command The exec Command The (...) and { ...; } Constructs Another Way to Pass Variables to a Subshell Your .profile File The TERM Variable The TZ Variable 11 More on Parameters Parameter Substitution ${parameter} ${parameter:-value} ${parameter:=value} ${parameter:?value} ${parameter:+value} Pattern Matching Constructs ${#variable} The $0 Variable The set Command The -x Option set with No Arguments Using set to Reassign Positional Parameters The -- Option Other Options to set The IFS Variable The readonly Command The unset Command 12 Loose Ends The eval Command The wait Command The $! Variable The trap Command trap with No Arguments Ignoring Signals Resetting Traps More on I/O <&- and >&- In-line Input Redirection Shell Archives Functions Removing a Function Definition The return Command The type Command 13 Rolo Revisited Data Formatting Considerations rolo add lu display rem change listall Sample Output 14 Interactive and Nonstandard Shell Features Getting the Right Shell The ENV File Command-Line Editing Command History The vi Line Edit Mode Accessing Commands from Your History The emacs Line Edit Mode Accessing Commands from Your History Other Ways to Access Your History The history Command The fc Command The r Command Functions Local Variables Automatically Loaded Functions Integer Arithmetic Integer Types Numbers in Different Bases The alias Command Removing Aliases Arrays Job Control Stopped Jobs and the fg and bg Commands Miscellaneous Features Other Features of the cd Command Tilde Substitution Order of Search Compatibility Summary Appendixes A Shell Summary B For More Information

    1 in stock

    £31.82

  • Ubuntu Linux Unleashed 2021 Edition

    Pearson Education (US) Ubuntu Linux Unleashed 2021 Edition

    15 in stock

    Book SynopsisMatthew Helmke has used Ubuntu since 2005. He has written about Linux for several magazines and websites, is a lead author of The Official Ubuntu Book, and has coauthored both A Practical Guide to Linux: Commands, Editors, and Shell Programming and The VMware Cookbook. In his day job, Matthew works for Gremlin (https://www.gremlin.com/) making the Internet more reliable. Matthew first used UNIX in 1987, while studying Lisp on a Vax at the university. He has run a business using only free and open source software, has consulted, and teaches as an adjunct professor for the University of Arizona. You can find out more about Matthew at https://www.linkedin.com/in/matthewhelmke/ or drop him a line with errata or suggestions at matthew@matthewhelmke.com.Table of ContentsIntroduction xxxi PART I: GETTING STARTED Chapter 1 Installing Ubuntu and Post-Installation Configuration 1 Before You Begin the Installation 1 Researching Your Hardware Specifications 2 Installation Options 2 32-Bit Versus 64-Bit Ubuntu 4 Planning Partition Strategies 5 The Boot Loader 5 Installing from DVD or USB Drive 6 Step-by-Step Installation 6 Installing 7 First Update 11 Shutting Down 11 Finding Programs and Files 12 Software Updater 12 The sudo Command 14 Configuring Software Repositories 15 System Settings 17 Detecting and Configuring a Printer 18 Configuring Power Management in Ubuntu 18 Setting the Time and Date 19 Configuring Wireless Networks 20 Troubleshooting Post-Installation Configuration Problems 21 Chapter 2 Background Information and Resources 23 What Is Linux? 23 Why Use Linux? 25 What Is Ubuntu? 27 Ubuntu for Business 27 Ubuntu in Your Home 28 Getting the Most from Linux and Ubuntu Documentation 28 Linux 29 Ubuntu 30 PART II: DESKTOP UBUNTU Chapter 3 Foundations of the Linux GUI 31 Foundations and the X Server 31 Basic X Concepts 32 Using X 33 Elements of the xorg conf File 34 Starting X 39 Using a Display Manager 39 Changing Window Managers 39 Chapter 4 Ubuntu Desktop Options 41 Desktop Environment 41 Using GNOME: A Primer 42 KDE and Kubuntu 45 Xfce and Xubuntu 46 LXDE and Lubuntu 47 MATE and Ubuntu MATE 48 Ubuntu Budgie 49 Ubuntu Kylin 50 Chapter 5 On the Internet 51 Getting Started with Firefox 52 Checking Out Google Chrome and Chromium 53 Chapter 6 Productivity Applications 55 Introducing LibreOffice 56 Other Useful Productivity Software 58 Working with PDFs 58 Writing Scripts 59 Working with XML and DocBook 59 Working with LaTeX 60 Creating Mind Maps 61 Productivity Applications Written for Microsoft Windows 61 Chapter 7 Multimedia Applications 63 Sound and Music 63 Sound Cards 64 Sound Formats 65 Listening to Music 65 Graphics Manipulation 66 The GNU Image Manipulation Program 66 Using Scanners in Ubuntu 67 Working with Graphics Formats 67 Capturing Screen Images 69 Other Graphics Manipulation Options 70 Using Digital Cameras with Ubuntu 70 Handheld Digital Cameras 70 Using Shotwell Photo Manager 71 Burning CDs and DVDs in Ubuntu 71 Creating CDs and DVDs with Brasero 71 Creating CDs from the Command Line 72 Creating DVDs from the Command Line 73 Viewing Video 75 Video Formats 75 Viewing Video in Linux 76 Recording and Editing Audio 76 Editing Video 77 Chapter 8 Games 79 Ubuntu Gaming 79 Installing Proprietary Video Drivers 80 Online Game Sources 81 Steam 81 GOG com 82 Humble 82 itch io 82 LGDB 82 Game Jolt 82 Installing Games from the Ubuntu Repositories 82 Warsow 82 Scorched 3D 83 Frozen Bubble 84 SuperTux 84 Battle for Wesnoth 85 Frets on Fire 85 FlightGear 87 Speed Dreams 87 Games for Kids 88 Commercial Games 88 Playing Windows Games 88 PART III: SYSTEM ADMINISTRATION Chapter 9 Managing Software 91 Ubuntu Software 91 Using Synaptic for Software Management 92 Staying Up to Date 94 Working on the Command Line 95 Day-to-Day APT Usage 95 Finding Software 98 Using apt-get Instead of apt 99 Compiling Software from Source 100 Compiling from a Tarball 100 Compiling from Source from the Ubuntu Repositories 101 Configuration Management 102 dotdee 102 Ubuntu Core 103 Using the Snappy Package Manager 103 Chapter 10 Command-Line Beginner's Class 105 What Is the Command Line? 106 Accessing the Command Line 107 Text-Based Console Login 107 Logging Out 108 Logging In and Out from a Remote Computer 108 User Accounts 109 Reading Documentation 111 Using Man Pages 111 Using apropros 112 Using whereis 112 Understanding the Linux File System Hierarchy 112 Essential Commands in /bin and /sbin 114 Configuration Files in /etc 114 User Directories: /home 115 Using the Contents of the /proc Directory to Interact with or Obtain Information from the Kernel 115 Working with Shared Data in the /usr Directory 117 Temporary File Storage in the /tmp Directory 117 Accessing Variable Data Files in the /var Directory 117 Navigating the Linux File System 117 Listing the Contents of a Directory with ls 118 Changing Directories with cd 120 Finding Your Current Directory with pwd 120 Working with Permissions 120 Assigning Permissions 121 Directory Permissions 122 Altering File Permissions with chmod 123 File Permissions with umask 124 File Permissions with chgrp 125 Changing File Permissions with chown 125 Understanding Set User ID, Set Group ID, and Sticky Bit Permissions 125 Setting Permissions with Access Control Lists 127 Working with Files 128 Creating a File with touch 128 Creating a Directory with mkdir 129 Deleting a Directory with rmdir 129 Deleting a File or Directory with rm 130 Moving or Renaming a File with mv 131 Copying a File with cp 131 Displaying the Contents of a File with cat 132 Displaying the Contents of a File with less 132 Using Wildcards and Regular Expressions 133 Working as Root 133 Understanding and Fixing sudo 134 Creating Users 136 Deleting Users 137 Shutting Down the System 137 Rebooting the System 138 Commonly Used Commands and Programs 139 Chapter 11 Command-Line Master Class, Part 1 141 Why Use the Command Line? 142 Using Basic Commands 143 Printing the Contents of a File with cat 144 Changing Directories with cd 145 Changing File Access Permissions with chmod 147 Copying Files with cp 147 Printing Disk Usage with du 148 Using echo 148 Finding Files by Searching with find 149 Searches for a String in Input with grep 151 Paging Through Output with less 152 Creating Links Between Files with ln 154 Finding Files from an Index with locate 156 Listing Files in the Current Directory with ls 156 Listing System Information with lsblk, lshw, lsmod, lspci, and neofetch 158 Reading Manual Pages with man 159 Making Directories with mkdir 160 Moving Files with mv 161 Renaming Files with rename 161 Deleting Files and Directories with rm 161 Sorting the Contents of a File with sort 162 Printing the Last Lines of a File with tail 163 Printing the Location of a Command with which 164 Downloading Files with wget 164 Chapter 12 Command-Line Master Class, Part 2 167 Redirecting Output and Input 167 stdin, stdout, stderr, and Redirection 169 Comparing Files 170 Finding Differences in Files with diff 170 Finding Similarities in Files with comm 170 Limiting Resource Use and Job Control 171 Listing Processes with ps 171 Listing Jobs with jobs 173 Running One or More Tasks in the Background 173 Moving Jobs to the Background or Foreground with bg and fg 174 Printing Resource Usage with top 175 Setting Process Priority with nice 177 Combining Commands 178 Pipes 178 Combining Commands with Boolean Operators 180 Running Separate Commands in Sequence 180 Process Substitution 181 Executing Jobs in Parallel 181 Using Environment Variables 182 Using Common Text Editors 185 Working with nano 186 Working with vi 187 Working with emacs 188 Working with sed and awk 189 Working with Compressed Files 191 Using Multiple Terminals with byobu192 Doing a Polite System Reset Using REISUB 194 Fixing an Ubuntu System That Will Not Boot 195 Checking BIOS 195 Checking GRUB 195 Reinstalling GRUB 195 Using Recovery Mode 196 Reinstalling Ubuntu 196 Tips and Tricks 196 Running the Previous Command 196 Running Any Previous Command 197 Running a Previous Command That Started with Specific Letters 197 Running the Same Thing You Just Ran with a Different First Word 197 Viewing Your History and More 197 Doing Two or More Things 198 Using Shortcuts 198 Confining a Script to a Directory 198 Using Coreutils 199 Reading the Contents of the Kernel Ring Buffer with dmesg 200 Chapter 13 Managing Users 201 User Accounts 201 The Super User/Root User 202 User IDs and Group IDs 204 File Permissions 204 Managing Groups 205 Group Listing 205 Group Management Tools 206 Managing Users 207 User Management Tools 208 Adding New Users 209 Monitoring User Activity on the System 211 Managing Passwords 212 System Password Policy 212 The Password File 212 Shadow Passwords 214 Managing Password Security for Users 216 Changing Passwords in a Batch 216 Granting System Administrator Privileges to Regular Users 217 Temporarily Changing User Identity with the su Command 217 Granting Root Privileges on Occasion: The sudo Command 219 Disk Quotas 222 Implementing Quotas 222 Manually Configuring Quotas 223 Related Ubuntu Commands 223 Chapter 14 Automating Tasks and Shell Scripting 225 What Is a Shell? 225 Scheduling Tasks 226 Using at and batch to Schedule Tasks for Later 227 Using cron to Run Jobs Repeatedly 229 Using rtcwake to Wake Your Computer from Sleep Automatically 231 Basic Shell Control 233 The Shell Command Line 233 Shell Pattern-Matching Support 235 Redirecting Input and Output 236 Piping Data 237 Background Processing 237 Writing and Executing a Shell Script 237 Running the New Shell Program 239 Storing Shell Scripts for System-wide Access 240 Interpreting Shell Scripts Through Specific Shells 240 Using Variables in Shell Scripts 242 Assigning a Value to a Variable 242 Accessing Variable Values 243 Positional Parameters 243 A Simple Example of a Positional Parameter 243 Using Positional Parameters to Access and Retrieve Variables from the Command Line 244 Using a Simple Script to Automate Tasks 244 Built-in Variables 246 Special Characters 247 Comparison of Expressions in pdksh and bash 250 Comparing Expressions with tcsh 255 The for Statement 259 The while Statement 261 The until Statement 263 The repeat Statement (tcsh) 263 The select Statement (pdksh) 264 The shift Statement 264 The if Statement 265 The expr Statement 266 The case Statement 267 The break and exit Statements 269 Using Functions in Shell Scripts 269 Chapter 15 The Boot Process 271 Running Services at Boot 271 Beginning the Boot Loading Process 272 Loading the Linux Kernel 274 Starting and Stopping Services with systemd 275 Controlling Services at Boot with Administrative Tools 278 Troubleshooting Runlevel Problems 278 Boot-Repair 278 Chapter 16 System-Monitoring Tools 281 Console-Based Monitoring 281 Using the kill Command to Control Processes 283 Using Priority Scheduling and Control 285 Displaying Free and Used Memory with free 286 Disk Space 286 Disk Quotas 287 Checking Log Files 287 Rotating Log Files 289 Graphical Process- and System-Management Tools 292 System Monitor 292 Conky 292 Other Graphical Process- and System-Monitoring Tools 297 KDE Process- and System-Monitoring Tools 298 Enterprise Server Monitoring 298 Chapter 17 Backing Up 301 Choosing a Backup Strategy 301 Why Data Loss Occurs 302 Assessing Your Backup Needs and Resources 303 Evaluating Backup Strategies 304 Making the Choice 308 Choosing Backup Hardware and Media 308 External Hard Drive 308 Network Storage 308 Tape Drive Backups 309 Cloud Storage 309 Using Backup Software 309 tar: The Most Basic Backup Tool 310 The GNOME File Roller 312 The KDE ark Archiving Tool 312 Déjà Dup 313 Back In Time 314 Unison 315 Amanda 315 Alternative Backup Software 316 Copying Files 316 Copying Files Using tar 317 Compressing, Encrypting, and Sending tar Streams 318 Copying Files Using cp 318 Using rsync 319 Version Control for Configuration Files 320 System Rescue 323 The Ubuntu Rescue Disc 323 Restoring the GRUB2 Boot Loader 323 Saving Files from a Nonbooting Hard Drive 324 Chapter 18 Networking 325 Laying the Foundation: The localhost Interface 326 Checking for the Availability of the Loopback Interface 326 Configuring the Loopback Interface Manually 327 Checking Connections with ping, traceroute, and mtr 328 Networking with TCP/IP 330 TCP/IP Addressing 331 Using IP Masquerading in Ubuntu 332 Ports 333 IPv6 Basics 334 Network Organization 337 Subnetting 337 Subnet Masks 337 Broadcast, Unicast, and Multicast Addressing 338 Hardware Devices for Networking 338 Network Interface Cards 338 Network Cable 340 Hubs and Switches 342 Routers and Bridges 343 Initializing New Network Hardware 343 Using Network Configuration Tools 345 Command-Line Network Interface Configuration 346 Network Configuration Files 350 Using Graphical Configuration Tools 355 Dynamic Host Configuration Protocol 355 How DHCP Works 356 Activating DHCP at Installation and Boot Time 357 DHCP Software Installation and Configuration 358 Using DHCP to Configure Network Hosts 359 Other Uses for DHCP 361 Wireless Networking 361 Support for Wireless Networking in Ubuntu 361 Choosing from Among Available Wireless Protocols 363 Beyond the Network and onto the Internet 363 Common Configuration Information 364 Configuring Digital Subscriber Line Access 365 Understanding PPP over Ethernet 366 Configuring a PPPoE Connection Manually 366 Configuring Dial-up Internet Access 367 Troubleshooting Connection Problems 368 Chapter 19 Remote Access with SSH and VNC 371 Setting Up an SSH Server 371 SSH Tools 372 Using scp to Copy Individual Files Between Machines 372 Using sftp to Copy Many Files Between Machines 373 Using ssh-keygen to Enable Key-Based Logins 373 Virtual Network Computing 375 Guacamole 377 Chapter 20 Securing Your Machines 379 Understanding Computer Attacks 379 Assessing Your Vulnerability 381 Protecting Your Machine 382 Securing a Wireless Network 382 Passwords and Physical Security 383 Configuring and Using Tripwire 384 Securing Devices 385 Viruses 385 Configuring Your Firewall 386 AppArmor 388 Forming a Disaster Recovery Plan 390 Chapter 21 Performance Tuning 393 Storage Disk 394 Linux File Systems 394 The hdparm Command 395 File System Tuning 396 The tune2fs Command 396 The e2fsck Command 397 The badblocks Command 397 Disabling File Access Time 397 Kernel 398 Tuned 399 Chapter 22 Kernel and Module Management 401 The Linux Kernel 402 The Linux Source Tree 403 Types of Kernels 405 Managing Modules 406 When to Recompile 408 Kernel Versions 409 Obtaining the Kernel Sources 409 Patching the Kernel 410 Compiling the Kernel 412 Using xconfig to Configure the Kernel 414 Creating an Initial RAM Disk Image 418 When Something Goes Wrong 418 Errors During Compile 418 Runtime Errors, Boot Loader Problems, and Kernel Oops 419 PART IV: UBUNTU AS A SERVER Chapter 23 Sharing Files and Printers 421 Using Network File System 422 Installing and Starting or Stopping NFS 422 NFS Server Configuration 422 NFS Client Configuration 423 Putting Samba to Work 424 Manually Configuring Samba with /etc/samba/smb conf 426 Testing Samba with the testparm Command 429 Starting, Stopping, and Restarting the smbd Daemon 429 Mounting Samba Shares 430 Network and Remote Printing with Ubuntu 431 Creating Network Printers 431 Using the CUPS GUI 433 Avoiding Printer Support Problems 434 Chapter 24 Common Web Server Stacks 437 LAMP 437 LEMP 439 MEAN 440 Chapter 25 Apache Web Server Management 443 About the Apache Web Server 443 Installing the Apache Server 444 Starting and Stopping Apache 444 Runtime Server Configuration Settings 446 Runtime Configuration Directives 446 Editing apache2 conf 447 Apache Multiprocessing Modules 449 Using htaccess Configuration Files 450 File System Authentication and Access Control 452 Restricting Access with Require 452 Authentication 453 Final Words on Access Control 455 Apache Modules 455 mod_access 456 mod_alias 456 mod_asis 456 mod_auth 457 mod_auth_anon 457 mod_auth_dbm 457 mod_auth_digest 457 mod_autoindex4 58 mod_cgi 458 mod_dir and mod_env 458 mod_expires 458 mod_headers 458 mod_include 459 mod_info and mod_log_config 459 mod_mime and mod_mime_magic 459 mod_negotiation 459 mod_rewrite 459 mod_setenvif 460 mod_speling 460 mod_status 460 mod_ssl 460 mod_unique_id 460

    15 in stock

    £41.30

  • Advanced Programming in the UNIX Environment

    Pearson Education (US) Advanced Programming in the UNIX Environment

    4 in stock

    Book SynopsisThe late W. Richard Stevens was the acclaimed author of UNIX Network Programming, Volumes 1 and 2, widely recognized as the classic texts in UNIX networking; TCP/IP Illustrated, Volumes 1-3; and the first edition of this book. Stephen A. Rago is the author of UNIX System V Network Programming (Addison-Wesley, 1993). Rago was one of the Bell Laboratories developers who built UNIX System V Release 4. He served as a technical reviewer for the first edition of Advanced Programming in the UNIX Environment. Rago currently works as a research staff member in the Storage Systems Group at NEC Laboratories America.Table of ContentsForeword to the Second Edition xix Preface xxi Preface to the Second Edition xxv Preface to the First Edition xxix Chapter 1: UNIX System Overview 1 1.1 Introduction 1 1.2 UNIX Architecture 1 1.3 Logging In 2 1.4 Files and Directories 4 1.5 Input and Output 8 1.6 Programs and Processes 10 1.7 Error Handling 14 1.8 User Identification 16 1.9 Signals 18 1.10 Time Values 20 1.11 System Calls and Librar y Functions 21 1.12 Summary 23 Chapter 2: UNIX Standardization and Implementations 25 2.1 Introduction 25 2.2 UNIX Standardization 25 2.3 UNIX System Implementations 33 2.4 Relationship of Standards and Implementations 36 2.5 Limits 36 2.6 Options 53 2.7 Feature Test Macros 57 2.8 Primitive System Data Types 58 2.9 Differences Between Standards 58 2.10 Summary 60 Chapter 3: File I/O 61 3.1 Introduction 61 3.2 File Descr iptors 61 3.3 open and openat Functions 62 3.4 creat Function 66 3.5 close Function 66 3.6 lseek Function 66 3.7 read Function 71 3.8 write Function 72 3.9 I/O Efficiency 72 3.10 File Shar ing 74 3.11 Atomic Operations 77 3.12 dup and dup2 Functions 79 3.13 sync, fsync, and fdatasync Functions 81 3.14 fcntl Function 82 3.15 ioctl Function 87 3.16 /dev/fd 88 3.17 Summary 90 Chapter 4: Files and Directories 93 4.1 Introduction 93 4.2 stat, fstat, fstatat, and lstat Functions 93 4.3 File Types 95 4.4 Set-User-ID and Set-Group-ID 98 4.5 File Access Per missions 99 4.6 Ownership of New Files and Directories 101 4.7 access and faccessat Functions 102 4.8 umask Function 104 4.9 chmod, fchmod, and fchmodat Functions 106 4.10 Sticky Bit 108 4.11 chown, fchown, fchownat, and lchown Functions 109 4.12 File Size 111 4.13 File Tr uncation 112 4.14 File Systems 113 4.15 link, linkat, unlink, unlinkat, and remove Functions 116 4.16 rename and renameat Functions 119 4.17 Symbolic Links 120 4.18 Creating and Reading Symbolic Links 123 4.19 File Times 124 4.20 futimens, utimensat, and utimes Functions 126 4.21 mkdir, mkdirat, and rmdir Functions 129 4.22 Reading Director ies 130 4.23 chdir, fchdir, and getcwd Functions 135 4.24 Device Special Files 137 4.25 Summary of File Access Per mission Bits 140 4.26 Summary 140 Chapter 5: Standard I/O Library 143 5.1 Introduction 143 5.2 Streams and FILE Objects 143 5.3 Standard Input, Standard Output, and Standard Error 145 5.4 Buffer ing 145 5.5 Opening a Stream 148 5.6 Reading and Writing a Stream 150 5.7 Line-at-a-Time I/O 152 5.8 Standard I/O Efficiency 153 5.9 Binary I/O 156 5.10 Positioning a Stream 157 5.11 For matted I/O 159 5.12 Implementation Details 164 5.13 Temporar y Files 167 5.14 Memory Streams 171 5.15 Alternatives to Standard I/O 174 5.16 Summary 175 Chapter 6: System Data Files and Information 177 6.1 Introduction 177 6.2 Password File 177 6.3 Shadow Passwords 181 6.4 Group File 182 6.5 Supplementary Group IDs 183 6.6 Implementation Differences 184 6.7 Other Data Files 185 6.8 Login Accounting 186 6.9 System Identification 187 6.10 Time and Date Routines 189 6.11 Summary 196 Chapter 7: Process Environment 197 7.1 Introduction 197 7.2 main Function 197 7.3 Process Termination 198 7.4 Command-Line Arguments 203 7.5 Environment List 203 7.6 Memory Lay out of a C Program 204 7.7 Shared Librar ies 206 7.8 Memory Allocation 207 7.9 Environment Var iables 210 7.10 setjmp and longjmp Functions 213 7.11 getrlimit and setrlimit Functions 220 7.12 Summary 225 Chapter 8: Process Control 227 8.1 Introduction 227 8.2 Process Identifiers 227 8.3 fork Function 229 8.4 vfork Function 234 8.5 exit Functions 236 8.6 wait and waitpid Functions 238 8.7 waitid Function 244 8.8 wait3 and wait4 Functions 245 8.9 Race Conditions 245 8.10 exec Functions 249 8.11 Changing User IDs and Group IDs 255 8.12 Interpreter Files 260 8.13 system Function 264 8.14 Process Accounting 269 8.15 User Identification 275 8.16 Process Scheduling 276 8.17 Process Times 280 8.18 Summary 282 Chapter 9: Process Relationships 285 9.1 Introduction 285 9.2 Ter minal Logins 285 9.3 Networ k Logins 290 9.4 Process Groups 293 9.5 Sessions 295 9.6 Controlling Terminal 296 9.7 tcgetpgrp, tcsetpgrp, and tcgetsid Functions 298 9.8 Job Control 299 9.9 Shell Execution of Programs 303 9.10 Orphaned Process Groups 307 9.11 FreeBSD Implementation 310 9.12 Summary 312 Chapter 10: Signals 313 10.1 Introduction 313 10.2 Signal Concepts 313 10.3 signal Function 323 10.4 Unreliable Signals 326 10.5 Interrupted System Calls 327 10.6 Reentrant Functions 330 10.7 SIGCLD Semantics 332 10.8 Reliable-Signal Ter minology and Semantics 335 10.9 kill and raise Functions 336 10.10 alarm and pause Functions 338 10.11 Signal Sets 344 10.12 sigprocmask Function 346 10.13 sigpending Function 347 10.14 sigaction Function 349 10.15 sigsetjmp and siglongjmp Functions 355 10.16 sigsuspend Function 359 10.17 abort Function 365 10.18 system Function 367 10.19 sleep, nanosleep, and clock_nanosleep Functions 373 10.20 sigqueue Function 376 10.21 Job-Control Signals 377 10.22 Signal Names and Numbers 379 10.23 Summary 381 Chapter 11: Threads 383 11.1 Introduction 383 11.2 Thread Concepts 383 11.3 Thread Identification 384 11.4 Thread Creation 385 11.5 Thread Termination 388 11.6 Thread Synchronization 397 11.7 Summary 422 Chapter 12: Thread Control 425 12.1 Introduction 425 12.2 Thread Limits 425 12.3 Thread Attr ibutes 426 12.4 Synchronization Attr ibutes 430 12.5 Reentrancy 442 12.6 Thread-Specific Data 446 12.7 Cancel Options 451 12.8 Threads and Signals 453 12.9 Threads and fork 457 12.10 Threads and I/O 461 12.11 Summary 462 Chapter 13: Daemon Processes 463 13.1 Introduction 463 13.2 Daemon Character istics 463 13.3 Coding Rules 466 13.4 Error Logging 469 13.5 Single-Instance Daemons 473 13.6 Daemon Conventions 474 13.7 Client–Server Model 479 13.8 Summary 480 Chapter 14: Advanced I/O 481 14.1 Introduction 481 14.2 Nonblocking I/O 481 14.3 Record Locking 485 14.4 I/O Multiplexing 500 14.5 Asynchronous I/O 509 14.6 readv and writev Functions 521 14.7 readn and writen Functions 523 14.8 Memory-Mapped I/O 525 14.9 Summary 531 Chapter 15: Interprocess Communication 533 15.1 Introduction 533 15.2 Pipes 534 15.3 popen and pclose Functions 541 15.4 Coprocesses 548 15.5 FIFOs 552 15.6 XSI IPC 556 15.7 Message Queues 561 15.8 Semaphores 565 15.9 Shared Memor y 571 15.10 POSIX Semaphores 579 15.11 Client–Server Proper ties 585 15.12 Summary 587 Chapter 16: Network IPC: Sockets 589 16.1 Introduction 589 16.2 Socket Descr iptors 590 16.3 Addressing 593 16.4 Connection Establishment 605 16.5 Data Tr ansfer 610 16.6 Socket Options 623 16.7 Out-of-Band Data 626 16.8 Nonblocking and Asynchronous I/O 627 16.9 Summary 628 Chapter 17: Advanced IPC 629 17.1 Introduction 629 17.2 UNIX Domain Sockets 629 17.3 Unique Connections 635 17.4 Passing File Descriptors 642 17.5 An Open Server, Version 1 653 17.6 An Open Server, Version 2 659 17.7 Summary 669 Chapter 18: Terminal I/O 671 18.1 Introduction 671 18.2 Over view 671 18.3 Special Input Characters 678 18.4 Getting and Setting Ter minal Attr ibutes 683 18.5 Ter minal Option Flags 683 18.6 stty Command 691 18.7 Baud Rate Functions 692 18.8 Line Control Functions 693 18.9 Ter minal Identification 694 18.10 Canonical Mode 700 18.11 Noncanonical Mode 703 18.12 Ter minal Window Size 710 18.13 termcap, terminfo, and curses 712 18.14 Summary 713 Chapter 19: Pseudo Terminals 715 19.1 Introduction 715 19.2 Over view 715 19.3 Opening Pseudo-Ter minal Devices 722 19.4 pty_fork Function 726 19.5 pty Program 729 19.6 Using the pty Program 733 19.7 Advanced Features 740 19.8 Summary 741 Chapter 20: A Database Library 743 20.1 Introduction 743 20.2 History 743 20.3 The Librar y 744 20.4 Implementation Over view 746 20.5 Centralized or Decentralized? 750 20.6 Concurrency 752 20.7 Building the Librar y 753 20.8 Source Code 753 20.9 Perfor mance 781 20.10 Summary 786 Chapter 21: Communicating with a Network Printer 789 21.1 Introduction 789 21.2 The Inter net Pr inting Protocol 789 21.3 The Hyper text Transfer Protocol 792 21.4 Printer Spooling 793 21.5 Source Code 795 21.6 Summary 843 Appendix A: Function Prototypes 845 Appendix B: Miscellaneous Source Code 895 B.1 Our Header File 895 B.2 Standard Error Routines 898 Appendix C: Solutions to Selected Exercises 905 Bibliography 947 Index 955

    4 in stock

    £46.79

  • C and UNIX

    John Wiley & Sons Inc C and UNIX

    15 in stock

    Book SynopsisSome things just naturally fit together. Such is the case for C and UNIX: these software tools have been developed in tandem -- C is an excellent programming language, UNIX is an excellent operating system. They work well together and many software developers choose to take advantage of the symbiotic relationship between C and UNIX. In this book the essential features of C and UNIX are introduced, and readers are shown how to write more powerful and more efficient programs. The book is divided into four parts: Basic Program Syntax and Control, Program Design and Control of Input/Output, Data Structure Design and Management, and Advanced Features of C and UNIX.Table of ContentsPrograms. Flow of Control. Functions. Input/Output. Program Design. Arrays. Strings. Structures. Dynamic Memory Management. Data Structure Design. Specialized Tools. Advanced Programming Topics. Advanced Design Methods. Appendices. Index.

    15 in stock

    £140.35

  • UNIX for Oracle DBAs Pocket Reference

    O'Reilly Media UNIX for Oracle DBAs Pocket Reference

    Out of stock

    Book SynopsisAimed at Oracle DBAs moving to Unix from another environment such as Windows NT or IBM Mainframe, this pocket-sized book introduces the most important Unix commands.Table of ContentsIntroduction Understanding Unix Building Unix Commands Unix Server Environment Process Management Server Values Memory and CPU Management Semaphore Management System Log Messages Server Monitoring File Management Disk Management Miscellaneous Shell Scripts Index of Commands

    Out of stock

    £7.59

  • Practical Unix  Internet Security 3e

    O'Reilly Media Practical Unix Internet Security 3e

    Out of stock

    Book SynopsisThis new edition of Practical UNIX and Internet Security provides detailed coverage of modern security and networking issues. It focuses on the four most popular Unix variants: Solaris, Linux, FreeBSD, and Mac OS X.Trade Review"It's almost impossible to criticize such a venerable work as this, and there can be little doubt that backed up by online resources, this will form a solid foundation and reference work for years to come." - Martin Howse, LinuxUser & Developer, Issue 30 "If you know nothing about Linux security, and only have time for one book, you should start with Practical Unix and Internet Security." - Charlie Stross, Linux Format, SeptemberTable of ContentsPreface Part I. Computer Security Basics 1. Introduction: Some Fundamental Questions What Is Computer Security? What Is an Operating System? What Is a Deployment Environment? 2. Unix History and Lineage History of Unix Security and Unix Role of This Book 3. Policies and Guidelines Planning Your Security Needs Risk Assessment Cost-Benefit Analysis and Best Practices Policy Compliance Audits Outsourcing Options The Problem with Security Through Obscurity Part II. Security Building Blocks 4. Users, Passwords, and Authentication Logging in with Usernames and Passwords The Care and Feeding of Passwords How Unix Implements Passwords Network Account and Authorization Systems Pluggable Authentication Modules (PAM) 5. Users, Groups, and the Superuser Users and Groups The Superuser (root) The su Command: Changing Who You Claim to Be Restrictions on the Superuser 6. Filesystems and Security Understanding Filesystems File Attributes and Permissions chmod: Changing a File's Permissions The umask SUID and SGID Device Files Changing a File's Owner or Group 7. Cryptography Basics Understanding Cryptography Symmetric Key Algorithms Public Key Algorithms Message Digest Functions 8. Physical Security for Servers Planning for the Forgotten Threats Protecting Computer Hardware Preventing Theft Protecting Your Data Story: A Failed Site Inspection 9. Personnel Security Background Checks On the Job Departure Other People Part III. Network and Internet Security 10. Modems and Dialup Security Modems: Theory of Operation Modems and Security Modems and Unix Additional Security for Modems 11. TCP/IP Networks Networking IP: The Internet Protocol IP Security 12. Securing TCP and UDP Services Understanding Unix Internet Servers and Services Controlling Access to Servers Primary Unix Network Services Managing Services Securely Putting It All Together: An Example 13. Sun RPC Remote Procedure Call (RPC) Secure RPC (AUTH_DES) 14. Network-Based Authentication Systems Sun's Network Information Service (NIS) Sun's NIS+ Kerberos LDAP Other Network Authentication Systems 15. Network Filesystems Understanding NFS Server-Side NFS Security Client-Side NFS Security Improving NFS Security Some Last Comments on NFS Understanding SMB 16. Secure Programming Techniques One Bug Can Ruin Your Whole Day ... Tips on Avoiding Security-Related Bugs Tips on Writing Network Programs Tips on Writing SUID/SGID Programs Using chroot( ) Tips on Using Passwords Tips on Generating Random Numbers Part IV. Secure Operations 17. Keeping Up to Date Software Management Systems Updating System Software 18. Backups Why Make Backups? Backing Up System Files Software for Backups 19. Defending Accounts Dangerous Accounts Monitoring File Format Restricting Logins Managing Dormant Accounts Protecting the root Account One-Time Passwords Administrative Techniques for Conventional Passwords Intrusion Detection Systems 20. Integrity Management The Need for Integrity Protecting Integrity Detecting Changes After the Fact Integrity-Checking Tools 21. Auditing, Logging, and Forensics Unix Log File Utilities Process Accounting: The acct/pacct File Program-Specific Log Files Designing a Site-Wide Log Policy Handwritten Logs Managing Log Files Unix Forensics Part V. Handling Security Incidents 22. Discovering a Break-in Prelude Discovering an Intruder Cleaning Up After the Intruder Case Studies 23. Protecting Against Programmed Threats Programmed Threats: Definitions Damage Authors Entry Protecting Yourself Preventing Attacks 24. Denial of Service Attacks and Solutions Types of Attacks Destructive Attacks Overload Attacks Network Denial of Service Attacks 25. Computer Crime Your Legal Options After a Break-in Criminal Hazards Criminal Subject Matter 26. Who Do You Trust? Can You Trust Your Computer? Can You Trust Your Suppliers? Can You Trust People? Part VI. Appendixes A. Unix Security Checklist B. Unix Processes C. Paper Sources D. Electronic Resources E. Organizations Index

    Out of stock

    £32.99

  • Linux Server Security

    O'Reilly Media Linux Server Security

    Out of stock

    Book SynopsisConveys to administrators and developers the tricks of the trade that can help them avoid serious security breaches. It covers both background theory and practical step-by-step instructions for protecting a server that runs Linux.Table of ContentsPreface 1. Threat Modeling and Risk Management Components of Risk Simple Risk Analysis: ALEs An Alternative: Attack Trees; Defenses Conclusion Resources 2. Designing Perimeter Networks Some Terminology Types of Firewall and DMZ Architectures Deciding What Should Reside on the DMZ Allocating Resources in the DMZ The Firewall 3. Hardening Linux and Using iptables OS Hardening Principles Automated Hardening with Bastille Linux 4. Secure Remote Administration Why It's Time to Retire Cleartext Admin Tools Secure Shell Background and Basic Use Intermediate and Advanced SSH 5. OpenSSL and Stunnel; Stunnel and OpenSSL: Concepts 6. Securing Domain Name Services (DNS) DNS Basics DNS Security Principles Selecting a DNS Software Package Securing BIND djbdns Resources; 7. Using LDAP for Authentication LDAP Basics Setting Up the Server LDAP Database Management Conclusions Resources; 8. Database Security Types of Security Problems Server Location Server Installation Database Operation; Resources 9. Securing Internet Email Background: MTA and SMTP Security Using SMTP Commands to Troubleshoot and Test SMTP Servers; Securing Your MTA Sendmail Postfix Mail Delivery Agents; A Brief Introduction to Email Encryption Resources 10. Securing Web Servers Web Security The Web Server Web Content; Web Applications Layers of Defense Resources 11. Securing File Services FTP Security Other File-Sharing Methods; Resources 12. System Log Management and Monitoring syslog; Syslog-ng Testing System Logging with logger Managing System Logfiles with logrotate Using Swatch for Automated Log Monitoring; Some Simple Log-Reporting Tools Resources 13. Simple Intrusion Detection Techniques Principles of Intrusion Detection Systems; Using Tripwire Other Integrity Checkers Snort Resources Appendix:. Two Complete iptables Startup Scripts Index

    Out of stock

    £26.99

  • Linux Multimedia Hacks

    O'Reilly Media Linux Multimedia Hacks

    Out of stock

    Book SynopsisGives you the technical chops to enjoy the considerable multimedia options on the Linux platform. This book enables you to learn step-by-step how to do cool things with images, audio, and video. It also includes tips and tricks for connecting to iPods, creating MP3s and Oggs and watching and making DVDs.Trade Review"Overall this is an interesting book that brings together useful information about the topics covered, and thus makes a useful reference." - Roger Whittaker, news@UK, June 2006Table of ContentsCredits Preface Chapter 1. Images 1. Take a Screenshot 2. Convert from One Image Format to Another 3. Make Image Thumbnails 4. Animate Images 5. Leave a Watermark 6. Pull Images from a Digital Camera 7. Manage Photos with f-spot 8. Edit Images 9. Remove Red Eye from Photos 10. Create a Slideshow 11. Automatically Synchronize Your Camera and Computer 12. Make a Screen-Capture Movie Chapter 2. Audio 13. Mix Your Audio for Perfect Sound 14. Surround Yourself with Sound 15. Play Multiple Sounds at the Same Time 16. Get MP3 Libraries for Red Hat-Based Distributions 17. Configure Network Sound 18. Manage Your Audio with XMMS 19. Shuffle Your Music the Smart Way 20. Try Rhythmbox 21. Let amaroK Rock Your Music Collection 22. Store amaroK Data in MySQL 23. Enable Your Multimedia keyboard 24. Rip CDs from the Command Line 25. Rip CDs Straight from Konqueror 26. Get a Grip on CD Ripping 27. Edit ID3v2 Tags from the Command Line 28. Add Album Art to ID3 Tags 29. Automate Music File Tagging 30. Correct Music Metadata with MusicBrainz 31. Clean Music Metadata at the Command Line 32. Clean Music Metadata with a GUI 33. Pass the Mic and Record Audio 34. Edit Audio with Audacity 35. Convert from One Audio Format to Another 36. Normalize the Volume of Your Audio Files 37. Make Your Computer Talk to You 38. Search Audio for Hidden Messages 39. Burn Audio CDs from the Command Line 40. Automate Audio CD Burning with K3b 41. Turn Your Computer into a Turntable 42. Use an iPod with Linux 43. Sync Your iRiver with Linux 44. Use Other Portable Audio Players 45. Use a Bluetooth Headset with Linux 46. Find All Your Media Files Chapter 3. Video 47. Master Video Output Options 48. Use MPlayer 49. Advanced MPlayer Tweaks 50. Create Family-Friendly Edits of Movies 51. Crop Video During Playback 52. Add Custom Subtitles to Video 53. Play Restricted Media Formats 54. Watch Videos in ASCII Art 55. Try xine-Based Video Players 56. View VLC, the Cross-Platform Video Player 57. Probe Video Settings 58. Rip a VCD 59. Rip a DVD 60. Encode a DVD to MPEG4 from the Command Line 61. Rip and Encode DVDs with a mencoder Frontend 62. Rip and Encode DVDs with K3b 63. Convert from One Video Format to Another 64. Create Archos-Compatible Video 65. Convert Dual-Layer DVD to Single-Layer DVD 66. Use a Digital Video Camcorder with Linux 67. Edit Video 68. Resize a Video 69. Create a VCD 70. Create a DVD 71. Customize a DVD Menu 72. Create Self-Booting Movies Chapter 4. Broadcast Media 73. Install a TV Tuner 74. Watch TV on Your Computer 75. Output to a TV with NVIDIA Cards 76. Cut Commercials 77. Create a DVR with MythTV 78. MythTV as a Digital Hub 79. Take (Remote) Control 80. Browse Streaming Radio Stations 81. Rip Streaming Audio 82. Rip Streaming Video 83. Command-Line Streaming MP3 Player 84. Build a Linux Jukebox with Jinzora 85. Stream Video with VLC 86. Grab Podcasts from the Command Line 87. Get Podcasts with a GUI 88. Broadcast Sound to AM with a MonitorChapter 5. Web 89. Install the Macromedia Plug-in in a Flash 90. Use the Real RealPlayer 91. Watch Videos Within Firefox 92. Kaffeinate Konqueror 93. Install the Acrobat Reader Plug-in 94. Control Your Media Player with Firefox 95. Grab Color Profiles from Other Web Sites 96. Browse Graphical Sites from an xterm 97. Star in Your Own Reality TV Show 98. Make Internet Phone Calls with Skype 99. Turn Your Linux Box into a PBX 100. Host a Photo Gallery Index

    Out of stock

    £19.19

  • Grep Pocket Reference

    O'Reilly Media Grep Pocket Reference

    1 in stock

    Book SynopsisPresents grep, a utility program that helps you locate content in any file on a Unix or Linux system. This book lets you learn methods for filtering large files for specific content. It is suitable for system administrators, security professionals, and developers.

    1 in stock

    £16.99

  • Mac OS X for UNIX Geeks

    O'Reilly Media Mac OS X for UNIX Geeks

    Out of stock

    Book SynopsisIntends to serve as a bridge for Unix developers and system administrators who've been lured to Mac OS X because of its Unix roots. This book is a guide for taming the Unix side of Mac OS X.

    Out of stock

    £20.99

  • Ubuntu Hacks

    O'Reilly Media Ubuntu Hacks

    Out of stock

    Book SynopsisLike all books in the "Hacks" series, Ubuntu Hacks includes 100 quick tips and tricks for all users of all technical levels.

    Out of stock

    £19.19

  • TclTk for Programmers

    IEEE Computer Society Press,U.S. TclTk for Programmers

    15 in stock

    Book Synopsis

    15 in stock

    £84.56

  • The OpenBSD PF Packet Filter Book

    Reed Media Services The OpenBSD PF Packet Filter Book

    15 in stock

    15 in stock

    £18.40

  • The Best of FreeBSD Basics

    Reed Media Services The Best of FreeBSD Basics

    15 in stock

    15 in stock

    £30.87

  • Ubuntu Linux Toolbox 1000 Commands for Power

    John Wiley & Sons Inc Ubuntu Linux Toolbox 1000 Commands for Power

    Out of stock

    Book SynopsisThis updated bestseller from Linux guru Chris Negus is packed with an array of new and revised material As a longstanding bestseller, Ubuntu Linux Toolbox has taught you how to get the most out Ubuntu, the world''s most popular Linux distribution. With this anticipated new edition, Christopher Negus returns with a host of new and expanded coverage on tools for managing file systems, ways to connect to networks, techniques for securing Ubuntu systems, and a look at the latest Long Term Support (LTS) release of Ubuntu, all aimed at getting you up and running with Ubuntu Linux quickly. Covers installation, configuration, shell primer, the desktop, administrations, servers, and security Delves into coverage of popular applications for the web, productivity suites, and e-mail Highlights setting up a server (Apache, Samba, CUPS) Boasts a handy trim size so that you can take it with you on the go Ubuntu Linux Toolbox, Table of ContentsIntroduction xix Chapter 1: Starting with Ubuntu Linux 1 Ubuntu, Debian, and Linux 2 Understanding Ubuntu Releases 3 Ubuntu Compared to Other Linux Distributions 3 Finding Ubuntu Resources 5 Ubuntu Software 7 Focusing on Linux Commands 7 Finding Commands 9 Reference Information in Ubuntu 11 Using help Messages 12 Using man Pages 12 Using info Documents 15 Summary 15 Chapter 2: Installing Ubuntu and Adding Software 17 Obtaining and Installing Ubuntu 17 Preparing to Install 18 Choosing Installation Options 19 Answering Installation Questions 19 Working with Debian Software Packages 20 Working with Software Packages 22 Enabling More Repositories for apt 23 Adding Software Collections with tasksel 24 Managing Software with APT 25 Finding Packages with APT 27 Installing Packages with APT 27 Upgrading Packages with APT 28 Upgrading a Single Package with APT 28 Removing Packages with APT 29 Cleaning Up Packages with APT 29 Downloading Packages with APT 30 Managing Software with dpkg 30 Installing a Package with dpkg 32 Removing a Package with dpkg 32 Extracting Files from a .deb File with dpkg 32 Querying Information about .deb Packages 33 Managing Software with aptitude 35 Updating and Upgrading Packages with aptitude 37 Querying Information about Packages with aptitude 37 Installing Packages with aptitude 38 Removing Packages with aptitude 38 Cleaning Up Packages with aptitude 39 Useful Combinations of Options with aptitude 39 Verifying Installed Packages with debsums 41 Building deb Packages 44 Summary 47 Chapter 3: Using the Shell 49 Terminal Windows and Shell Access 49 Using Terminal Windows 49 Using Virtual Consoles 51 Using the Shell 52 Using Bash History 53 Using Command Line Completion 54 Redirecting stdin and stdout 54 Using alias 57 Watching Commands 58 Watching Files 58 Acquiring Super User Power 58 Delegating Power with sudo 59 Using the su Command 61 Using Environment Variables 62 Creating Simple Shell Scripts 64 Editing and Running a Script 64 Adding Content to Your Script 65 Summary 68 Chapter 4: Working with Files 69 Understanding File Types 69 Using Regular Files 69 Using Directories 71 Using Symbolic and Hard Links 71 Using Device Files 72 Using Named Pipes and Sockets 73 Setting File/Directory Permissions 73 Changing Permissions with chmod 74 Setting the umask 76 Changing Ownership 76 Traversing the Filesystem 77 Copying Files 79 Changing File Attributes 80 Searching for Files 82 Finding Files with locate 82 Locating Files with find 83 Using Other Commands to Find Files 85 Finding Out More about Files 86 Listing Files 86 Verifying Files 86 Summary 88 Chapter 5: Manipulating Text 89 Matching Text with Regular Expressions 89 Editing Text Files 90 Using the JOE Editor 91 Using the Pico and nano Editors 92 Graphical Text Editors 94 Listing, Sorting, and Changing Text 94 Listing Text Files 94 Paging through Text 95 Paginating Text Files with pr 96 Searching for Text with grep 97 Replacing Text with sed 99 Translating or Removing Characters with tr 101 Checking Differences between Two Files with diff 101 Using awk and cut to Process Columns 104 Converting Text Files to Different Formats 105 Summary 105 Chapter 6: Playing with Multimedia 107 Working with Audio 107 Playing Music 107 Adjusting Audio Levels 109 Ripping CD Music 110 Encoding Music 111 Streaming Music 114 Converting Audio Files 116 Transforming Images 117 Getting Information about Images 117 Converting Images 118 Converting Images in Batches 119 Playing with Video 121 Playing Video Files 121 Summary 123 Chapter 7: Administering Filesystems 125 Understanding Filesystem Basics 125 Creating and Managing Filesystems 127 Partitioning Hard Disks 127 Working with Filesystem Labels 131 Formatting a Filesystem 132 Viewing and Changing Filesystem Attributes 133 Creating and Using Swap Partitions 135 Mounting and Unmounting Filesystems 136 Mounting Filesystems from the fstab File 136 Mounting Filesystems with the mount Command 138 Unmounting Filesystems with umount 140 Checking Filesystems 141 Creating Encrypted Filesystems 143 Checking RAID Disks 146 Finding Out about Filesystem Use 147 Logical Volume Manager 149 Creating LVM Volumes 149 Using LVM Volumes 151 Growing the LVM Volume 152 Shrinking an LVM Volume 153 Removing LVM Logical Volumes and Groups 153 Summary 154 Chapter 8: Backups and Removable Media 155 Backing Up Data to Compressed Archives 155 Creating Backup Archives with tar 155 Using Compression Tools 157 Listing, Joining, and Adding Files to tar Archives 160 Deleting Files from tar Archives 160 Backing Up over Networks 161 Backing Up tar Archives over ssh 161 Backing Up Files with rsync 162 Backing Up with unison 164 Backing Up to Removable Media 165 Creating Backup Images with mkisofs 165 Burning Backup Images with cdrecord 168 Making and Burning DVDs with growisofs 170 Summary 170 Chapter 9: Checking and Managing Running Processes 171 Listing Active Processes 172 Viewing Active Processes with ps 172 Watching Active Processes with top 177 Finding and Controlling Processes 179 Using pgrep to Find Processes 179 Using fuser to Find Processes 180 Changing Running Processes 181 Scheduling Realtime Processes 188 Summary 189 Chapter 10: Managing the System 191 Monitoring Resources 191 Monitoring Memory Use 192 Monitoring CPU Usage 196 Monitoring Storage Devices 198 Mastering Time 201 Changing Time/Date with Graphical Tools 201 Displaying and Setting Your System Clock 202 Displaying and Setting Your Hardware Clock 203 Using Network Time Protocol to Set Date/Time 204 Managing the Boot Process 205 Understanding the GRUB Boot Loader 205 Modifying the GRUB Boot Loader 206 Controlling Startup and Run Levels 207 Straight to the Kernel 209 Poking at the Hardware 211 Summary 213 Chapter 11: Managing Network Connections 215 Configuring Networks from the GUI 215 Managing Network Interface Cards 216 Managing Network Connections 221 Starting and Stopping Ethernet Connections 221 Viewing Ethernet Connection Information 223 Using Wireless Connections 225 Checking Name Resolution 226 Troubleshooting Network Problems 228 Checking Connectivity to a Host 228 Checking Address Resolution Protocol 229 Tracing Routes to Hosts 231 Displaying netstat Connections and Statistics 233 Other Useful Network Tools 234 Summary 235 Chapter 12: Accessing Network Resources 237 Running Commands to Browse the Web 237 Transferring Files 239 Downloading Files with wget 239 Transferring Files with cURL 241 Transferring Files with FTP Commands 241 Using SSH Tools to Transfer Files 243 Using Windows File Transfer Tools 246 Sharing Remote Directories 246 Sharing Remote Directories with NFS 246 Sharing Remote Directories with Samba 248 Sharing Remote Directories with SSHFS 251 Chatting with Friends in IRC 252 Using Text-Based E‑mail Clients 253 Managing E‑mail with mail 254 Managing E‑mail with mutt 256 Summary 257 Chapter 13: Doing Remote System Administration 259 Doing Remote Login and Tunneling with SSH 259 Using Legacy Communications Tools 260 Configuring SSH 261 Logging in Remotely with ssh 262 Using byobu and screen for Remote Shells 267 Managing Remote Shells with Screen 268 Using byobu to Manage Remote Shells 270 Using a Remote Windows Desktop 272 Connecting to a Windows Desktop with Remmina 272 Connecting to a Windows Desktop with rdesktop 274 Using Remote Linux Desktop and Applications 274 Sharing Desktops Using VNC 275 Setting Up the VNC Server 276 Starting Up the VNC Client 277 Using VNC on Untrusted Networks with SSH 277 Summary 278 Chapter 14: Locking Down Security 279 Working with Users and Groups 279 Managing Users the GUI Way 280 Adding User Accounts 280 Changing useradd Defaults 281 Modifying User Accounts 282 Deleting User Accounts 283 Managing Passwords 283 Adding Groups 286 Checking on Users 286 Configuring the Built-In Firewall 288 Understanding iptables Firewalls 289 Listing iptables Rules 291 Setting Other Firewall Rules 292 Saving and Reloading Firewall Rules 294 Using Advanced Security Features 294 Summary 295 Chapter 15: Setting Up a Virtualization Host and Virtual Machines 297 Can Your Computer Support Virtualization? 298 Checking for CPU Virtualization Support 298 Enabling Virtualization Support in the BIOS 299 Is the Host Computer 32- or 64-Bit? 300 Checking Available RAM and Disk Space 300 Adding Virtualization Software 301 Adding Your User Account to libvirtd 302 Managing Virtual Machines with virt-manager 302 Creating a Virtual Machine in virt-manager 304 Starting and Stopping Virtual Machines with virt-manager 305 Managing Virtual Machines with Commands 306 Creating a Virtual Machine with virt-install 306 Starting and Stopping Virtual Machines with virsh 308 Summary 309 Appendix A: Using vi or Vim Editors 311 Starting and Quitting the vi Editor 311 Moving Around in vi 313 Changing and Deleting Text in vi 314 Using Miscellaneous Commands 314 Modifying Commands with Numbers 315 Using ex Commands 315 Working in Visual Mode 316 Appendix B: Shell Special Characters and Variables 317 Using Special Shell Characters 317 Using Shell Variables 318 Appendix C: Getting Information from /proc 321 Viewing /proc Information 321 Changing /proc Information 325 Index 327

    Out of stock

    £18.39

  • Linux Server Security

    John Wiley & Sons Inc Linux Server Security

    7 in stock

    Book SynopsisLearn how to attack and defend the world's most popular web server platform Linux Server Security: Hack and Defend presents a detailed guide for experienced admins, aspiring hackers and other IT professionals seeking a more advanced understanding of Linux security. Written by a 20-year veteran of Linux server deployment this book provides the insight of experience along with highly practical instruction. The topics range from the theory of past, current, and future attacks, to the mitigation of a variety of online attacks, all the way to empowering you to perform numerous malicious attacks yourself (in the hope that you will learn how to defend against them). By increasing your understanding of a hacker's tools and mindset you''re less likely to be confronted by the all-too-common reality faced by many admins these days: someone else has control of your systems. Master hacking tools and launch sophisticated attacks: perform SQL injections, deploy mTable of ContentsPreface xiii Introduction xv Chapter 1: Invisibility Cloak 1 Background 1 Probing Ports 1 Confusing a Port Scanner 2 Installing knockd 2 Packages 3 Changing Default Settings 3 Altering Filesystem Locations 4 Some Config Options 5 Starting the Service 5 Changing the Default Network Interface 5 Packet Types and Timing 5 Testing Your Install 6 Port Knocking Clients 7 Making Your Server Invisible 7 Testing Your iptables 8 Saving iptables Rules 9 Further Considerations 10 Smartphone Client 10 Troubleshooting 10 Security Considerations 10 Ephemeral Sequences 11 Summary 12 Chapter 2: Digitally Fingerprint Your Files 13 Filesystem Integrity 13 Whole Filesystem 16 Rootkits 17 Confi guration 19 False Positives 21 Well Designed 22 Summary 23 Chapter 3: Twenty-First-Century Netcat 25 History 25 Installation Packages 27 Getting Started 27 Transferring Files 29 Chatting Example 30 Chaining Commands Together 30 Secure Communications 31 Executables 33 Access Control Lists 34 Miscellaneous Options 34 Summary 35 Chapter 4: Denying Service 37 NTP Infrastructure 37 NTP Reflection Attacks 38 Attack Reporting 40 Preventing SNMP Reflection 41 DNS Resolvers 42 Complicity 43 Bringing a Nation to Its Knees 44 Mapping Attacks 45 Summary 46 Chapter 5: Nping 49 Functionality 49 TCP 50 Interpreter 51 UDP 52 ICMP 52 ARP 53 Payload Options 53 Echo Mode 54 Other Nping Options 57 Summary 58 Chapter 6: Logging Reconnoiters 59 ICMP Misconceptions 59 tcpdump 60 Iptables 61 Multipart Rules 64 Log Everything for Forensic Analysis 64 Hardening 65 Summary 67 Chapter 7: Nmap’s Prodigious NSE 69 Basic Port Scanning 69 The Nmap Scripting Engine 71 Timing Templates 73 Categorizing Scripts 74 Contributing Factors 75 Security Holes 75 Authentication Checks 77 Discovery 78 Updating Scripts 79 Script Type 80 Regular Expressions 80 Graphical User Interfaces 81 Zenmap 81 Summary 82 Chapter 8: Malware Detection 85 Getting Started 85 Definition Update Frequency 85 Malware Hash Registry 86 Prevalent Threats 86 LMD Features 86 Monitoring Filesystems 88 Installation 88 Monitoring Modes 90 Configuration 91 Exclusions 91 Running from the CLI 92 Reporting 92 Quarantining and Cleaning 93 Updating LMD 94 Scanning and Stopping Scans 94 Cron Job 96 Reporting Malware 96 Apache Integration 96 Summary 97 Chapter 9: Password Cracking with Hashcat 99 History 99 Understanding Passwords 99 Keyspace 100 Hashes101 Using Hashcat 103 Hashcat Capabilities 103 Installation 103 Hash Identifi cation104 Choosing Attack Mode 106 Downloading a Wordlist 106 Rainbow Tables 107 Running Hashcat 107 oclHashcat 110 Hashcat-Utils 111 Summary 111 Chapter 10: SQL Injection Attacks 113 History 113 Basic SQLi 114 Mitigating SQLi in PHP 115 Exploiting SQL Flaws 117 Launching an Attack 118 Trying SQLi Legally 120 Summary 121 Index 123

    7 in stock

    £34.19

  • Barcharts, Inc Samsung Galaxy

    15 in stock

    Book Synopsis

    15 in stock

    £6.60

  • Raspberry Pi Hacks

    O'Reilly Media Raspberry Pi Hacks

    Out of stock

    Book SynopsisWith more than 80 hacks, this book helps you turn the low-cost Raspberry Pi into the centerpiece of some cool electronics projects. Want to create a controller for a camera or a robot? Or set up alternative Linux distribution for a media center? That's just the beginning.

    Out of stock

    £15.99

  • Pro Bash Programming Second Edition

    APress Pro Bash Programming Second Edition

    Out of stock

    Book SynopsisPro Bash Programming teaches you how to effectively utilize the Bash shell in your programming. The Bash shell is a complete programming language, not merely a glue to combine external Linux commands. By taking full advantage of Shell internals, Shell programs can perform as snappily as utilities written in C or other compiled languages. And you will see how, without assuming Unix lore, you can write professional Bash 4.3 programs through standard programming techniques.This second edition has updated for Bash 4.3, and many scripts have been rewritten to make them more idiomatically Bash, taking better advantage of features specific to Bash. It is easy to read, understand, and will teach you how to get to grips with Bash programming without drowning you in pages and pages of syntax. Using this book you will be able to use the shell efficiently, make scripts run faster using expansion and external commands, and understand how to overcome many common mistakes th

    Out of stock

    £71.24

  • MicroPython for the Internet of Things A

    APress MicroPython for the Internet of Things A

    1 in stock

    Book SynopsisTagline: Breaking the C-like language barrier to make device programming easy and fastTable of Contents1. What Is the Internet of Things?2. Introducing MicroPython3. MicroPython Hardware4. How to Program in MicroPython5. MicroPython Libraries6. Low-Level Hardware Support7. Electronics for Beginners8. Project 1: Hello, World! MicroPython Style9. Project 2: Stoplight Simulator10. Project 3: Plant Monitoring11. Project 4: Using Weather Sensors12. Where to Go from Here13. Appendix

    1 in stock

    £54.99

  • Modeling and Animation Using Blender

    APress Modeling and Animation Using Blender

    1 in stock

    Book SynopsisDiscover the 3D-modeling and animation power ofBlender 3D. This book starts with a brief introduction to Blender 3D including installation and the user interface. The following two chapters then introduce you to the upgraded tools in Blender 2.80 for 3D modeling, texturing, shading, and animation. The last chapter discusses the Blender game engine and all its core features. Along the way you'll see why Blender 3D has proved its competency in UV unwrapping, texturing, raster graphic editing, rigging, sculpting, animating, motion graphics, and video editing through the years. Modeling and Animation Using Blendergives a thorough tour of Blender Eevee, covering its new features and how to make best use of them. After reading this book you will have the confidence to choose Blender for your next project. What You Will LearnMaster the features of Blender EeveeWork with modeling, animation, and much more using theupdated softwareUnderstand important concepts such as physics and particlesWTable of ContentsChapter 1: The Tour! Chapter 2: Blending with Blender: Getting Started Chapter 3: Blending with Blender: Modeling Workspace Chapter 4: Blending with Blender: Shading Workspace Chapter 5: Let’s Animate Chapter 6: The Future of Game Engine

    1 in stock

    £44.99

  • Python Projects for Beginners

    Apress Python Projects for Beginners

    1 in stock

    Book SynopsisWeek 1: Getting Started.- Week 2: Python Basics.- Week 3: User Input and Conditionals.- Week 4: Lists and Loops.- Week 5: Functions.- Week 6: Data Collections and Files.- Week 7: Object-Oriented Programming.- Week 8: Advanced Topics I: Efficiency.- Week 9: Advanced Topics II: Complexity.- Week 10: Introduction to Data Analysis.- Post-Course: What to Do Now?.Table of Contents

    1 in stock

    £44.99

  • Cognitive Virtual Assistants Using Google

    APress Cognitive Virtual Assistants Using Google

    1 in stock

    Book SynopsisFollow a step-by-step, hands-on approach to building production-ready enterprise cognitive virtual assistants using Google Dialogflow. This book provides an overview of the various cognitive technology choices available and takes a deep dive into cognitive virtual agents for handling complex real-life use cases in various industries such as travel and weather. You''ll delve deeper into the advanced features of cognitive virtual assistants implementing features such as input/output context, follow-up intents, actions and parameters, and handling complex multiple intents. You''ll learn how to integrate with third-party messaging platforms by integrating your cognitive bot with Facebook messenger. You''ll also integrate with third-party APIs to enrich your cognitive bots using webhooks. Cognitive Virtual Assistants Using Google Dialogflow takes the complexity out of the cognitive platform and provides rich guidance which you can use when developing your own Table of ContentsChapter 1: Introduction to Cognitive Virtual BotChapter Goal: To introduce the basics of Cognitive Virtual Bot 1.1 What is Cognitive ChatbotChapter 2: Introduction to Google DialogflowChapter Goal: To introduce the basics of Google Dialogflow 2.2 What is Google Dialogflow2.3 Use cases for Google Dialogflow2.4 Bot Frameworks2.5 Building your First Bot using Google DialogflowChapter 3: Advanced Concepts of Google DialogflowChapter Goal: Details how to build a chatbot with Google Dialogflow3.1 Input context and output context3.2 Follow up intents3.3 Multiple responses3.4 Contextual entities3.5 Handling combination of intents and entities3.6 Event creation3.7 Enable fulfillment – webhook and inline editor3.8 Slots 3.9 Handling intent conflicts3.10 Showcasing the solutions in various formats like Text, HTML and to integrations such as Google Assistant3.11 Multi-lingual chatbots3.12 Prebuilt agentsChapter 4: Use cases for Cognitive Chatbots using Google DialogflowChapter Goal: Provide different use cases and integrations for Cognitive Chatbots using Google Dialogflow.4.1 Chatbot personality via webhook4.2 Simple and complex dialogflow design for travel use case4.3 Integration with Google weather API.4.4 Additional integrations4.5 Intent Identifications – audio, speech responses and sentiment analysis4.6 Integrate Google Dialogflow with other services to enhance the conversational flow and search Chapter 5: Researches in field of Cognitive Virtual ChatbotsChapter Goal: Provides an introduction to the new researches in the areas of Cognitive Virtual Chatbots5.1 Cognitive Virtual Chatbots - research

    1 in stock

    £29.99

  • Java 17 for Absolute Beginners

    APress Java 17 for Absolute Beginners

    1 in stock

    Book Synopsis1. An Introduction to Java and its History.- 2. Preparing your Development Environment.- 3. Getting Your Feet Wet.- 4. Java Syntax.- 5. Data Types.- 6. Operators.- 7. Controlling the Flow.- 8. The Stream API.- 9. Debugging, Testing, and Documenting.- 10. Making Your Application Interactive.- 11. Working With Files.- 12. The Publish-Subscribe Framework.- 13. Garbage Collection.- Appendix A.Table of ContentsChapter 1: An Introduction to Java- When every version was released, how were they called and what were the particularities- What is Java, how it is executed, what type of language it is and what is it good for- Chapter 2: Preparing your development environment- Installing Java, choosing an editor, choosing a build tool- Chapter 3: Getting your feet wet- Writing a simple program, compile and execute- Adding a dependency of somebody else’s code through dependencies of existing libraries- Mention best tools for java and most used frameworks like SpringChapter 4: Java syntax- what is a package, module- class- enums- interface ( private methods & default methods)- class, constructor, methods… etc- removal of _ Chapter 5: Data Types- primitive, object types (emphasis on String, Collections, Calendar API)- String – compact Strings- Collections: Immutable collections, factory methods for Collections(JEP 269)- mention Generics- optional – enhancements - threads, futures – CompletableFuture (JEP 266)Chapter 6: Operators- unary, binary, ternary, logic, and the diamond operator (used in conjunction with anonymous inner classes)Chapter 7: Controlling the flow - if, loops- try catch (try with resources with managed variables)- recursionChapter 8: The Stream API - streams , optional to Stream, enhancementsChapter 9: Debugging , testing and documenting- what is a break point- loggers : unified JVM logging (JEP 264)- mocks and stubs- jmc, jps, jcmd – JDK utilities- The new Doclet API- the JShell Command Line Tool- accessing the process API- @Deprecated enhancements (JEP 277)Chapter 10: Making your application interactive- request data with System.in- Swing- Web applications (use the new HTTP client)- JavaFX UI (JEP 253)- Internationalization (JEP 267)Chapter 11: Writing files- storing data to files, reading it from them- serialization to Binary, XML, JSON, YML (JEP290)- playing with images – multi-resolution APIChapter 12: Publish-Subscribe Framework- reactive streamsChapter 13: Garbage Collection- JEP 214,248,271,291

    1 in stock

    £49.49

  • Beginning Rust

    APress Beginning Rust

    15 in stock

    Book SynopsisLearn to program with Rust 2021 Edition, in an easy, step-by-step manner on Unix, the Linux shell, macOS, and the Windows command line.  As you read this book, you''ll build on the knowledge you gained in previous chapters and see what Rust has to offer.   Beginning Rust starts with the basics of Rust, including how to name objects, control execution flow, and handle primitive types. You''ll see how to do arithmetic, allocate memory, use iterators, and handle input/output. Once you have mastered these core skills, you''ll work on handling errors and using the object-oriented features of Rust to build robust Rust applications in no time.Only a basic knowledge of programming in C or C++ and familiarity with a command console are required. After reading this book, you''ll be ready to build simple Rust applications.What You Will Learn Get started programming with Rust Understand heterogeneous data structures aTable of Contents1. Introduction2. Printing on Terminal3. Doing Arithmatic4. Naming Objects5. Controlling Execution Flow6. Using Data Sequences7. Using Primitive Types8. Enumerating Cases9. Using Heterogeneous Data Structures10. Defining Functions11. Defining Generic Functions and Structs12. Allocating Memory13. Data Implementation14. Defining Closures15. Using Changeable Strings16. Ranges and Slices17. Using Iterators18. Input/Output and Error Handling19. Using Traits20. Object-Oriented Programming21. Standard Library Collections22. Drops, Moves, and Copies23. Borrowing and Lifetimes24. More about Lifetimes

    15 in stock

    £46.74

  • Cloud Native Integration with Apache Camel

    Apress Cloud Native Integration with Apache Camel

    1 in stock

    Book SynopsisIntermediate user levelTable of ContentsChapter 1: Welcome to Apache CamelChapter Goal: Introduce readers to Apache Camel, it's basic concepts and contextualize everything with integration patterns. Also introduce other base tools as Quarkus and Maven. No of pages Approximately 30 pages Sub -Topics 1. Apache Camel basics 2. Quarkus basics 3. Introduction to Enterprise Integration Patterns 4. Hello World application (First Application) Chapter 2: Developing REST Integrations Chapter Goal: Introduces the conversation on web services applications using REST, how to expose and how to consume those services. Also gives the first examples of unit testing. No of pages: Approximately 35 pages Sub - Topics 1. Web Services with REST 2. Camel REST DSL 3. Camel HTTP components 4. Unit test with QuarkusChapter 3: Securing Web Services with Keycloak Chapter Goal: Introduces the reader to Keycloak, an Open Source product that provides IAM(Identity and Access Management). Focus on OpenID Connect protocol and how important security is No of pages : Approximately 35 pages Sub - Topics: 1. Keycloak basics 2. OpenId Connect Protocol 3. Quarkus and Camel security Chapter 4: Access Databases with Apache Camel Chapter Goal: Approaches a very common need in programming: access databases. Here we are going to show how to use two of the most used open source databases: H2 and PostgreSQL. No of pages: Approximately 40 pages Sub - Topics: 1. Camel database components 2. Database integration patterns 3. In-memory database with H2 4. Transaction control Chapter 5: Messaging with Apache Kafka Chapter Goal: Introduces the reader to Message Oriented Middleware(MOM), which is a very common integration used. We dive into the architecture aspect of this kind of implementation, getting practical examples using Apache Kafka, another very popular Open Source project. No of pages: Approximately 40 pages Sub - Topics: 1. Message Oriented Middleware 2. Apache Kafka 3. Asynchronous integration Chapter 6: Deploying application into KubernetesChapter Goal: Here we discuss the architectural aspects of deploying applications into Kubernetes, discussing micro services architecture, scalability, configuration and patterns as The Twelve-Factor Apps. We also learn how to configure the application and plugins to allow us to test and deploy the application in Kubernetes. No of pages: Approximately 50 pages Sub - Topics: 1. The Twelve-Factor Apps 2. Quarkus and Camel properties configuration 3. Quarkus plugins for Kubernetes Deployments 4. The main Kubernetes aspects to take into consideration for your architecture

    1 in stock

    £46.74

  • Docs for Developers

    APress Docs for Developers

    Out of stock

    Book SynopsisLearn to integrate programming with good documentation. This book teaches you the craft of documentation for each step in the software development lifecycle, from understanding your users'' needs to publishing, measuring, and maintaining useful developer documentation.Well-documented projects save time for both developers on the project and users of the software. Projects without adequate documentation suffer from poor developer productivity, project scalability, user adoption, and accessibility. In short: bad documentation kills projects. Docs for Developers demystifies the process of creating great developer documentation, following a team of software developers as they work to launch a new product. At each step along the way, you learn through examples, templates, and principles how to create, measure, and maintain documentation-tools you can adapt to the needs of your own organization.What You''ll Learn Table of Contents Getting Started Researching documentation Understanding your users Cultivating empathy Understanding user desires, user needs, and company needs Recruiting users for research Research methods Reading code comments Trying it out Friction logs Running diverse and inclusive focus groups and interviews User journey mapping Identifying and working with stakeholders Finding your experts Collaborative documentation development Learning from existing content The value of design documents Finding examples in industry Designing documentation Defining your initial set of content Deciding your minimum viable documentation Drafting test and acceptance criteria Understanding content types Concepts, tutorials and reference documentation Code comments API specifications READMEs Guides Release notes Drafting documentation Setting yourself up for writing success Who is this for? Personas, requirements, content types Definition of done How to iterate Tools and tips for writing rough drafts Understanding your needs Choosing your writing tools (handwriting, text-only, productivity/measurement writing tools) “Hacks” to get started drafting content Mechanics Headings Paragraphs Lists Notes and warnings Conclusions/tests Using templates to form drafts Purpose of a template How to derive a template from existing docs How to take templates into text Gathering initial feedback Feedback methods Integrating feedback Getting feedback from difficult contributors Editing content for publication Determine destination Editing tools (Grammarly, linters, etc) Declaring good enough Recap, strategies, and reassurance Structuring sets of documentation Where content types live Concepts, tutorials and reference documentation Code comments API specifications READMEs Guides Release notes Designing your information architecture Content information architecture styles Designing for search Creating clear, well-lit paths through content User testing and maintenance Planning for document automation Integrating code samples and visual content Integrating code samples When and why to use code samples Creating concise, usable, maintainable samples Standardising your samples Using visual content: Screenshots, diagrams, and videos When your documentation may need visual content Making your visual content accessible Integrating screenshots, diagrams Videos Measuring documentation success How documentation succeeds Measuring different types of documentation quality Structural Quality Functional Quality Process Quality Measuring what you want to change Drawing conclusions from document metrics Working with contributors Defining how decisions are made Deciding on a governance structure Writing an effective Code of Conduct Choosing a content licence Code licenses Content licences Building and enforcing a style guide Editing submitted content and giving feedback Setting acceptability criteria Editing for accessibility and inclusion Editing for internationalization and translation Giving actionable feedback Planning and running a document sprint Maintaining documentation Creating a content review processes Assigning document owners Performing freshness checks on content Responding to documentation issues Separating documentation issues from product issues Responding to users Automating document maintenance Automating API and reference content Using doc linters Deleting and archiving content Wrapping up

    Out of stock

    £42.49

  • Natural Language Processing Recipes

    APress Natural Language Processing Recipes

    1 in stock

    Book SynopsisIntermediate user levelTable of ContentsChapter 1: Extracting the DataChapter Goal: Understanding the potential data sources to build NLP applications for business benefits and ways to extract the text data with examplesNo of pages: 23Sub - Topics: 1. Data extraction through API2. Reading HTML page, HTML parsing3. Reading pdf file in python4. Reading word document5. Regular expressions using python6. Handling strings using python7. Web scrapingChapter 2: Exploring and Processing the Text DataChapter Goal: Data is never clean. This chapter will give in depth knowledge about how to clean and process the text data. It covers topics like cleaning, tokenizing and normalizing text data.No of pages: 22Sub - Topics 1 Text preprocessing methods 2 Data cleaning – punctuation removal, stopwords removal, spelling correction3 Lexicon normalization – stemming and lemmatization4 Tokenization 5 Dealing with emoticons and emojis6 Exploratory data analysis7 End to end text processing pipeline implementationChapter 3: Text to FeaturesChapter Goal: One of the important task with text data is to transform text data into machines or algorithms understandable form, by using different feature engineering methods (basic to advanced).No of pages: 40Sub - Topics 1 One hot encoding2 Count vectorizer3 N grams4 Co-occurrence matrix5 Hashing vectorizer6 TF-IDF7 Word Embedding - Word2vec, fasttext8 Glove embeddings 9 ELMo10 Universal Sentence Encoder11 Understanding Transformers like BERT, GPT12 Open AIsChapter 4: Implementing Advanced NLPChapter Goal: Understanding and building advanced NLP techniques to solve the business problems starting from text similarity to speech recognition and language translation.No of pages: 25Sub - Topics: 1. Noun phrase extraction2. Text similarity3. Parts of speech tagging4. Information extraction – NER – entity recognition 5. Topic modeling6. Machine learning for NLP – a. Text classification7. Sentiment analysis8. Word sense disambiguation9. Speech recognition and speech to text10. Text to speech11. Language detection and translationChapter 5: Deep Learning for NLPChapter Goal: Unlocking the power of deep learning on text data. Solving few real-time applications of deep learning in NLP.No of pages: 55Sub - Topics: 1. Fundamentals of deep learning2. Information retrieval using word embedding’s 3. Text classification using deep learning approaches (CNN, RNN, LSTM, Bi-directional LSTM) 4. Natural language generation – prediction next word/ sequence of words using LSTM. 5. Text summarization using LSTM encoder and decoder. 6. Sentence comparison using SentenceBERT 7. Understanding GPT 8. Comparison between BERT, RoBERTa, DistilBERT, XLNetChapter 6: Industrial Application with End to End Implementation Chapter Goal: Solving real time NLP applications with end to end implementation using python. Right from framing and understanding the business problem to deploying the model.No of pages: 90Sub - Topics: 1. Consumer complaint classification 2. Customer reviews sentiment prediction 3. Data stitching using text similarity and record linkage 4. Text summarization for subject notes 5. Document clustering 6. Product360 - Sentiment, emotion & trend capturing system 7. TED Talks segmentation & topics extraction using machine learning 8. Fake news detection system using deep neural networks 9. E-commerce search engine & recommendation systems using deep learning10. Movie genre tagging using multi-label classification 11. E-commerce product categorization using deep learning12. Sarcasm detection model using CNN13. Building chatbot using transfer learning14. Summarization system using RNN and reinforcement learningChapter 7: Conclusion - Next Gen NLP & AIChapter Goal: So far, we learnt how NLP when coupled with machine learning and deep learning helps us solve some of the complex business problems across industries and domains. In this chapter let us uncover how some of the next generation algorithms that would potentially play important roles in the future NLP era.

    1 in stock

    £41.24

  • Beginning  IntelliJ IDEA

    APress Beginning IntelliJ IDEA

    5 in stock

    Book SynopsisGet started quickly with IntelliJ, from installation to configuration to working with the source code and more. This tutorial will show you how to leverage IntelliJ's tools to develop clean, efficient Java applications. Author Ted Hagos will first walk you through buidling your first Java applications using IntelliJ. Then, he'll show you how to analyze your application, top to bottom; using version control and tools that allow you expand your application for big data or data science applications and more. You'll also learn some of the IDE's advanced features to fully maximize your application's capabilities.The last portion of the book focuses on application testing and deployment, and language- and framework- specific guidelines. After reading this book and working through its freely available source code, you'll be up to speed with this powerful IDE for today's Java development.What You Will LearnUse IntelliJ IDEA to build Java applicationsSet up your IDE and projectWork with sourcTable of Contents1. Install IntelliJ2. Getting Started3. Configuring the IDE4. Configuring Projects5. Working with Source Code6. Building Applications7. Analyzing Applications8. Version Control9. Big Data / Data Science Tools10. Other Tools11. Advanced IDE Features12. Migration Guides13. Language and Framework Specific Guidelines14. Testing 15. Deployment

    5 in stock

    £37.99

  • Beginning Game Development with Godot

    APress Beginning Game Development with Godot

    15 in stock

    Book SynopsisLearn the fundamentals of Godot by diving headfirst into creating a 2D platformer from scratch. This book is a hands-on, practical guide to developing 2D games using the Godot Engine 3.2.3/3.3, with the help of GDScript.Author Maithili Dhule begins by explaining some basic tools and techniques used to make games, the factors that need to be considered while choosing a game engine, and pointing out the benefits of using Godot. She then walks you through downloading the engine and guides you as you explore key features of its interface. Next, you''ll receive a concise introduction to the basics of GDScript, the main scripting language used in Godot, before moving on to essential topics such as Godot''s node-scene architecture, the interaction of various physics bodies, the creation of game scenes, and writing scripts. As the book progresses, you''ll learn how to create and animate your game character, design the game world, add enemies, and implement a coin-collection syTable of ContentsChapter 1: Introduction to Game Development Sub –Topics:• Brief history of game development• Fundamentals of making games• What is a game engine? • How do we choose a game engine?• Why choose Godot? Chapter 2: Getting Started with GodotSub – Topics:• Downloading the Godot engine• Starting a new project • Exploring the Godot interface• Icons and shortcutsChapter 3: GDScript in a NutshellSub - Topics:• Keywords, operators, and identifiers• Commenting code• Variables and data types• Functions and method calls• Example code Chapter 4: Exploring Game PhysicsSub - Topics:• Node-scene architecture• Physics bodies – what are they? • RigidBody2D • StaticBody2D• Collision shapes • Introducing gravity• Try it yourself – Your first game scene Chapter 5: Adding Game GraphicsSub - Topics: • Creating game objects • Instances of scenes• Importing game assets• Writing a game script• Adding and detecting key presses• Try it yourself – Creating your player Chapter 6: Game Animations Sub - Topics: • Giving life to the player • Player animation • Detecting the floor and ceiling • Adjusting gravity• Try it yourself – Making your player run, jump, and climbChapter 7: Building the World Sub –Topics:• Parallax background • Try it yourself – Creating a parallax background• Tilemaps, Tilesets, and the Tile Palette• Painting the game level• Implementing camera-follow• Try it yourself – Designing the game worldChapter 8: Counting Wins and Losses Sub – Topics: • Coin-collection • Deleting in-game objects • Using signals • Creating enemies• Try it yourself – Adding rewards and enemies• Game scene change• Try it yourself – Creating the game over sceneChapter 9: Game GUISub - Topics:• The title screen • Buttons• Adding music and sound effects Chapter 10: Publishing your GameSub - Topics: • Exporting the game to various platforms• Monetization • Introducing game updates• What next?

    15 in stock

    £46.74

  • NSXT Logical Routing

    APress NSXT Logical Routing

    1 in stock

    Book SynopsisThis book is a one-stop guide for IT professionals with a background in traditional and software-defined networks looking to expand or hone their skill set and has been developed through a combination of extensive research and testing in both development and production environments. It provides reliable information on a fundamental component of NSX-T, logical routing.A comprehensive understanding of this capability will help IT professionals with design, implementation, troubleshooting, and enhancements.The book starts with an introduction to the foundational components of the NSX-T platform and how NSX-T fits into the software-defined data center. The focus then moves to tunnel endpoints, which is a critical aspect of the NSX-T platform, and the differences between overlays and underlays are explained. Once the basics are covered, it provides a detailed description of how NSX-T components communicate.Next, the book introduces logical routing and its components Table of ContentsChapter 1: Introduction The Modern-Day Software-Defined Data Center Software-Defined Datacenter Architecture VMware NSX-T: SDDC Networking The Basics of NSX-T Summary Chapter 2: Tunnel Endpoints Overlay Networking NSX-T Transport Node Communication Transport Node Types What Is a Tunnel Endpoint? Tunnel Endpoint Communication Routed Transport VLANs Tunnel Endpoint Configuration Tunnel Endpoint Failure Summary Chapter 3: Remote Tunnel Endpoints A Solution for Multiple Sites NSX-T Federation Components Summary Chapter 4: Logical Routing What Is Logical Routing? NSX-T Logical Components Logical Routing Architecture Packet Flow Within the NSX-T Fabric Summary Chapter 5: Data Plane Availability Edge Cluster Deployment Considerations Edge Failure Types Bidirectional Forwarding Detection (BFD) Equal Cost Multipathing (ECMP) Summary Chapter 6: Datacenter Routing Chapter Objectives Communication with the Physical Network NSX-T and BGP NSX-T and OSPF NSX-T and Static Routing Deterministic Peering Bidirectional Forwarding Detection (BFD) Unicast Reverse Path Forwarding (uRPF) Summary

    1 in stock

    £46.74

  • Web Application Development with Streamlit

    APress Web Application Development with Streamlit

    1 in stock

    Book SynopsisTransition from a back-end developer to a full-stack developer with knowledge of all the dimensions of web application development, namely, front-end, back-end and server-side software. This book provides a comprehensive overview of Streamlit, allowing developers and programmers of all backgrounds to get up to speed in as little time as possible. Streamlit is a pure Python web framework that will bridge the skills gap and shorten development time from weeks to hours. This book walks you through the complete cycle of web application development, from an introductory to advanced level with accompanying source code and resources. You will be exposed to developing basic, intermediate, and sophisticated user interfaces and subsequently you will be acquainted with data visualization, database systems, application security, and cloud deployment in Streamlit.  In a market with a surplus demand for full stack developers, this skill set could not possiblTable of Contents Part I: Introduction to Streamlit 1 Getting Started with Streamlit 1.1 Why Streamlit? 1.2 How Streamlit Works 1.3 Firing it up 2 Streamlit Basics 2.1 The Streamlit API 2.2 Creating a basic app Part II: Developing Advanced Interfaces and Applications 3 Architecting Streamlit’s Front-end Design 3.1 Designing the application 3.2 Provisioning multi-page applications 3.3 Data wrangling 4 Graphing in Depth 4.1 Visualization stack 4.2 Exploring Plotly data visualizations Part III: Interfacing with Database and Back-end Systems 5 Database Integration 5.1 Relational Databases 5.2 Non-relational databases 6 Back-end Servers 6.1 The need for back-end servers 6.2 Front-end/ Back-end Communication 6.3 Working with JSON files 6.4 Provisioning a back-end server 6.5 Multi-threading and multi-processing request 6.6 Connecting Streamlit to a Back-end Server Part IV: Enforcing Application Security and Privacy 7 Session State 7.1 Introducing session IDs 7.2 Implementing session state persistently 7.3 Recording user insights 7.4 Implementing session state natively 7.5 Cookies management 8 Authentication and Application Security 8.1 Developing user accounts 8.2 Verifying user credentials 8.3 Secrets management 8.4 Anti-SQL injection measures with SQL Alchemy 8.5 Configuring Git Ignore variables Part V: Deploying Streamlit to the Cloud 9 Persistent Deployment 9.1 Deployment to Streamlit Sharing 9.2 Deployment to Linux 9.3 Deployment to Windows Server 10 Exposing Local Streamlit to the World Wide Web 10.1 Port forwarding over network gateway 10.2 Reverse Port Forwarding using NGROK Part VI: Streamlit Custom Components 11 Building Streamlit components with React.js 11.1 Introduction to Streamlit custom components 11.2 Using React.js to create custom HTML components 11.3 Deploying components as a Pip package 12 Extra-Streamlit-Components Package 12.1 Stepper bar 12.2 Splash screen . . 12.3 Tab bar 12.4 Cookie Manager Part VII: Streamlit Case Studies 13 General Use Cases 13.1 Data science & machine learning applications 13.2 Dashboards and real-time applications 13.3 Time-series applications 13.4 Advanced application development 14 Steamlit at Work 14.1 Iberdrola Renewables 14.2 DummyLearn.com

    1 in stock

    £49.49

  • Pro Angular

    APress Pro Angular

    Out of stock

    Book SynopsisWelcome to this one-stop shop for learning Angular. Pro Angular is the most concise and comprehensive guide available, giving you the knowledge you need to take full advantage of this popular framework for building your own dynamic JavaScript applications.Angular is an open-source JavaScript library maintained by Google. It has many excellent options when it comes to server-side development and is used in some of the largest and most complex web applications in the world to enhance HTML in the browser. Its cornerstone is the ability to create applications that are extendable, maintainable, testable, and standardized. Knowing Angular''s foundations and understanding its applications is an asset in any developer toolbox.The fifth edition of this popular guide explains how to get the most from Angular, presenting the range of benefits it can offer. You will begin learning how to use Angular in your projects, starting with the nuts-and-bolts concepts, and progreTable of ContentsPart I – Getting Ready Chapter 1. Getting Ready Chapter 2. Jumping Right In Chapter 3. Primer, Part I Chapter 4. Primer, Part II Chapter 5. SportsStore: A Real Application Chapter 6. SportsStore: Orders and Checkout Chapter 7. SportsStore:Administration Chapter 8. SportsStore: Progressive Features and Deployment Part II - Working with Angular Chapter 9. Understanding Angular Projects and Tools Chapter 10. Using Data Bindings Chapter 11. Using the Built-In Directives Chapter 12. Using Events and Forms Chapter 13. Creating Attribute Directives Chapter 14. Creating Structural Directives Chapter 15. Understanding Components Chapter 16. Using and Creating Pipes Chapter 17. Using Services Chapter 18. Using Service Providers Chapter 19. Using and Creating Modules Part III - Advanced Angular Features Chapter 20. Creating the Example Project Chapter 21. Using the Forms API, Part I Chapter 22. Using the Forms API, Part II Chapter 23. Making HTTP Requests Chapter 24. Routing and Navigation, Part I Chapter 25. Routing and Navigation, Part II Chapter 26. Routing and Navigation, Part III Chapter 27. Using Animations Chapter 28. Working with Component Libraries Chapter 29. Angular Unit Testing

    Out of stock

    £46.74

  • Programming 101

    APress Programming 101

    1 in stock

    Book SynopsisProgramming permeates almost all aspects of our lives. This includes being active on social media, shopping online, and participating in virtual courses. It also includes driving a car and using many devices.  This book will teach you the basics of programming using the Processing programming language and provide practice with logical, algorithmic thinking.  It can provide insight into what is involved in producing the technical infrastructure of our world. While reading this book, you can build programs based on your own ideas, using images you create or acquire and making connections to activities you enjoy.The chapters in the book will demonstrate the process of programming, starting with formulating an idea, planning, building on past projects, and refining the work, similar to writing an essay or composing a song. This approach will guide you to make use of logic and mathematics to produce beautiful effects. The text contains an Appendix with an introductiTable of Contents1. Basics2. Interactions3. Animation Using Arrays and Parallel Structures4. Classes 5. More Interactions6. Images, Graphics, and Building on Prior Work7. Using Files for Making a Holiday Card8. Combining Videos, Images, and Graphics9. Hangman10. 3DAppendix: Processing and JavaScript: p5.js

    1 in stock

    £49.49

  • Getting Started with Grafana

    APress Getting Started with Grafana

    1 in stock

    Book SynopsisBegin working with the Grafana data visualization platform. This book is a how-to manual for deploying and administering Grafana, creating real-time dashboards and alerts, exploring the data you have, and even synthesizing new data by combining and manipulating data from multiple different sources. You'll be able to see and manage data on any scale, from your laptop or a Raspberry Pi to a production datacenter or even a multi-region cloud environment!Getting Started with Grafana takes a hands-on approach. You'll learn by doing with easy-to-follow examples along with pointers to more resources to help you go deeper. The skills you'll learn will help you provide business value by monitoring your operations in real time and reacting to changing circumstances as they occur. You'll be able to derive new insights from your existing data through Grafana's powerful and beautiful graphing capabilities, and you'll be able to share your dashboards with colleagues soeveryone in your organization cTable of ContentsIntroductionPart I. Getting Started1. Grafana Cloud2. Working with PanelsPart II. Deploying and Managing Grafana3. Deploying Grafana Locally4. Connecting to Data Sources5. User AdministrationPart III. Making Things Useful6. Dashboard Design7. Workflow8. Working with Multiple Data Sources9. Advanced Panels10. Dashboard Variables11. AlertingPart IV. Advanced Grafana12. Advanced Deployment and Management13. Programmatic Grafana14. Grafana Enterprise

    1 in stock

    £42.74

  • Practical Haskell

    APress Practical Haskell

    1 in stock

    Book SynopsisGet a practical, hands-on introduction to the Haskell language, its libraries and environment, and to the functional programming paradigm that is fast growing in importance in the software industry. This updated edition includes more modern treatment of Haskell''s web framework and APIs.This book contains excellent coverage of the Haskell ecosystem and supporting tools, including Cabal and Stack for managing projects, HUnit and QuickCheck for software testing, WAI and Elm to develop the back end and front end of web applications, Persistent and Esqueleto for database access, and parallel and distributed programming libraries.You''ll see how functional programming is gathering momentum, allowing you to express yourself in a more concise way, reducing boilerplate, and increasing the safety of your code. Haskell is an elegant and noise-free pure functional language with a long history, having a huge number of library contributors and an active community. Table of ContentsPart I: First Steps 1. Going Functional 2. Declaring the Data Model 3. Increasing Code Reuse 4. Using Containers and Type Classes 5. Laziness and Infinite Structures Part II: Data Mining 6. Knowing Your Clients Using Monads 7. More Monads: Now for Recommendations 8. Working in Several Cores Part III: Resource Handling 9. Dealing with Files: IO and Conduit 10. Building and Parsing Text 11. Safe Database Access 12. Web Applications Part IV: Domain Specific Languages 13. Strong Types 14. Interpreting Offers with Attributes Part V: Engineering the Store 15. Documenting, Testing, and Verifying 16. Architecting Your Application 17. Looking Further

    1 in stock

    £49.49

  • Learn JavaFX Game and App Development

    APress Learn JavaFX Game and App Development

    1 in stock

    Book SynopsisUnderstand real-world game development concepts using JavaFX game engine called FXGL. The core focus of the book is on developing a standalone game or application with FXGL. We will start with an overview of the book followed by requisite concepts from Java and JavaFX that will be used throughout this book. Next, we will learn about the FXGL game engine and its wide range of real-world game development techniques. In the following chapter, we learn about entity-component model used in FXGL to create a powerful abstraction of the game world. The next chapter builds on this, where we develop a platformer game using the physics engine and a popular external tool called Tiled. An important concept of games AI is covered in the following chapter. Visually complex features related to graphics and rendering as well as UI elements and animation system in FXGL will be discussed in the next chapter. The following chapter is dedicated to non-game applications that can be developed usTable of ContentsChapter 1: IntroductionChapter Goal: Sets the scene for the book, provides an overview and sets expectationsChapter 2: Requisite Java and JavaFX ConceptsChapter Goal: Covers fundamental knowledge required to understand the book contentSub-topics: Java programmingJavaFX scene graphJavaFX model of programmingJavaFX conceptsChapter 3: FXGL ArchitectureChapter Goal: Provides an overview of the FXGL architecture, features, and capabilitiesChapter 4: Entity-Component Case Study: Develop Arcade GamesChapter Goal: Introduction to entity-component model used for abstracting game worldsSub-topics: Game worldEntity-Component modelPong and Breakout style gamesChapter 5: Physics Case Study: Develop a Platformer Game Chapter Goal: Introduction to lightweight and heavyweight physics engines in FXGLSub-topics: Collision detectionRigid body dynamicsMario style gameChapter 6: AI Case Study: Develop a Maze Action GameChapter Goal: Provides a foundation for using and developing AI agents in FXGLSub-topics: A* pathfindingGraph theoryComponent-driven behaviorPac-man style gameChapter 7: Graphics and UI Case Study: Develop a Top-Down Shooter GameChapter Goal: Introduction to the particle and animation systems used in FXGLSub-topics: Particle systemMulti-layer renderingAnimationsInterpolationsGeometry wars style gameChapter 8: Developing General-Purpose ApplicationsChapter Goal: Provide information on how FXGL can be used in non-game contextsChapter 9: Cross-platform DeploymentChapter Goal: Demonstrates the package and deployment process with FXGLSub-topics: jlinkNative imagesGluon toolsMobile developmentChapter 10: ConclusionChapter Goal: Recap what was covered in the chapters, provides external resources and ideas for future projects

    1 in stock

    £44.99

© 2026 Book Curl

    • American Express
    • Apple Pay
    • Diners Club
    • Discover
    • Google Pay
    • Maestro
    • Mastercard
    • PayPal
    • Shop Pay
    • Union Pay
    • Visa

    Login

    Forgot your password?

    Don't have an account yet?
    Create account