{"title":"Open source and other operating systems Books","description":"","products":[{"product_id":"design-and-implementation-of-the-freebsd-operating-system-the-9780321968975","title":"Design and Implementation of the FreeBSD","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003eMarshall Kirk McKusick\u003c\/strong\u003e 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 \u003cem\u003eQueue\u003c\/em\u003e magazine, a senior member of the IEEE, and a member of th\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003e\u003cem\u003ePreface xxi\u003c\/em\u003e\u003c\/p\u003e \u003cp\u003e\u003cem\u003eAbout the Authors xxix\u003c\/em\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003ePart I: Over view 1\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 1: History and Goals 3\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e1.1 History of the UNIX System 3\u003c\/p\u003e \u003cp\u003e1.2 BSD and Other Systems 7\u003c\/p\u003e \u003cp\u003e1.3 The Transition of BSD to Open Source 9\u003c\/p\u003e \u003cp\u003e1.4 The FreeBSD Development Model 14\u003c\/p\u003e \u003cp\u003eReferences 17\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 2: Design Overview of FreeBSD 21\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e2.1 FreeBSD Facilities and the Kernel 21\u003c\/p\u003e \u003cp\u003e2.2 Kernel Organization 23\u003c\/p\u003e \u003cp\u003e2.3 Kernel Services 26\u003c\/p\u003e \u003cp\u003e2.4 Process Management 26\u003c\/p\u003e \u003cp\u003e2.5 Security 29\u003c\/p\u003e \u003cp\u003e2.6 Memory Management 36\u003c\/p\u003e \u003cp\u003e2.7 I\/O System Overview 39\u003c\/p\u003e \u003cp\u003e2.8 Devices 44\u003c\/p\u003e \u003cp\u003e2.9 The Fast Filesystem 45\u003c\/p\u003e \u003cp\u003e2.10 The Zettabyte Filesystem 49\u003c\/p\u003e \u003cp\u003e2.11 The Network Filesystem 50\u003c\/p\u003e \u003cp\u003e2.12 Interprocess Communication 50\u003c\/p\u003e \u003cp\u003e2.13 Network-Layer Protocols 51\u003c\/p\u003e \u003cp\u003e2.14 Transport-Layer Protocols 52\u003c\/p\u003e \u003cp\u003e2.15 System Startup and Shutdown 52\u003c\/p\u003e \u003cp\u003eExercises 54\u003c\/p\u003e \u003cp\u003eReferences 54\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 3: Kernel Services 57\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e3.1 Kernel Organization 57\u003c\/p\u003e \u003cp\u003e3.2 System Calls 62\u003c\/p\u003e \u003cp\u003e3.3 Traps and Interrupts 64\u003c\/p\u003e \u003cp\u003e3.4 Clock Interrupts 65\u003c\/p\u003e \u003cp\u003e3.5 Memory-Management Services 69\u003c\/p\u003e \u003cp\u003e3.6 Timing Services 73\u003c\/p\u003e \u003cp\u003e3.7 Resource Services 75\u003c\/p\u003e \u003cp\u003e3.8 Kernel Tracing Facilities 77\u003c\/p\u003e \u003cp\u003eExercises 84\u003c\/p\u003e \u003cp\u003eReferences 85\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003ePart II: Processes 87\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 4: Process Management 89\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e4.1 Introduction to Process Management 89\u003c\/p\u003e \u003cp\u003e4.2 Process State 92\u003c\/p\u003e \u003cp\u003e4.3 Context Switching 99\u003c\/p\u003e \u003cp\u003e4.4 Thread Scheduling 114\u003c\/p\u003e \u003cp\u003e4.5 Process Creation 126\u003c\/p\u003e \u003cp\u003e4.6 Process Termination 128\u003c\/p\u003e \u003cp\u003e4.7 Signals 129\u003c\/p\u003e \u003cp\u003e4.8 Process Groups and Sessions 136\u003c\/p\u003e \u003cp\u003e4.9 Process Debugging 142\u003c\/p\u003e \u003cp\u003eExercises 144\u003c\/p\u003e \u003cp\u003eReferences 146\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 5: Security 147\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e5.1 Operating-System Security 148\u003c\/p\u003e \u003cp\u003e5.2 Security Model 149\u003c\/p\u003e \u003cp\u003e5.3 Process Credentials 151\u003c\/p\u003e \u003cp\u003e5.4 Users and Groups 154\u003c\/p\u003e \u003cp\u003e5.5 Privilege Model 157\u003c\/p\u003e \u003cp\u003e5.6 Interprocess Access Control 159\u003c\/p\u003e \u003cp\u003e5.7 Discretionary Access Control 161\u003c\/p\u003e \u003cp\u003e5.8 Capsicum Capability Model 174\u003c\/p\u003e \u003cp\u003e5.9 Jails 180\u003c\/p\u003e \u003cp\u003e5.10 Mandatory Access-Control Framework 184\u003c\/p\u003e \u003cp\u003e5.11 Security Event Auditing 200\u003c\/p\u003e \u003cp\u003e5.12 Cryptographic Services 206\u003c\/p\u003e \u003cp\u003e5.13 GELI Full-Disk Encryption 212\u003c\/p\u003e \u003cp\u003eExercises 217\u003c\/p\u003e \u003cp\u003eReferences 217\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 6: Memory Management 221\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e6.1 Terminology 221\u003c\/p\u003e \u003cp\u003e6.2 Overview of the FreeBSD Virtual-Memory System 227\u003c\/p\u003e \u003cp\u003e6.3 Kernel Memory Management 230\u003c\/p\u003e \u003cp\u003e6.4 Per-Process Resources 244\u003c\/p\u003e \u003cp\u003e6.5 Shared Memory 250\u003c\/p\u003e \u003cp\u003e6.6 Creation of a New Process 258\u003c\/p\u003e \u003cp\u003e6.7 Execution of a File 262\u003c\/p\u003e \u003cp\u003e6.8 Process Manipulation of Its Address Space 263\u003c\/p\u003e \u003cp\u003e6.9 Termination of a Process 266\u003c\/p\u003e \u003cp\u003e6.10 The Pager Interface 267\u003c\/p\u003e \u003cp\u003e6.11 Paging 276\u003c\/p\u003e \u003cp\u003e6.12 Page Replacement 289\u003c\/p\u003e \u003cp\u003e6.13 Portability 298\u003c\/p\u003e \u003cp\u003eExercises 308\u003c\/p\u003e \u003cp\u003eReferences 310\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003ePart III: I\/OSystem 313\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 7: I\/O System Overview 315\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e7.1 Descriptor Management and Services 316\u003c\/p\u003e \u003cp\u003e7.2 Local Interprocess Communication 333\u003c\/p\u003e \u003cp\u003e7.3 The Virtual-Filesystem Interface 339\u003c\/p\u003e \u003cp\u003e7.4 Filesystem-Independent Services 344\u003c\/p\u003e \u003cp\u003e7.5 Stackable Filesystems 352\u003c\/p\u003e \u003cp\u003eExercises 358\u003c\/p\u003e \u003cp\u003eReferences 359\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 8: Devices 361\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e8.1 Device Overview 361\u003c\/p\u003e \u003cp\u003e8.2 I\/O Mapping from User to Device 367\u003c\/p\u003e \u003cp\u003e8.3 Character Devices 370\u003c\/p\u003e \u003cp\u003e8.4 Disk Devices 374\u003c\/p\u003e \u003cp\u003e8.5 Network Devices 378\u003c\/p\u003e \u003cp\u003e8.6 Terminal Handling 382\u003c\/p\u003e \u003cp\u003e8.7 The GEOM Layer 391\u003c\/p\u003e \u003cp\u003e8.8 The CAM Layer 399\u003c\/p\u003e \u003cp\u003e8.9 Device Configuration 402\u003c\/p\u003e \u003cp\u003e8.10 Device Virtualization 414\u003c\/p\u003e \u003cp\u003eExercises 428\u003c\/p\u003e \u003cp\u003eReferences 429\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 9: The Fast Filesystem 431\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e9.1 Hierarchical Filesystem Management 431\u003c\/p\u003e \u003cp\u003e9.2 Structure of an Inode 433\u003c\/p\u003e \u003cp\u003e9.3 Naming 443\u003c\/p\u003e \u003cp\u003e9.4 Quotas 451\u003c\/p\u003e \u003cp\u003e9.5 File Locking 454\u003c\/p\u003e \u003cp\u003e9.6 Soft Updates 459\u003c\/p\u003e \u003cp\u003e9.7 Filesystem Snapshots 480\u003c\/p\u003e \u003cp\u003e9.8 Journaled Soft Updates 487\u003c\/p\u003e \u003cp\u003e9.9 The Local Filestore 496\u003c\/p\u003e \u003cp\u003e9.10 The Berkeley Fast Filesystem 501\u003c\/p\u003e \u003cp\u003eExercises 517\u003c\/p\u003e \u003cp\u003eReferences 519\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 10: The Zettabyte Filesystem 523\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e10.1 Introduction 523\u003c\/p\u003e \u003cp\u003e10.2 ZFS Organization 527\u003c\/p\u003e \u003cp\u003e10.3 ZFS Structure 532\u003c\/p\u003e \u003cp\u003e10.4 ZFS Operation 535\u003c\/p\u003e \u003cp\u003e10.5 ZFS Design Tradeoffs 547\u003c\/p\u003e \u003cp\u003eExercises 549\u003c\/p\u003e \u003cp\u003eReferences 549\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 11: The Network Filesystem 551\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e11.1 Overview 551\u003c\/p\u003e \u003cp\u003e11.2 Structure and Operation 553\u003c\/p\u003e \u003cp\u003e11.3 NFS Evolution 567\u003c\/p\u003e \u003cp\u003eExercises 586\u003c\/p\u003e \u003cp\u003eReferences 587\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003ePart IV: Interprocess Communication 591\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 12: Interprocess Communication 593\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e12.1 Interprocess-Communication Model 593\u003c\/p\u003e \u003cp\u003e12.2 Implementation Structure and Overview 599\u003c\/p\u003e \u003cp\u003e12.3 Memory Management 601\u003c\/p\u003e \u003cp\u003e12.4 IPC Data Structures 606\u003c\/p\u003e \u003cp\u003e12.5 Connection Setup 612\u003c\/p\u003e \u003cp\u003e12.6 Data Transfer 615\u003c\/p\u003e \u003cp\u003e12.7 Socket Shutdown 620\u003c\/p\u003e \u003cp\u003e12.8 Network-Communication Protocol Internal Structure 621\u003c\/p\u003e \u003cp\u003e12.9 Socket-to-Protocol Interface 626\u003c\/p\u003e \u003cp\u003e12.10 Protocol-to-Protocol Interface 631\u003c\/p\u003e \u003cp\u003e12.11 Protocol-to-Network Interface 634\u003c\/p\u003e \u003cp\u003e12.12 Buffering and Flow Control 643\u003c\/p\u003e \u003cp\u003e12.13 Network Virtualization 644\u003c\/p\u003e \u003cp\u003eExercises 646\u003c\/p\u003e \u003cp\u003eReferences 648\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 13: Network-Layer Protocols 649\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e13.1 Internet Protocol Version 4 650\u003c\/p\u003e \u003cp\u003e13.2 Internet Control Message Protocols (ICMP) 657\u003c\/p\u003e \u003cp\u003e13.3 Internet Protocol Version 6 659\u003c\/p\u003e \u003cp\u003e13.4 Internet Protocols Code Structure 670\u003c\/p\u003e \u003cp\u003e13.5 Routing 675\u003c\/p\u003e \u003cp\u003e13.6 Raw Sockets 686\u003c\/p\u003e \u003cp\u003e13.7 Security 688\u003c\/p\u003e \u003cp\u003e13.8 Packet-Processing Frameworks 700\u003c\/p\u003e \u003cp\u003eExercises 715\u003c\/p\u003e \u003cp\u003eReferences 717\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 14: Transport-Layer Protocols 721\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e14.1 Internet Ports and Associations 721\u003c\/p\u003e \u003cp\u003e14.2 User Datagram Protocol (UDP) 723\u003c\/p\u003e \u003cp\u003e14.3 Transmission Control Protocol (TCP) 725\u003c\/p\u003e \u003cp\u003e14.4 TCP Algorithms 732\u003c\/p\u003e \u003cp\u003e14.5 TCP Input Processing 741\u003c\/p\u003e \u003cp\u003e14.6 TCP Output Processing 745\u003c\/p\u003e \u003cp\u003e14.7 Stream Control Transmission Protocol (SCTP) 761\u003c\/p\u003e \u003cp\u003eExercises 768\u003c\/p\u003e \u003cp\u003eReferences 770\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003ePart V: System Operation 773\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 15: System Startup and Shutdown 775\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e15.1 Firmware and BIOSes 776\u003c\/p\u003e \u003cp\u003e15.2 Boot Loaders 777\u003c\/p\u003e \u003cp\u003e15.3 Kernel Boot 782\u003c\/p\u003e \u003cp\u003e15.4 User-Level Initialization 798\u003c\/p\u003e \u003cp\u003e15.5 System Operation 800\u003c\/p\u003e \u003cp\u003eExercises 805\u003c\/p\u003e \u003cp\u003eReferences 806\u003c\/p\u003e \u003cp\u003e\u003cem\u003eGlossary 807\u003c\/em\u003e\u003c\/p\u003e \u003cp\u003e\u003cem\u003eIndex 847\u003c\/em\u003e\u003c\/p\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":48733599105367,"sku":"9780321968975","price":51.29,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780321968975.jpg?v=1720000783"},{"product_id":"micropython-for-the-internet-of-things-a-beginners-guide-to-programming-with-python-on-microcontrollers-9781484231227","title":"MicroPython for the Internet of Things A","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eTagline: Breaking the C-like language barrier to make device programming easy and fast\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e1. 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","brand":"APress","offers":[{"title":"Default Title","offer_id":48739662889303,"sku":"9781484231227","price":52.24,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484231227.jpg?v=1720052847"},{"product_id":"cognitive-virtual-assistants-using-google-dialogflow-9781484257401","title":"Cognitive Virtual Assistants Using Google","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eFollow 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. \u003c\/p\u003e\u003cp\u003eYou''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. \u003c\/p\u003e\u003cp\u003e\u003ci\u003eCognitive Virtual Assistants Using Google Dialogflow\u003c\/i\u003e takes the complexity out of the cognitive platform and provides rich guidance which you can use when developing your own\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003eChapter 1: Introduction to Cognitive Virtual BotChapter Goal: To introduce the basics of Cognitive Virtual Bot 1.1 What is Cognitive Chatbot\u003cbr\u003eChapter 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 Dialogflow\u003cbr\u003eChapter 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 \tas Google Assistant3.11 Multi-lingual chatbots3.12 Prebuilt agents\u003cbr\u003eChapter 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\u003cbr\u003e\u003cbr\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739665248599,"sku":"9781484257401","price":29.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484257401.jpg?v=1720052854"},{"product_id":"java-17-for-absolute-beginners-9781484270790","title":"Java 17 for Absolute Beginners","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cdiv\u003e1. 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.\u003c\/div\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003eChapter 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 Spring\u003cbr\u003eChapter 4: Java syntax- what is a package, module- class- enums- interface ( private methods \u0026amp; 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)\u003cbr\u003eChapter 6: Operators- unary, binary, ternary, logic, and the diamond operator (used in conjunction with anonymous inner classes)\u003cbr\u003eChapter 7: Controlling the flow - if, loops- try catch (try with resources with managed variables)- recursion\u003cbr\u003eChapter 8: The Stream API - streams , optional to Stream, enhancements\u003cbr\u003eChapter 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)\u003cbr\u003eChapter 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)\u003cbr\u003eChapter 11: Writing files- storing data to files, reading it from them- serialization to Binary, XML, JSON, YML (JEP290)- playing with images – multi-resolution API\u003cbr\u003eChapter 12: Publish-Subscribe Framework- reactive streams\u003cbr\u003eChapter 13: Garbage Collection- JEP 214,248,271,291\u003cbr\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739666592087,"sku":"9781484270790","price":49.49,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484270790.jpg?v=1791472329"},{"product_id":"deploy-container-applications-using-kubernetes-9781484292761","title":"Deploy Container Applications Using Kubernetes","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eNavigate through the Kubernetes landscape to create and deploy container-based applications. This book will show you how to choose between the various available container-based operating systems, and how to design a better continuous integration pipeline for your container images, where to store them, and how to scan and secure them.In the first half of the book, you'll learn the practical tips on how to setup the system for visibility and troubleshooting, how to reduce the attack vector and reduce risks. The second half of the book focuses on Kubernetes, the popular container orchestration system. You'll see how to setup your Kubernetes for practical applications such as show\/chargeback using tagging, efficient use of namespaces and pods, various isolation layers. It also shows you how to integrate with popular implementations of K8S such as AWS EKS (Elastic Container Service), GCP Google Kubernetes Engine (GKE) in touch points such as authentication and authorization, optimization, l\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003eChapter 1. Running your first container application Chapter 2.Introducing Kubernetes ​Chapter 3.A Closer Look at Kubernetes Chapter 4. Scaling the deployment.- Chapter 5.Node management and RBAC ​Chapter 6. Artifact Repository and Container Registry.- ​Chapter 7. AWS EKSChapter 8.Installing and configuring command line tools to work with AWS EKS service.- Chapter 9. Data-PersistenceChapter 10.Networking and IngressChapter 11. Kubernetes Tools","brand":"APress","offers":[{"title":"Default Title","offer_id":48739668328791,"sku":"9781484292761","price":42.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484292761.jpg?v=1720052859"},{"product_id":"introduction-to-infrastructure-as-code-9781484286883","title":"Introduction to Infrastructure as Code","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003eGet inspired to explore the depths of the DevOps field. In today''s rapidly transforming world, Infrastructure as Code (IaC) has emerged as an effective approach to maintain, scale, and deploy software systems. This book offers a mixture of foundational IaC concepts and practical examples to give you hands-on experience.\u003c\/p\u003e\u003cp\u003eYou will first gain an understanding of DevOps culture as well as how to adapt to IaC.\u003ci\u003e Introduction to Infrastructure as Code\u003c\/i\u003e begins by reviewing the innovative features that DevOps in general, and IaC in particular, have to offer for adoption and growth for different verticals. With this solid base established, you will then learn the importance, processes, and outcome of building infrastructure solutions.\u003c\/p\u003eAuthors Sneh Pandya and Riya Guha Thakurta then provide hands-on examples utilizing IaC platforms, open source tools, and essential considerations such as security, scalability, and deployments. Each chapter focuses on one vertical (i.e.\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003ePART 1: CONCEPTSChapter 1:  Introduction to Infrastructure as CodeChapter Goal: Understand DevOps culture and fundamentals of Infrastructure as Code\u003cbr\u003eChapter 2:  Patterns and Principles of IaCChapter Goal: Learn about every layer of Infrastructure as Code stack\u003cbr\u003eChapter 3: Infrastructure ManagementChapter Goal: Explains management of infrastructure in a holistic manner\u003cbr\u003eChapter 4: Production Complexity ManagementChapter Goal: Learn how to maintain, deploy, and scale infrastructure with respect to various environments\u003cbr\u003eChapter 5: Business SolutionsChapter Goal: Helps you familiarize and understand business aspects and future scope of IaC\u003cbr\u003ePART 2: HANDS-ON EXPERIENCEChapter 6: Hands-on IaC with Hashicorp TerraformChapter Goal: Helps you gain hands-on experience with popular open-source IaC platform - Hashicorp's Terraform\u003cbr\u003eChapter 7: Hands-on IaC with PuppetChapter Goal: Take you through with another popular open-source IaC tool - Puppet\u003cbr\u003eChapter 8: Hands-on IoC with ChefChapter Goal: Helps you with hands-on experience with another popular open-source IaC tool - Chef","brand":"APress","offers":[{"title":"Default Title","offer_id":48739668427095,"sku":"9781484286883","price":26.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484286883.jpg?v=1720052860"},{"product_id":"kafka-troubleshooting-in-production-9781484294895","title":"Kafka Troubleshooting in Production","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eThis book provides Kafka administrators, site reliability engineers, and DataOps and DevOps practitioners with a list of real production issues that can occur in Kafka clusters and how to solve them. The production issues covered are assembled into a comprehensive troubleshooting guide for those engineers who are responsible for the stability and performance of Kafka clusters in production, whether those clusters are deployed in the cloud or on-premises. This book teaches you how to detect and troubleshoot the issues, and eventually how to prevent them.   Kafka stability is hard to achieve, especially in high throughput environments, and the purpose of this book is not only to make troubleshooting easier, but also to prevent production issues from occurring in the first place. The guidance in this book is drawn from the author's years of experience in helping clients and internal customers diagnose and resolve knotty production problems and stabilize their Kafka environments. The book\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cbr\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739668459863,"sku":"9781484294895","price":26.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484294895.jpg?v=1720052860"},{"product_id":"practical-rust-projects-9781484293300","title":"Practical Rust Projects","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003eGo beyond the basics and build complete applications using the Rust programming language, updated for Rust 2021 edition. The applications you''ll build over the course of this book include a high-performance web client, an embedded computer (for a robot, for example), a game, a serverless web app, and an application that incorporates AI and machine learning.  \u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003eEach chapter is organized in the following format: what the kind of should application look like; requirements and user stories of our example program; an introduction to the Rust libraries used; the actual implementation of the example program, including common pitfalls and their solutions; and a brief comparison of libraries for building each application, if there is no clear preference.\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e\u003ci\u003ePractical Rust Projects, Second Edition\u003c\/i\u003e will open your eyes to how Rust can be put to practical, real-world use. After reading this book, you will be able to use Rust to build a var\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e1. Welcome to the World of Rust2. Building a Command-Line Program3. Creating Graphical  User Interfaces (GUIs)4. High-performance Web Frontend using WebAssembly5. Building REST APIs6. Going Serverless with Amazon AWS Rust SDK7. Building a Game8. Physical Computing in Rust9. Artificial Intelligence and Machine Learning10. What else can you do with Rust?\u003cbr\u003e---------------------------------------------------------\u003cbr\u003e1. Welcome to the World of Rust\u003cbr\u003e   * Add a note on what's changed in the 2nd edition.   * Add a note on Rust 2021\u003cbr\u003e2. Building a Command-Line Program\u003cbr\u003e3. Creating Graphical  User Interfaces (GUIs)    * Upgrade to GTK 4?\u003cbr\u003e4. High-performance Web Frontend using WebAssembly\u003cbr\u003e5. Building REST APIs 6. 6. Going Serverless with Amazon AWS Rust SDK\u003cbr\u003e    * Using the new AWS SDK for Rust and Rust runtime for AWS Lambda\u003cbr\u003e7. Building a Game    * Use a different game engine because the one used in the 1st edition seized development\u003cbr\u003e8. Physical Computing in Rust\u003cbr\u003e    * Maybe add a section on using WebAssembly on RPi9. Artificial Intelligence and Machine Learning\u003cbr\u003e    * Maybe add a section on deep learning\u003cbr\u003e10. What else can you do with Rust?    * Remove the web part that is included in 2nd edition\u003cbr\u003e\u003cbr\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739669344599,"sku":"9781484293300","price":46.74,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484293300.jpg?v=1720052861"},{"product_id":"angular-for-business-9781484296080","title":"Angular for Business","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003ePart I:Core Concepts\u003c\/strong\u003e.- 1: A Gentle Introduction to Angular.- 2: A Brief Introduction to Typescript.- 3: Angular CLI Quick Reference.- 4: Making a Simple Angular Component.- 5: Offline Networks.- 6: Custom Angular Checkboxes with [(ngModel)] Support.- 7: Error Handling Strategies for Handling Data 8: Upgrading Angular.- 9: Understanding Service API's.- 10: Deploy with Azure with ng Deploy.- 11: Hosting an API.- 12: Progressive Web Applications (PWAs).- 13: RxJS: To Use or Not to Use?.- \u003cstrong\u003ePart ii: Testing and Debugging.\u003c\/strong\u003e- 14: Test-Driven Development with Angular.- 15: Unit Testing Strategies.- 16: Debugging with Docker Containers.- \u003cstrong\u003ePart III: The Command Line.\u003c\/strong\u003e- 17: What Do All Those Symbols Mean?.- \u003cstrong\u003ePart IV: Source Control\u003c\/strong\u003e.- 18: Fixing Broken Git Commits.- 19: Archiving Your Git Repositories.- \u003cstrong\u003ePart V: Communication and Training.\u003c\/strong\u003e- 20: How We Learn and Teach.- 21: Slow Down to be Noticed.- 22: Watch Your Lan\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003ePart I:Core Concepts\u003c\/strong\u003e.- 1: A Gentle Introduction to Angular.- 2: A Brief Introduction to Typescript.- 3: Angular CLI Quick Reference.- 4: Making a Simple Angular Component.- 5: Offline Networks.- 6: Custom Angular Checkboxes with [(ngModel)] Support.- 7: Error Handling Strategies for Handling Data 8: Upgrading Angular.- 9: Understanding Service API’s.- 10: Deploy with Azure with ng Deploy.- 11: Hosting an API.- 12: Progressive Web Applications (PWAs).- 13: RxJS: To Use or Not to Use?.- \u003cstrong\u003ePart ii: Testing and Debugging.\u003c\/strong\u003e- 14: Test-Driven Development with Angular.- 15: Unit Testing Strategies.- 16: Debugging with Docker Containers.- \u003cstrong\u003ePart III: The Command Line.\u003c\/strong\u003e- 17: What Do All Those Symbols Mean?.- \u003cstrong\u003ePart IV: Source Control\u003c\/strong\u003e.- 18: Fixing Broken Git Commits.- 19: Archiving Your Git Repositories.- \u003cstrong\u003ePart V: Communication and Training.\u003c\/strong\u003e- 20: How We Learn and Teach.- 21: Slow Down to be Noticed.- 22: Watch Your Language.- 23: Agile Planning and Management with Trello.- \u003cstrong\u003ePart VI: Other Topics.\u003c\/strong\u003e- 24: Automate Screenshots with Protractor.- 25: Image Repositories.  \u003c\/p\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739669639511,"sku":"9781484296080","price":38.24,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484296080.jpg?v=1720052863"},{"product_id":"lowcode-development-with-appsmith-9781484298121","title":"LowCode Development with Appsmith","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eThis book will show you how to harness the power of Appsmith, an open-source low-code platform with a large set of integration tools and an active community.   The book begins with an introduction to Appsmith and its features. As you explore the platform, you will learn about widgets, UI Canvas, and data stores, among other things. Authors Rahul Sharma and Rajat Arora then show you how to build customizations and navigation workflows, as well as how to handle error handling, debugging, and troubleshooting with Appsmith. You will also learn efficient monitoring and authentication for deploying production-ready systems. Low-Code Development with AppSmith provides examples, realistic scenarios, and explanations of the tools you'll need to build successful low-code apps, helping you gain practical skills.   Upon completing this book, you will be able to use Appsmith to build low-code solutions that suit your business requirements.   What You Will LearnUnderstand low-code development and th\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eChapter 1: Introduction to Appsmith.- Chapter 2: Working with the Appsmith Platform.- Chapter 3: Working with Data.- Chapter 4: Building Application Flows.- Chapter 5: Integration with Web Services.- Chapter 6: Access Control.- Chapter 7: Error Handling and Troubleshooting.- Chapter 8: Monitoring Appsmith.- Chapter 9: Implementation Patterns with Appsmith.- Chapter 10: Working with Appsmith Cloud.\u003c\/p\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739669967191,"sku":"9781484298121","price":42.74,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484298121.jpg?v=1791472337"},{"product_id":"modern-typescript-9781484297223","title":"Modern TypeScript","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eDive into the world of TypeScript, a popular superset of the JavaScript language that enhances the development experience with static typing. This book covers every aspect of TypeScript in a concise and easy-to-understand style, making it the ultimate resource for mastering TypeScript.Author Ben Beattie-Hood provides comprehensive coverage of TypeScript's features, such as structural typing, optionality and union types, computed and recursive types, and much more. Each chapter is packed with practical, real-world examples and insider tips drawn from his 20 years of experience as a trainer, ensuring you understand the most important concepts and learn how to avoid common pitfalls.Modern TypeScript will put you on the path to becoming a TypeScript expert, help you greatly reduce errors, and boost your delivery velocity. Whether you're building small projects or large-scale applications, this book will give you the skills and confidence to write cleaner, scalable, and more maintainable co\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cbr\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739670458711,"sku":"9781484297223","price":29.69,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484297223.jpg?v=1720052865"},{"product_id":"how-javascript-works-9781484297377","title":"How JavaScript Works","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eJavaScript is a complicated language with a lot of misinformation surrounding how it works. This book provides a comprehensive introduction to JavaScript, from how it works at a technical level to how it is used to create websites and applications. Everything you need to know to start a career in JavaScript development is covered here.   How JavaScript Worksbeginswith a practical introduction of the basics before moving into the technical underpinnings of JavaScript, detailing everything you need to know, including variables, memory storage, functions, classes, types, maps, sets and APIs.Once you've fully absorbed these key topics. author Jonathan Simpson will show you how to put them into practice, demonstrating how they are employed for modern web development. You'll learn how to use JavaScript with HTML and CSS to construct web pages and applications, how to change CSS with JavaScript, and how to utilize Fetch and asynchronous operations.   Uponcompleting this book, you will have th\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003eCh1 Introduction to JavaScript.- Ch2 Variables, Comments, and Logical Statements.- Ch3 Introduction to Objects, Arrays.- Ch4 Loops and Iterables.- Ch5 References, Values, and Memory Management.- Ch6 Functions and Classes.- Ch7 Types.- Ch8 Manipulating and Interacting with HTML.- Ch9 Maps and Sets.- Ch10 Fetching Data, APIs and Promises.- Ch11 Errors and the Console.- Ch12 Maps and Sets.- Ch13 Websockets.- Conclusion.- Appendix.","brand":"APress","offers":[{"title":"Default Title","offer_id":48739670720855,"sku":"9781484297377","price":29.69,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484297377.jpg?v=1720052865"},{"product_id":"building-computer-vision-applications-using-artificial-neural-networks-9781484298657","title":"Building Computer Vision Applications Using","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eComputer vision is constantly evolving, and this book has been updated to reflect new topics that have emerged in the field since the first edition's publication. All code used in the book has also been fully updated.   This second edition features new material covering image manipulation practices, image segmentation, feature extraction, and object identification using real-life scenarios to help reinforce each concept. These topics are essential for building advanced computer vision applications, and you'll gain a thorough understanding of them. The book's source code has been updated from TensorFlow 1.x to 2.x, and includes step-by-step examples using both OpenCV and TensorFlow with Python. Upon completing this book, you'll have the knowledge and skills to build your own computer vision applications using neural networksWhat You Will LearnUnderstand image processing, manipulation techniques, and feature extractionmethodsWork with convolutional neural networks (CNN), single-shot dete\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cbr\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48739672686935,"sku":"9781484298657","price":41.24,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484298657.jpg?v=1720052868"},{"product_id":"art-of-unix-programming-the-9780131429017","title":"Art of UNIX Programming The","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eHelps the readers understand that Unix is really a style of community.\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003e \u003cstrong\u003eI. CONTEXT.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e1. Philosophy.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eCulture? What culture?\u003c\/p\u003e \u003cp\u003eThe durability of Unix.\u003c\/p\u003e \u003cp\u003eThe case against learning Unix culture.\u003c\/p\u003e \u003cp\u003eWhat Unix gets wrong.\u003c\/p\u003e \u003cp\u003eWhat Unix gets right.\u003c\/p\u003e \u003cp\u003eBasics of the Unix philosophy.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003eThe Unix philosophy in one lesson.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eApplying the Unix philosophy.\u003c\/p\u003e \u003cp\u003eAttitude matters too.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e2. History.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eOrigins and history of Unix, 1969-1995.\u003c\/p\u003e \u003cp\u003eOrigins and history of the hackers, 1961-1995.\u003c\/p\u003e \u003cp\u003eThe open-source movement: 1998 and onward.\u003c\/p\u003e \u003cp\u003eThe lessons of Unix history.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e3. Contrasts.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eThe elements of operating-system style.\u003c\/p\u003e \u003cp\u003eOperating-system comparisons.\u003c\/p\u003e \u003cp\u003eWhat goes around, comes around.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003eII. DESIGN.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e4. Modularity.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eEncapsulation and optimal module size.\u003c\/p\u003e \u003cp\u003eCompactness and orthogonality.\u003c\/p\u003e \u003cp\u003eLibraries.\u003c\/p\u003e \u003cp\u003eUnix and object-oriented languages.\u003c\/p\u003e \u003cp\u003eCoding for modularity.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e5. Textuality.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eThe Importance of Being Textual.\u003c\/p\u003e \u003cp\u003eData file metaformats.\u003c\/p\u003e \u003cp\u003eApplication protocol design.\u003c\/p\u003e \u003cp\u003eApplication protocol metaformats.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e6. Transparency.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eSome case studies.\u003c\/p\u003e \u003cp\u003eDesigning for transparency and discoverability.\u003c\/p\u003e \u003cp\u003eDesigning for maintainability.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e7. Multiprogramming.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eSeparating complexity control from performance tuning.\u003c\/p\u003e \u003cp\u003eTaxonomy of Unix IPC methods.\u003c\/p\u003e \u003cp\u003eProblems and methods to avoid.\u003c\/p\u003e \u003cp\u003eProcess partitioning at the design level.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e8. Minilanguages.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eTaxonomy of languages.\u003c\/p\u003e \u003cp\u003eApplying minilanguages.\u003c\/p\u003e \u003cp\u003eDesigning minilanguages.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e9. Transformation.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eData-driven programming.\u003c\/p\u003e \u003cp\u003eAd-hoc code generation.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e10. Configuration.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eWhat should be configurable?\u003c\/p\u003e \u003cp\u003eWhere configurations live.\u003c\/p\u003e \u003cp\u003eRun-control files.\u003c\/p\u003e \u003cp\u003eEnvironment variables.\u003c\/p\u003e \u003cp\u003eCommand-line options.\u003c\/p\u003e \u003cp\u003eHow to choose among configuration-setting methods.\u003c\/p\u003e \u003cp\u003eOn breaking these rules.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e11. Interfaces.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eApplying the Rule of Least Surprise.\u003c\/p\u003e \u003cp\u003eHistory of interface design on Unix.\u003c\/p\u003e \u003cp\u003eEvaluating interface designs.\u003c\/p\u003e \u003cp\u003eTradeoffs between CLI and visual interfaces.\u003c\/p\u003e \u003cp\u003eTransparency, expressiveness, and configurability.\u003c\/p\u003e \u003cp\u003eUnix interface design patterns.\u003c\/p\u003e \u003cp\u003eApplying Unix interface-design patterns.\u003c\/p\u003e \u003cp\u003eThe Web browser as universal front end.\u003c\/p\u003e \u003cp\u003eSilence is golden.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e12. Optimization.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eDon't just do something, stand there!\u003c\/p\u003e \u003cp\u003eMeasure before optimizing.\u003c\/p\u003e \u003cp\u003eNon-locality considered harmful.\u003c\/p\u003e \u003cp\u003eThroughput vs. latency.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e13. Complexity.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eSpeaking of complexity.\u003c\/p\u003e \u003cp\u003eA Tale of Five Editors.\u003c\/p\u003e \u003cp\u003eThe right size for an editor.\u003c\/p\u003e \u003cp\u003eThe right size of software.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003eIII. IMPLEMENTATION.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e14. Languages.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eUnix's Cornucopia of Languages.\u003c\/p\u003e \u003cp\u003eWhy Not C?\u003c\/p\u003e \u003cp\u003eInterpreted Languages and Mixed Strategies.\u003c\/p\u003e \u003cp\u003eLanguage evaluations.\u003c\/p\u003e \u003cp\u003eTrends for the Future.\u003c\/p\u003e \u003cp\u003eChoosing an X toolkit.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e15. Tools.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eA developer-friendly operating system.\u003c\/p\u003e \u003cp\u003eChoosing an editor.\u003c\/p\u003e \u003cp\u003eSpecial-purpose code generators.\u003c\/p\u003e \u003cp\u003eMake in non-C\/C++ Development.\u003c\/p\u003e \u003cp\u003eVersion-control systems.\u003c\/p\u003e \u003cp\u003eRun-time debugging.\u003c\/p\u003e \u003cp\u003eProfiling.\u003c\/p\u003e \u003cp\u003eEmacs as the universal front end.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e16. Re-Use.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eThe tale of J. Random Newbie.\u003c\/p\u003e \u003cp\u003eTransparency as the key to re-use.\u003c\/p\u003e \u003cp\u003eFrom re-use to open source.\u003c\/p\u003e \u003cp\u003eThe best things in life are open.\u003c\/p\u003e \u003cp\u003eWhere should I look?\u003c\/p\u003e \u003cp\u003eWhat are the issues in using open-source software?\u003c\/p\u003e \u003cp\u003eLicensing issues.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003eIV. COMMUNITY.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e17. Portability.\u003c\/p\u003e \u003cp\u003eEvolution of C.\u003c\/p\u003e \u003cp\u003eUnix standards.\u003c\/p\u003e \u003cp\u003eSpecifications as DNA, code as RNA.\u003c\/p\u003e \u003cp\u003eProgramming for Portability.\u003c\/p\u003e \u003cp\u003eInternationalization.\u003c\/p\u003e \u003cp\u003ePortability, open standards and open source.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e18. Documentation.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eDocumentation concepts.\u003c\/p\u003e \u003cp\u003eThe Unix style.\u003c\/p\u003e \u003cp\u003eThe zoo of Unix documentation formats.\u003c\/p\u003e \u003cp\u003eThe present chaos and a possible way out.\u003c\/p\u003e \u003cp\u003eThe DocBook toolchain.\u003c\/p\u003e \u003cp\u003eHow to write Unix documentation.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e19. Open Source.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eUnix and open source.\u003c\/p\u003e \u003cp\u003eBest practices for working with open-source developers.\u003c\/p\u003e \u003cp\u003eThe logic of licenses: how to pick one.\u003c\/p\u003e \u003cp\u003eWhy you should use a standard license.\u003c\/p\u003e \u003cp\u003eVarieties of Open-Source Licensing.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003e20. Futures.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003eEssence and accident in Unix tradition.\u003c\/p\u003e \u003cp\u003eProblems in the design of Unix.\u003c\/p\u003e \u003cp\u003eProblems in the environment of Unix.\u003c\/p\u003e \u003cp\u003eProblems in the culture of Unix.\u003c\/p\u003e \u003cp\u003eReasons to believe.\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003eA. Glossary of Abbreviations.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003eB. References.\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e \u003cbr\u003e\u003c\/p\u003e \u003cp\u003e \u003cstrong\u003eC. Contributors.\u003c\/strong\u003e\u003c\/p\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":48864168477015,"sku":"9780131429017","price":38.47,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780131429017.jpg?v=1722270711"},{"product_id":"unix-and-linux-system-administration-handbook-9780134277554","title":"UNIX and Linux System Administration Handbook","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003eEvi Nemeth\u003c\/strong\u003e 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.\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eGarth Snyder \u003c\/strong\u003ehas 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.\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eTrent R. Hein\u003c\/strong\u003e (@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.\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eBen Whaley\u003c\/strong\u003e is the founder of WhaleTech, an independent consultancy. He was honored by Amazon as one of the first\u003c\/p\u003e","brand":"Penguin Putnam Inc","offers":[{"title":"Default Title","offer_id":48864170115415,"sku":"9780134277554","price":51.29,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780134277554.jpg?v=1722270718"},{"product_id":"ubuntu-linux-unleashed-2021-edition-9780136778851","title":"Ubuntu Linux Unleashed 2021 Edition","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003eMatthew Helmke\u003c\/strong\u003e has used Ubuntu since 2005. He has written about Linux for several magazines and websites, is a lead author of \u003cem\u003eThe Official Ubuntu Book\u003c\/em\u003e, and has coauthored both \u003cem\u003eA Practical Guide to Linux: Commands, Editors, and Shell Programming\u003c\/em\u003e and \u003cem\u003eThe VMware Cookbook\u003c\/em\u003e. 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.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003eIntroduction xxxi\u003c\/p\u003e PART I: GETTING STARTED Chapter 1 Installing Ubuntu and Post-Installation Configuration 1 \u003cp\u003eBefore You Begin the Installation 1\u003c\/p\u003e \u003cp\u003eResearching Your Hardware Specifications 2\u003c\/p\u003e \u003cp\u003eInstallation Options 2\u003c\/p\u003e \u003cp\u003e32-Bit Versus 64-Bit Ubuntu 4\u003c\/p\u003e \u003cp\u003ePlanning Partition Strategies 5\u003c\/p\u003e \u003cp\u003eThe Boot Loader 5\u003c\/p\u003e \u003cp\u003eInstalling from DVD or USB Drive 6\u003c\/p\u003e \u003cp\u003eStep-by-Step Installation 6\u003c\/p\u003e \u003cp\u003eInstalling 7\u003c\/p\u003e \u003cp\u003eFirst Update 11\u003c\/p\u003e \u003cp\u003eShutting Down 11\u003c\/p\u003e \u003cp\u003eFinding Programs and Files 12\u003c\/p\u003e \u003cp\u003eSoftware Updater 12\u003c\/p\u003e \u003cp\u003eThe sudo Command 14\u003c\/p\u003e \u003cp\u003eConfiguring Software Repositories 15\u003c\/p\u003e \u003cp\u003eSystem Settings 17\u003c\/p\u003e \u003cp\u003eDetecting and Configuring a Printer 18\u003c\/p\u003e \u003cp\u003eConfiguring Power Management in Ubuntu 18\u003c\/p\u003e \u003cp\u003eSetting the Time and Date 19\u003c\/p\u003e \u003cp\u003eConfiguring Wireless Networks 20\u003c\/p\u003e \u003cp\u003eTroubleshooting Post-Installation Configuration Problems 21\u003c\/p\u003e Chapter 2 Background Information and Resources 23 \u003cp\u003eWhat Is Linux? 23\u003c\/p\u003e \u003cp\u003eWhy Use Linux? 25\u003c\/p\u003e \u003cp\u003eWhat Is Ubuntu? 27\u003c\/p\u003e \u003cp\u003eUbuntu for Business 27\u003c\/p\u003e \u003cp\u003eUbuntu in Your Home 28\u003c\/p\u003e \u003cp\u003eGetting the Most from Linux and Ubuntu Documentation 28\u003c\/p\u003e \u003cp\u003eLinux 29\u003c\/p\u003e \u003cp\u003eUbuntu 30\u003c\/p\u003e PART II: DESKTOP UBUNTU Chapter 3 Foundations of the Linux GUI 31 \u003cp\u003eFoundations and the X Server 31\u003c\/p\u003e \u003cp\u003eBasic X Concepts 32\u003c\/p\u003e \u003cp\u003eUsing X 33\u003c\/p\u003e \u003cp\u003eElements of the xorg conf File 34\u003c\/p\u003e \u003cp\u003eStarting X 39\u003c\/p\u003e \u003cp\u003eUsing a Display Manager 39\u003c\/p\u003e \u003cp\u003eChanging Window Managers 39\u003c\/p\u003e Chapter 4 Ubuntu Desktop Options 41 \u003cp\u003eDesktop Environment 41\u003c\/p\u003e \u003cp\u003eUsing GNOME: A Primer 42\u003c\/p\u003e \u003cp\u003eKDE and Kubuntu 45\u003c\/p\u003e \u003cp\u003eXfce and Xubuntu 46\u003c\/p\u003e \u003cp\u003eLXDE and Lubuntu 47\u003c\/p\u003e \u003cp\u003eMATE and Ubuntu MATE 48\u003c\/p\u003e \u003cp\u003eUbuntu Budgie 49\u003c\/p\u003e \u003cp\u003eUbuntu Kylin 50\u003c\/p\u003e Chapter 5 On the Internet 51 \u003cp\u003eGetting Started with Firefox 52\u003c\/p\u003e \u003cp\u003eChecking Out Google Chrome and Chromium 53\u003c\/p\u003e Chapter 6 Productivity Applications 55 \u003cp\u003eIntroducing LibreOffice 56\u003c\/p\u003e \u003cp\u003eOther Useful Productivity Software 58\u003c\/p\u003e \u003cp\u003eWorking with PDFs 58\u003c\/p\u003e \u003cp\u003eWriting Scripts 59\u003c\/p\u003e \u003cp\u003eWorking with XML and DocBook 59\u003c\/p\u003e \u003cp\u003eWorking with LaTeX 60\u003c\/p\u003e \u003cp\u003eCreating Mind Maps 61\u003c\/p\u003e \u003cp\u003eProductivity Applications Written for Microsoft Windows 61\u003c\/p\u003e Chapter 7 Multimedia Applications 63 \u003cp\u003eSound and Music 63\u003c\/p\u003e \u003cp\u003eSound Cards 64\u003c\/p\u003e \u003cp\u003eSound Formats 65\u003c\/p\u003e \u003cp\u003eListening to Music 65\u003c\/p\u003e \u003cp\u003eGraphics Manipulation 66\u003c\/p\u003e \u003cp\u003eThe GNU Image Manipulation Program 66\u003c\/p\u003e \u003cp\u003eUsing Scanners in Ubuntu 67\u003c\/p\u003e \u003cp\u003eWorking with Graphics Formats 67\u003c\/p\u003e \u003cp\u003eCapturing Screen Images 69\u003c\/p\u003e \u003cp\u003eOther Graphics Manipulation Options 70\u003c\/p\u003e \u003cp\u003eUsing Digital Cameras with Ubuntu 70\u003c\/p\u003e \u003cp\u003eHandheld Digital Cameras 70\u003c\/p\u003e \u003cp\u003eUsing Shotwell Photo Manager 71\u003c\/p\u003e \u003cp\u003eBurning CDs and DVDs in Ubuntu 71\u003c\/p\u003e \u003cp\u003eCreating CDs and DVDs with Brasero 71\u003c\/p\u003e \u003cp\u003eCreating CDs from the Command Line 72\u003c\/p\u003e \u003cp\u003eCreating DVDs from the Command Line 73\u003c\/p\u003e \u003cp\u003eViewing Video 75\u003c\/p\u003e \u003cp\u003eVideo Formats 75\u003c\/p\u003e \u003cp\u003eViewing Video in Linux 76\u003c\/p\u003e \u003cp\u003eRecording and Editing Audio 76\u003c\/p\u003e \u003cp\u003eEditing Video 77\u003c\/p\u003e Chapter 8 Games 79 \u003cp\u003eUbuntu Gaming 79\u003c\/p\u003e \u003cp\u003eInstalling Proprietary Video Drivers 80\u003c\/p\u003e \u003cp\u003eOnline Game Sources 81\u003c\/p\u003e \u003cp\u003eSteam 81\u003c\/p\u003e \u003cp\u003eGOG com 82\u003c\/p\u003e \u003cp\u003eHumble 82\u003c\/p\u003e \u003cp\u003eitch io 82\u003c\/p\u003e \u003cp\u003eLGDB 82\u003c\/p\u003e \u003cp\u003eGame Jolt 82\u003c\/p\u003e \u003cp\u003eInstalling Games from the Ubuntu Repositories 82\u003c\/p\u003e \u003cp\u003eWarsow 82\u003c\/p\u003e \u003cp\u003eScorched 3D 83\u003c\/p\u003e \u003cp\u003eFrozen Bubble 84\u003c\/p\u003e \u003cp\u003eSuperTux 84\u003c\/p\u003e \u003cp\u003eBattle for Wesnoth 85\u003c\/p\u003e \u003cp\u003eFrets on Fire 85\u003c\/p\u003e \u003cp\u003eFlightGear 87\u003c\/p\u003e \u003cp\u003eSpeed Dreams 87\u003c\/p\u003e \u003cp\u003eGames for Kids 88\u003c\/p\u003e \u003cp\u003eCommercial Games 88\u003c\/p\u003e \u003cp\u003ePlaying Windows Games 88\u003c\/p\u003e PART III: SYSTEM ADMINISTRATION Chapter 9 Managing Software 91 \u003cp\u003eUbuntu Software 91\u003c\/p\u003e \u003cp\u003eUsing Synaptic for Software Management 92\u003c\/p\u003e \u003cp\u003eStaying Up to Date 94\u003c\/p\u003e \u003cp\u003eWorking on the Command Line 95\u003c\/p\u003e \u003cp\u003eDay-to-Day APT Usage 95\u003c\/p\u003e \u003cp\u003eFinding Software 98\u003c\/p\u003e \u003cp\u003eUsing apt-get Instead of apt 99\u003c\/p\u003e \u003cp\u003eCompiling Software from Source 100\u003c\/p\u003e \u003cp\u003eCompiling from a Tarball 100\u003c\/p\u003e \u003cp\u003eCompiling from Source from the Ubuntu Repositories 101\u003c\/p\u003e \u003cp\u003eConfiguration Management 102\u003c\/p\u003e \u003cp\u003edotdee 102\u003c\/p\u003e \u003cp\u003eUbuntu Core 103\u003c\/p\u003e \u003cp\u003eUsing the Snappy Package Manager 103\u003c\/p\u003e Chapter 10 Command-Line Beginner's Class 105 \u003cp\u003eWhat Is the Command Line? 106\u003c\/p\u003e \u003cp\u003eAccessing the Command Line 107\u003c\/p\u003e \u003cp\u003eText-Based Console Login 107\u003c\/p\u003e \u003cp\u003eLogging Out 108\u003c\/p\u003e \u003cp\u003eLogging In and Out from a Remote Computer 108\u003c\/p\u003e \u003cp\u003eUser Accounts 109\u003c\/p\u003e \u003cp\u003eReading Documentation 111\u003c\/p\u003e \u003cp\u003eUsing Man Pages 111\u003c\/p\u003e \u003cp\u003eUsing apropros 112\u003c\/p\u003e \u003cp\u003eUsing whereis 112\u003c\/p\u003e \u003cp\u003eUnderstanding the Linux File System Hierarchy 112\u003c\/p\u003e \u003cp\u003eEssential Commands in \/bin and \/sbin 114\u003c\/p\u003e \u003cp\u003eConfiguration Files in \/etc 114\u003c\/p\u003e \u003cp\u003eUser Directories: \/home 115\u003c\/p\u003e \u003cp\u003eUsing the Contents of the \/proc Directory to Interact with or Obtain Information from the Kernel 115\u003c\/p\u003e \u003cp\u003eWorking with Shared Data in the \/usr Directory 117\u003c\/p\u003e \u003cp\u003eTemporary File Storage in the \/tmp Directory 117\u003c\/p\u003e \u003cp\u003eAccessing Variable Data Files in the \/var Directory 117\u003c\/p\u003e \u003cp\u003eNavigating the Linux File System 117\u003c\/p\u003e \u003cp\u003eListing the Contents of a Directory with ls 118\u003c\/p\u003e \u003cp\u003eChanging Directories with cd 120\u003c\/p\u003e \u003cp\u003eFinding Your Current Directory with pwd 120\u003c\/p\u003e \u003cp\u003eWorking with Permissions 120\u003c\/p\u003e \u003cp\u003eAssigning Permissions 121\u003c\/p\u003e \u003cp\u003eDirectory Permissions 122\u003c\/p\u003e \u003cp\u003eAltering File Permissions with chmod 123\u003c\/p\u003e \u003cp\u003eFile Permissions with umask 124\u003c\/p\u003e \u003cp\u003eFile Permissions with chgrp 125\u003c\/p\u003e \u003cp\u003eChanging File Permissions with chown 125\u003c\/p\u003e \u003cp\u003eUnderstanding Set User ID, Set Group ID, and Sticky Bit Permissions 125\u003c\/p\u003e \u003cp\u003eSetting Permissions with Access Control Lists 127\u003c\/p\u003e \u003cp\u003eWorking with Files 128\u003c\/p\u003e \u003cp\u003eCreating a File with touch 128\u003c\/p\u003e \u003cp\u003eCreating a Directory with mkdir 129\u003c\/p\u003e \u003cp\u003eDeleting a Directory with rmdir 129\u003c\/p\u003e \u003cp\u003eDeleting a File or Directory with rm 130\u003c\/p\u003e \u003cp\u003eMoving or Renaming a File with mv 131\u003c\/p\u003e \u003cp\u003eCopying a File with cp 131\u003c\/p\u003e \u003cp\u003eDisplaying the Contents of a File with cat 132\u003c\/p\u003e \u003cp\u003eDisplaying the Contents of a File with less 132\u003c\/p\u003e \u003cp\u003eUsing Wildcards and Regular Expressions 133\u003c\/p\u003e \u003cp\u003eWorking as Root 133\u003c\/p\u003e \u003cp\u003eUnderstanding and Fixing sudo 134\u003c\/p\u003e \u003cp\u003eCreating Users 136\u003c\/p\u003e \u003cp\u003eDeleting Users 137\u003c\/p\u003e \u003cp\u003eShutting Down the System 137\u003c\/p\u003e \u003cp\u003eRebooting the System 138\u003c\/p\u003e \u003cp\u003eCommonly Used Commands and Programs 139\u003c\/p\u003e Chapter 11 Command-Line Master Class, Part 1 141 \u003cp\u003eWhy Use the Command Line? 142\u003c\/p\u003e \u003cp\u003eUsing Basic Commands 143\u003c\/p\u003e \u003cp\u003ePrinting the Contents of a File with cat 144\u003c\/p\u003e \u003cp\u003eChanging Directories with cd 145\u003c\/p\u003e \u003cp\u003eChanging File Access Permissions with chmod 147\u003c\/p\u003e \u003cp\u003eCopying Files with cp 147\u003c\/p\u003e \u003cp\u003ePrinting Disk Usage with du 148\u003c\/p\u003e \u003cp\u003eUsing echo 148\u003c\/p\u003e \u003cp\u003eFinding Files by Searching with find 149\u003c\/p\u003e \u003cp\u003eSearches for a String in Input with grep 151\u003c\/p\u003e \u003cp\u003ePaging Through Output with less 152\u003c\/p\u003e \u003cp\u003eCreating Links Between Files with ln 154\u003c\/p\u003e \u003cp\u003eFinding Files from an Index with locate 156\u003c\/p\u003e \u003cp\u003eListing Files in the Current Directory with ls 156\u003c\/p\u003e \u003cp\u003eListing System Information with lsblk, lshw, lsmod, lspci, and neofetch 158\u003c\/p\u003e \u003cp\u003eReading Manual Pages with man 159\u003c\/p\u003e \u003cp\u003eMaking Directories with mkdir 160\u003c\/p\u003e \u003cp\u003eMoving Files with mv 161\u003c\/p\u003e \u003cp\u003eRenaming Files with rename 161\u003c\/p\u003e \u003cp\u003eDeleting Files and Directories with rm 161\u003c\/p\u003e \u003cp\u003eSorting the Contents of a File with sort 162\u003c\/p\u003e \u003cp\u003ePrinting the Last Lines of a File with tail 163\u003c\/p\u003e \u003cp\u003ePrinting the Location of a Command with which 164\u003c\/p\u003e \u003cp\u003eDownloading Files with wget 164\u003c\/p\u003e Chapter 12 Command-Line Master Class, Part 2 167 \u003cp\u003eRedirecting Output and Input 167\u003c\/p\u003e \u003cp\u003estdin, stdout, stderr, and Redirection 169\u003c\/p\u003e \u003cp\u003eComparing Files 170\u003c\/p\u003e \u003cp\u003eFinding Differences in Files with diff 170\u003c\/p\u003e \u003cp\u003eFinding Similarities in Files with comm 170\u003c\/p\u003e \u003cp\u003eLimiting Resource Use and Job Control 171\u003c\/p\u003e \u003cp\u003eListing Processes with ps 171\u003c\/p\u003e \u003cp\u003eListing Jobs with jobs 173\u003c\/p\u003e \u003cp\u003eRunning One or More Tasks in the Background 173\u003c\/p\u003e \u003cp\u003eMoving Jobs to the Background or Foreground with bg and fg 174\u003c\/p\u003e \u003cp\u003ePrinting Resource Usage with top 175\u003c\/p\u003e \u003cp\u003eSetting Process Priority with nice 177\u003c\/p\u003e \u003cp\u003eCombining Commands 178\u003c\/p\u003e \u003cp\u003ePipes 178\u003c\/p\u003e \u003cp\u003eCombining Commands with Boolean Operators 180\u003c\/p\u003e \u003cp\u003eRunning Separate Commands in Sequence 180\u003c\/p\u003e \u003cp\u003eProcess Substitution 181\u003c\/p\u003e \u003cp\u003eExecuting Jobs in Parallel 181\u003c\/p\u003e \u003cp\u003eUsing Environment Variables 182\u003c\/p\u003e \u003cp\u003eUsing Common Text Editors 185\u003c\/p\u003e \u003cp\u003eWorking with nano 186\u003c\/p\u003e \u003cp\u003eWorking with vi 187\u003c\/p\u003e \u003cp\u003eWorking with emacs 188\u003c\/p\u003e \u003cp\u003eWorking with sed and awk 189\u003c\/p\u003e \u003cp\u003eWorking with Compressed Files 191\u003c\/p\u003e \u003cp\u003eUsing Multiple Terminals with byobu192\u003c\/p\u003e \u003cp\u003eDoing a Polite System Reset Using REISUB 194\u003c\/p\u003e \u003cp\u003eFixing an Ubuntu System That Will Not Boot 195\u003c\/p\u003e \u003cp\u003eChecking BIOS 195\u003c\/p\u003e \u003cp\u003eChecking GRUB 195\u003c\/p\u003e \u003cp\u003eReinstalling GRUB 195\u003c\/p\u003e \u003cp\u003eUsing Recovery Mode 196\u003c\/p\u003e \u003cp\u003eReinstalling Ubuntu 196\u003c\/p\u003e \u003cp\u003eTips and Tricks 196\u003c\/p\u003e \u003cp\u003eRunning the Previous Command 196\u003c\/p\u003e \u003cp\u003eRunning Any Previous Command 197\u003c\/p\u003e \u003cp\u003eRunning a Previous Command That Started with Specific Letters 197\u003c\/p\u003e \u003cp\u003eRunning the Same Thing You Just Ran with a Different First Word 197\u003c\/p\u003e \u003cp\u003eViewing Your History and More 197\u003c\/p\u003e \u003cp\u003eDoing Two or More Things 198\u003c\/p\u003e \u003cp\u003eUsing Shortcuts 198\u003c\/p\u003e \u003cp\u003eConfining a Script to a Directory 198\u003c\/p\u003e \u003cp\u003eUsing Coreutils 199\u003c\/p\u003e \u003cp\u003eReading the Contents of the Kernel Ring Buffer with dmesg 200\u003c\/p\u003e Chapter 13 Managing Users 201 \u003cp\u003eUser Accounts 201\u003c\/p\u003e \u003cp\u003eThe Super User\/Root User 202\u003c\/p\u003e \u003cp\u003eUser IDs and Group IDs 204\u003c\/p\u003e \u003cp\u003eFile Permissions 204\u003c\/p\u003e \u003cp\u003eManaging Groups 205\u003c\/p\u003e \u003cp\u003eGroup Listing 205\u003c\/p\u003e \u003cp\u003eGroup Management Tools 206\u003c\/p\u003e \u003cp\u003eManaging Users 207\u003c\/p\u003e \u003cp\u003eUser Management Tools 208\u003c\/p\u003e \u003cp\u003eAdding New Users 209\u003c\/p\u003e \u003cp\u003eMonitoring User Activity on the System 211\u003c\/p\u003e \u003cp\u003eManaging Passwords 212\u003c\/p\u003e \u003cp\u003eSystem Password Policy 212\u003c\/p\u003e \u003cp\u003eThe Password File 212\u003c\/p\u003e \u003cp\u003eShadow Passwords 214\u003c\/p\u003e \u003cp\u003eManaging Password Security for Users 216\u003c\/p\u003e \u003cp\u003eChanging Passwords in a Batch 216\u003c\/p\u003e \u003cp\u003eGranting System Administrator Privileges to Regular Users 217\u003c\/p\u003e \u003cp\u003eTemporarily Changing User Identity with the su Command 217\u003c\/p\u003e \u003cp\u003eGranting Root Privileges on Occasion: The sudo Command 219\u003c\/p\u003e \u003cp\u003eDisk Quotas 222\u003c\/p\u003e \u003cp\u003eImplementing Quotas 222\u003c\/p\u003e \u003cp\u003eManually Configuring Quotas 223\u003c\/p\u003e \u003cp\u003eRelated Ubuntu Commands 223\u003c\/p\u003e Chapter 14 Automating Tasks and Shell Scripting 225 \u003cp\u003eWhat Is a Shell? 225\u003c\/p\u003e \u003cp\u003eScheduling Tasks 226\u003c\/p\u003e \u003cp\u003eUsing at and batch to Schedule Tasks for Later 227\u003c\/p\u003e \u003cp\u003eUsing cron to Run Jobs Repeatedly 229\u003c\/p\u003e \u003cp\u003eUsing rtcwake to Wake Your Computer from Sleep Automatically 231\u003c\/p\u003e \u003cp\u003eBasic Shell Control 233\u003c\/p\u003e \u003cp\u003eThe Shell Command Line 233\u003c\/p\u003e \u003cp\u003eShell Pattern-Matching Support 235\u003c\/p\u003e \u003cp\u003eRedirecting Input and Output 236\u003c\/p\u003e \u003cp\u003ePiping Data 237\u003c\/p\u003e \u003cp\u003eBackground Processing 237\u003c\/p\u003e \u003cp\u003eWriting and Executing a Shell Script 237\u003c\/p\u003e \u003cp\u003eRunning the New Shell Program 239\u003c\/p\u003e \u003cp\u003eStoring Shell Scripts for System-wide Access 240\u003c\/p\u003e \u003cp\u003eInterpreting Shell Scripts Through Specific Shells 240\u003c\/p\u003e \u003cp\u003eUsing Variables in Shell Scripts 242\u003c\/p\u003e \u003cp\u003eAssigning a Value to a Variable 242\u003c\/p\u003e \u003cp\u003eAccessing Variable Values 243\u003c\/p\u003e \u003cp\u003ePositional Parameters 243\u003c\/p\u003e \u003cp\u003eA Simple Example of a Positional Parameter 243\u003c\/p\u003e \u003cp\u003eUsing Positional Parameters to Access and Retrieve Variables from the Command Line 244\u003c\/p\u003e \u003cp\u003eUsing a Simple Script to Automate Tasks 244\u003c\/p\u003e \u003cp\u003eBuilt-in Variables 246\u003c\/p\u003e \u003cp\u003eSpecial Characters 247\u003c\/p\u003e \u003cp\u003eComparison of Expressions in pdksh and bash 250\u003c\/p\u003e \u003cp\u003eComparing Expressions with tcsh 255\u003c\/p\u003e \u003cp\u003eThe for Statement 259\u003c\/p\u003e \u003cp\u003eThe while Statement 261\u003c\/p\u003e \u003cp\u003eThe until Statement 263\u003c\/p\u003e \u003cp\u003eThe repeat Statement (tcsh) 263\u003c\/p\u003e \u003cp\u003eThe select Statement (pdksh) 264\u003c\/p\u003e \u003cp\u003eThe shift Statement 264\u003c\/p\u003e \u003cp\u003eThe if Statement 265\u003c\/p\u003e \u003cp\u003eThe expr Statement 266\u003c\/p\u003e \u003cp\u003eThe case Statement 267\u003c\/p\u003e \u003cp\u003eThe break and exit Statements 269\u003c\/p\u003e \u003cp\u003eUsing Functions in Shell Scripts 269\u003c\/p\u003e Chapter 15 The Boot Process 271 \u003cp\u003eRunning Services at Boot 271\u003c\/p\u003e \u003cp\u003eBeginning the Boot Loading Process 272\u003c\/p\u003e \u003cp\u003eLoading the Linux Kernel 274\u003c\/p\u003e \u003cp\u003eStarting and Stopping Services with systemd 275\u003c\/p\u003e \u003cp\u003eControlling Services at Boot with Administrative Tools 278\u003c\/p\u003e \u003cp\u003eTroubleshooting Runlevel Problems 278\u003c\/p\u003e \u003cp\u003eBoot-Repair 278\u003c\/p\u003e Chapter 16 System-Monitoring Tools 281 \u003cp\u003eConsole-Based Monitoring 281\u003c\/p\u003e \u003cp\u003eUsing the kill Command to Control Processes 283\u003c\/p\u003e \u003cp\u003eUsing Priority Scheduling and Control 285\u003c\/p\u003e \u003cp\u003eDisplaying Free and Used Memory with free 286\u003c\/p\u003e \u003cp\u003eDisk Space 286\u003c\/p\u003e \u003cp\u003eDisk Quotas 287\u003c\/p\u003e \u003cp\u003eChecking Log Files 287\u003c\/p\u003e \u003cp\u003eRotating Log Files 289\u003c\/p\u003e \u003cp\u003eGraphical Process- and System-Management Tools 292\u003c\/p\u003e \u003cp\u003eSystem Monitor 292\u003c\/p\u003e \u003cp\u003eConky 292\u003c\/p\u003e \u003cp\u003eOther Graphical Process- and System-Monitoring Tools 297\u003c\/p\u003e \u003cp\u003eKDE Process- and System-Monitoring Tools 298\u003c\/p\u003e \u003cp\u003eEnterprise Server Monitoring 298\u003c\/p\u003e Chapter 17 Backing Up 301 \u003cp\u003eChoosing a Backup Strategy 301\u003c\/p\u003e \u003cp\u003eWhy Data Loss Occurs 302\u003c\/p\u003e \u003cp\u003eAssessing Your Backup Needs and Resources 303\u003c\/p\u003e \u003cp\u003eEvaluating Backup Strategies 304\u003c\/p\u003e \u003cp\u003eMaking the Choice 308\u003c\/p\u003e \u003cp\u003eChoosing Backup Hardware and Media 308\u003c\/p\u003e \u003cp\u003eExternal Hard Drive 308\u003c\/p\u003e \u003cp\u003eNetwork Storage 308\u003c\/p\u003e \u003cp\u003eTape Drive Backups 309\u003c\/p\u003e \u003cp\u003eCloud Storage 309\u003c\/p\u003e \u003cp\u003eUsing Backup Software 309\u003c\/p\u003e \u003cp\u003etar: The Most Basic Backup Tool 310\u003c\/p\u003e \u003cp\u003eThe GNOME File Roller 312\u003c\/p\u003e \u003cp\u003eThe KDE ark Archiving Tool 312\u003c\/p\u003e \u003cp\u003eDéjà Dup 313\u003c\/p\u003e \u003cp\u003eBack In Time 314\u003c\/p\u003e \u003cp\u003eUnison 315\u003c\/p\u003e \u003cp\u003eAmanda 315\u003c\/p\u003e \u003cp\u003eAlternative Backup Software 316\u003c\/p\u003e \u003cp\u003eCopying Files 316\u003c\/p\u003e \u003cp\u003eCopying Files Using tar 317\u003c\/p\u003e \u003cp\u003eCompressing, Encrypting, and Sending tar Streams 318\u003c\/p\u003e \u003cp\u003eCopying Files Using cp 318\u003c\/p\u003e \u003cp\u003eUsing rsync 319\u003c\/p\u003e \u003cp\u003eVersion Control for Configuration Files 320\u003c\/p\u003e \u003cp\u003eSystem Rescue 323\u003c\/p\u003e \u003cp\u003eThe Ubuntu Rescue Disc 323\u003c\/p\u003e \u003cp\u003eRestoring the GRUB2 Boot Loader 323\u003c\/p\u003e \u003cp\u003eSaving Files from a Nonbooting Hard Drive 324\u003c\/p\u003e Chapter 18 Networking 325 \u003cp\u003eLaying the Foundation: The localhost Interface 326\u003c\/p\u003e \u003cp\u003eChecking for the Availability of the Loopback Interface 326\u003c\/p\u003e \u003cp\u003eConfiguring the Loopback Interface Manually 327\u003c\/p\u003e \u003cp\u003eChecking Connections with ping, traceroute, and mtr 328\u003c\/p\u003e \u003cp\u003eNetworking with TCP\/IP 330\u003c\/p\u003e \u003cp\u003eTCP\/IP Addressing 331\u003c\/p\u003e \u003cp\u003eUsing IP Masquerading in Ubuntu 332\u003c\/p\u003e \u003cp\u003ePorts 333\u003c\/p\u003e \u003cp\u003eIPv6 Basics 334\u003c\/p\u003e \u003cp\u003eNetwork Organization 337\u003c\/p\u003e \u003cp\u003eSubnetting 337\u003c\/p\u003e \u003cp\u003eSubnet Masks 337\u003c\/p\u003e \u003cp\u003eBroadcast, Unicast, and Multicast Addressing 338\u003c\/p\u003e \u003cp\u003eHardware Devices for Networking 338\u003c\/p\u003e \u003cp\u003eNetwork Interface Cards 338\u003c\/p\u003e \u003cp\u003eNetwork Cable 340\u003c\/p\u003e \u003cp\u003eHubs and Switches 342\u003c\/p\u003e \u003cp\u003eRouters and Bridges 343\u003c\/p\u003e \u003cp\u003eInitializing New Network Hardware 343\u003c\/p\u003e \u003cp\u003eUsing Network Configuration Tools 345\u003c\/p\u003e \u003cp\u003eCommand-Line Network Interface Configuration 346\u003c\/p\u003e \u003cp\u003eNetwork Configuration Files 350\u003c\/p\u003e \u003cp\u003eUsing Graphical Configuration Tools 355\u003c\/p\u003e \u003cp\u003eDynamic Host Configuration Protocol 355\u003c\/p\u003e \u003cp\u003eHow DHCP Works 356\u003c\/p\u003e \u003cp\u003eActivating DHCP at Installation and Boot Time 357\u003c\/p\u003e \u003cp\u003eDHCP Software Installation and Configuration 358\u003c\/p\u003e \u003cp\u003eUsing DHCP to Configure Network Hosts 359\u003c\/p\u003e \u003cp\u003eOther Uses for DHCP 361\u003c\/p\u003e \u003cp\u003eWireless Networking 361\u003c\/p\u003e \u003cp\u003eSupport for Wireless Networking in Ubuntu 361\u003c\/p\u003e \u003cp\u003eChoosing from Among Available Wireless Protocols 363\u003c\/p\u003e \u003cp\u003eBeyond the Network and onto the Internet 363\u003c\/p\u003e \u003cp\u003eCommon Configuration Information 364\u003c\/p\u003e \u003cp\u003eConfiguring Digital Subscriber Line Access 365\u003c\/p\u003e \u003cp\u003eUnderstanding PPP over Ethernet 366\u003c\/p\u003e \u003cp\u003eConfiguring a PPPoE Connection Manually 366\u003c\/p\u003e \u003cp\u003eConfiguring Dial-up Internet Access 367\u003c\/p\u003e \u003cp\u003eTroubleshooting Connection Problems 368\u003c\/p\u003e Chapter 19 Remote Access with SSH and VNC 371 \u003cp\u003eSetting Up an SSH Server 371\u003c\/p\u003e \u003cp\u003eSSH Tools 372\u003c\/p\u003e \u003cp\u003eUsing scp to Copy Individual Files Between Machines 372\u003c\/p\u003e \u003cp\u003eUsing sftp to Copy Many Files Between Machines 373\u003c\/p\u003e \u003cp\u003eUsing ssh-keygen to Enable Key-Based Logins 373\u003c\/p\u003e \u003cp\u003eVirtual Network Computing 375\u003c\/p\u003e \u003cp\u003eGuacamole 377\u003c\/p\u003e Chapter 20 Securing Your Machines 379 \u003cp\u003eUnderstanding Computer Attacks 379\u003c\/p\u003e \u003cp\u003eAssessing Your Vulnerability 381\u003c\/p\u003e \u003cp\u003eProtecting Your Machine 382\u003c\/p\u003e \u003cp\u003eSecuring a Wireless Network 382\u003c\/p\u003e \u003cp\u003ePasswords and Physical Security 383\u003c\/p\u003e \u003cp\u003eConfiguring and Using Tripwire 384\u003c\/p\u003e \u003cp\u003eSecuring Devices 385\u003c\/p\u003e \u003cp\u003eViruses 385\u003c\/p\u003e \u003cp\u003eConfiguring Your Firewall 386\u003c\/p\u003e \u003cp\u003eAppArmor 388\u003c\/p\u003e \u003cp\u003eForming a Disaster Recovery Plan 390\u003c\/p\u003e Chapter 21 Performance Tuning 393 \u003cp\u003eStorage Disk 394\u003c\/p\u003e \u003cp\u003eLinux File Systems 394\u003c\/p\u003e \u003cp\u003eThe hdparm Command 395\u003c\/p\u003e \u003cp\u003eFile System Tuning 396\u003c\/p\u003e \u003cp\u003eThe tune2fs Command 396\u003c\/p\u003e \u003cp\u003eThe e2fsck Command 397\u003c\/p\u003e \u003cp\u003eThe badblocks Command 397\u003c\/p\u003e \u003cp\u003eDisabling File Access Time 397\u003c\/p\u003e \u003cp\u003eKernel 398\u003c\/p\u003e \u003cp\u003eTuned 399\u003c\/p\u003e Chapter 22 Kernel and Module Management 401 \u003cp\u003eThe Linux Kernel 402\u003c\/p\u003e \u003cp\u003eThe Linux Source Tree 403\u003c\/p\u003e \u003cp\u003eTypes of Kernels 405\u003c\/p\u003e \u003cp\u003eManaging Modules 406\u003c\/p\u003e \u003cp\u003eWhen to Recompile 408\u003c\/p\u003e \u003cp\u003eKernel Versions 409\u003c\/p\u003e \u003cp\u003eObtaining the Kernel Sources 409\u003c\/p\u003e \u003cp\u003ePatching the Kernel 410\u003c\/p\u003e \u003cp\u003eCompiling the Kernel 412\u003c\/p\u003e \u003cp\u003eUsing xconfig to Configure the Kernel 414\u003c\/p\u003e \u003cp\u003eCreating an Initial RAM Disk Image 418\u003c\/p\u003e \u003cp\u003eWhen Something Goes Wrong 418\u003c\/p\u003e \u003cp\u003eErrors During Compile 418\u003c\/p\u003e \u003cp\u003eRuntime Errors, Boot Loader Problems, and Kernel Oops 419\u003c\/p\u003e PART IV: UBUNTU AS A SERVER Chapter 23 Sharing Files and Printers 421 \u003cp\u003eUsing Network File System 422\u003c\/p\u003e \u003cp\u003eInstalling and Starting or Stopping NFS 422\u003c\/p\u003e \u003cp\u003eNFS Server Configuration 422\u003c\/p\u003e \u003cp\u003eNFS Client Configuration 423\u003c\/p\u003e \u003cp\u003ePutting Samba to Work 424\u003c\/p\u003e \u003cp\u003eManually Configuring Samba with \/etc\/samba\/smb conf 426\u003c\/p\u003e \u003cp\u003eTesting Samba with the testparm Command 429\u003c\/p\u003e \u003cp\u003eStarting, Stopping, and Restarting the smbd Daemon 429\u003c\/p\u003e \u003cp\u003eMounting Samba Shares 430\u003c\/p\u003e \u003cp\u003eNetwork and Remote Printing with Ubuntu 431\u003c\/p\u003e \u003cp\u003eCreating Network Printers 431\u003c\/p\u003e \u003cp\u003eUsing the CUPS GUI 433\u003c\/p\u003e \u003cp\u003eAvoiding Printer Support Problems 434\u003c\/p\u003e Chapter 24 Common Web Server Stacks 437 \u003cp\u003eLAMP 437\u003c\/p\u003e \u003cp\u003eLEMP 439\u003c\/p\u003e \u003cp\u003eMEAN 440\u003c\/p\u003e Chapter 25 Apache Web Server Management 443 \u003cp\u003eAbout the Apache Web Server 443\u003c\/p\u003e \u003cp\u003eInstalling the Apache Server 444\u003c\/p\u003e \u003cp\u003eStarting and Stopping Apache 444\u003c\/p\u003e \u003cp\u003eRuntime Server Configuration Settings 446\u003c\/p\u003e \u003cp\u003eRuntime Configuration Directives 446\u003c\/p\u003e \u003cp\u003eEditing apache2 conf 447\u003c\/p\u003e \u003cp\u003eApache Multiprocessing Modules 449\u003c\/p\u003e \u003cp\u003eUsing htaccess Configuration Files 450\u003c\/p\u003e \u003cp\u003eFile System Authentication and Access Control 452\u003c\/p\u003e \u003cp\u003eRestricting Access with Require 452\u003c\/p\u003e \u003cp\u003eAuthentication 453\u003c\/p\u003e \u003cp\u003eFinal Words on Access Control 455\u003c\/p\u003e \u003cp\u003eApache Modules 455\u003c\/p\u003e \u003cp\u003emod_access 456\u003c\/p\u003e \u003cp\u003emod_alias 456\u003c\/p\u003e \u003cp\u003emod_asis 456\u003c\/p\u003e \u003cp\u003emod_auth 457\u003c\/p\u003e \u003cp\u003emod_auth_anon 457\u003c\/p\u003e \u003cp\u003emod_auth_dbm 457\u003c\/p\u003e \u003cp\u003emod_auth_digest 457\u003c\/p\u003e \u003cp\u003emod_autoindex4 58\u003c\/p\u003e \u003cp\u003emod_cgi 458\u003c\/p\u003e \u003cp\u003emod_dir and mod_env 458\u003c\/p\u003e \u003cp\u003emod_expires 458\u003c\/p\u003e \u003cp\u003emod_headers 458\u003c\/p\u003e \u003cp\u003emod_include 459\u003c\/p\u003e \u003cp\u003emod_info and mod_log_config 459\u003c\/p\u003e \u003cp\u003emod_mime and mod_mime_magic 459\u003c\/p\u003e \u003cp\u003emod_negotiation 459\u003c\/p\u003e \u003cp\u003emod_rewrite 459\u003c\/p\u003e \u003cp\u003emod_setenvif 460\u003c\/p\u003e \u003cp\u003emod_speling 460\u003c\/p\u003e \u003cp\u003emod_status 460\u003c\/p\u003e \u003cp\u003emod_ssl 460\u003c\/p\u003e \u003cp\u003emod_unique_id 460\u003c\/p\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":48864173982039,"sku":"9780136778851","price":34.42,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780136778851.jpg?v=1722270737"},{"product_id":"advanced-programming-in-the-unix-environment-9780321637734","title":"Advanced Programming in the UNIX Environment","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003eThe late \u003cstrong\u003eW. Richard Stevens\u003c\/strong\u003e was the acclaimed author of \u003cem\u003eUNIX Network Programming,\u003c\/em\u003e Volumes 1 and 2, widely recognized as the classic texts in UNIX networking; \u003cem\u003eTCP\/IP Illustrated,\u003c\/em\u003e Volumes 1-3; and the first edition of this book.\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eStephen A. Rago\u003c\/strong\u003e is the author of \u003cem\u003eUNIX System V Network Programming\u003c\/em\u003e (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 \u003cem\u003eAdvanced Programming in the UNIX Environment\u003c\/em\u003e. Rago currently works as a research staff member in the Storage Systems Group at NEC Laboratories America.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003eForeword to the Second Edition xix\u003c\/p\u003e \u003cp\u003ePreface xxi\u003c\/p\u003e \u003cp\u003ePreface to the Second Edition xxv\u003c\/p\u003e \u003cp\u003ePreface to the First Edition xxix\u003c\/p\u003e \u003cp\u003eChapter 1: UNIX System Overview 1\u003c\/p\u003e 1.1 Introduction 1 \u003cp\u003e1.2 UNIX Architecture 1\u003c\/p\u003e \u003cp\u003e1.3 Logging In 2\u003c\/p\u003e \u003cp\u003e1.4 Files and Directories 4\u003c\/p\u003e \u003cp\u003e1.5 Input and Output 8\u003c\/p\u003e \u003cp\u003e1.6 Programs and Processes 10\u003c\/p\u003e \u003cp\u003e1.7 Error Handling 14\u003c\/p\u003e \u003cp\u003e1.8 User Identification 16\u003c\/p\u003e \u003cp\u003e1.9 Signals 18\u003c\/p\u003e \u003cp\u003e1.10 Time Values 20\u003c\/p\u003e \u003cp\u003e1.11 System Calls and Librar y Functions 21\u003c\/p\u003e \u003cp\u003e1.12 Summary 23\u003c\/p\u003e \u003cp\u003eChapter 2: UNIX Standardization and Implementations 25\u003c\/p\u003e 2.1 Introduction 25 \u003cp\u003e2.2 UNIX Standardization 25\u003c\/p\u003e \u003cp\u003e2.3 UNIX System Implementations 33\u003c\/p\u003e \u003cp\u003e2.4 Relationship of Standards and Implementations 36\u003c\/p\u003e \u003cp\u003e2.5 Limits 36\u003c\/p\u003e \u003cp\u003e2.6 Options 53\u003c\/p\u003e \u003cp\u003e2.7 Feature Test Macros 57\u003c\/p\u003e \u003cp\u003e2.8 Primitive System Data Types 58\u003c\/p\u003e \u003cp\u003e2.9 Differences Between Standards 58\u003c\/p\u003e \u003cp\u003e2.10 Summary 60\u003c\/p\u003e \u003cp\u003eChapter 3: File I\/O 61\u003c\/p\u003e 3.1 Introduction 61 \u003cp\u003e3.2 File Descr iptors 61\u003c\/p\u003e \u003cp\u003e3.3 open and openat Functions 62\u003c\/p\u003e \u003cp\u003e3.4 creat Function 66\u003c\/p\u003e \u003cp\u003e3.5 close Function 66\u003c\/p\u003e \u003cp\u003e3.6 lseek Function 66\u003c\/p\u003e \u003cp\u003e3.7 read Function 71\u003c\/p\u003e \u003cp\u003e3.8 write Function 72\u003c\/p\u003e \u003cp\u003e3.9 I\/O Efficiency 72\u003c\/p\u003e \u003cp\u003e3.10 File Shar ing 74\u003c\/p\u003e \u003cp\u003e3.11 Atomic Operations 77\u003c\/p\u003e \u003cp\u003e3.12 dup and dup2 Functions 79\u003c\/p\u003e \u003cp\u003e3.13 sync, fsync, and fdatasync Functions 81\u003c\/p\u003e \u003cp\u003e3.14 fcntl Function 82\u003c\/p\u003e \u003cp\u003e3.15 ioctl Function 87\u003c\/p\u003e \u003cp\u003e3.16 \/dev\/fd 88\u003c\/p\u003e \u003cp\u003e3.17 Summary 90\u003c\/p\u003e \u003cp\u003eChapter 4: Files and Directories 93\u003c\/p\u003e 4.1 Introduction 93 \u003cp\u003e4.2 stat, fstat, fstatat, and lstat Functions 93\u003c\/p\u003e \u003cp\u003e4.3 File Types 95\u003c\/p\u003e \u003cp\u003e4.4 Set-User-ID and Set-Group-ID 98\u003c\/p\u003e \u003cp\u003e4.5 File Access Per missions 99\u003c\/p\u003e \u003cp\u003e4.6 Ownership of New Files and Directories 101\u003c\/p\u003e \u003cp\u003e4.7 access and faccessat Functions 102\u003c\/p\u003e \u003cp\u003e4.8 umask Function 104\u003c\/p\u003e \u003cp\u003e4.9 chmod, fchmod, and fchmodat Functions 106\u003c\/p\u003e \u003cp\u003e4.10 Sticky Bit 108\u003c\/p\u003e \u003cp\u003e4.11 chown, fchown, fchownat, and lchown Functions 109\u003c\/p\u003e \u003cp\u003e4.12 File Size 111\u003c\/p\u003e \u003cp\u003e4.13 File Tr uncation 112\u003c\/p\u003e \u003cp\u003e4.14 File Systems 113\u003c\/p\u003e \u003cp\u003e4.15 link, linkat, unlink, unlinkat, and remove Functions 116\u003c\/p\u003e \u003cp\u003e4.16 rename and renameat Functions 119\u003c\/p\u003e \u003cp\u003e4.17 Symbolic Links 120\u003c\/p\u003e \u003cp\u003e4.18 Creating and Reading Symbolic Links 123\u003c\/p\u003e \u003cp\u003e4.19 File Times 124\u003c\/p\u003e \u003cp\u003e4.20 futimens, utimensat, and utimes Functions 126\u003c\/p\u003e \u003cp\u003e4.21 mkdir, mkdirat, and rmdir Functions 129\u003c\/p\u003e \u003cp\u003e4.22 Reading Director ies 130\u003c\/p\u003e \u003cp\u003e4.23 chdir, fchdir, and getcwd Functions 135\u003c\/p\u003e \u003cp\u003e4.24 Device Special Files 137\u003c\/p\u003e \u003cp\u003e4.25 Summary of File Access Per mission Bits 140\u003c\/p\u003e \u003cp\u003e4.26 Summary 140\u003c\/p\u003e \u003cp\u003eChapter 5: Standard I\/O Library 143\u003c\/p\u003e 5.1 Introduction 143 \u003cp\u003e5.2 Streams and FILE Objects 143\u003c\/p\u003e \u003cp\u003e5.3 Standard Input, Standard Output, and Standard Error 145\u003c\/p\u003e \u003cp\u003e5.4 Buffer ing 145\u003c\/p\u003e \u003cp\u003e5.5 Opening a Stream 148\u003c\/p\u003e \u003cp\u003e5.6 Reading and Writing a Stream 150\u003c\/p\u003e \u003cp\u003e5.7 Line-at-a-Time I\/O 152\u003c\/p\u003e \u003cp\u003e5.8 Standard I\/O Efficiency 153\u003c\/p\u003e \u003cp\u003e5.9 Binary I\/O 156\u003c\/p\u003e \u003cp\u003e5.10 Positioning a Stream 157\u003c\/p\u003e \u003cp\u003e5.11 For matted I\/O 159\u003c\/p\u003e \u003cp\u003e5.12 Implementation Details 164\u003c\/p\u003e \u003cp\u003e5.13 Temporar y Files 167\u003c\/p\u003e \u003cp\u003e5.14 Memory Streams 171\u003c\/p\u003e \u003cp\u003e5.15 Alternatives to Standard I\/O 174\u003c\/p\u003e \u003cp\u003e5.16 Summary 175\u003c\/p\u003e \u003cp\u003eChapter 6: System Data Files and Information 177\u003c\/p\u003e 6.1 Introduction 177 \u003cp\u003e6.2 Password File 177\u003c\/p\u003e \u003cp\u003e6.3 Shadow Passwords 181\u003c\/p\u003e \u003cp\u003e6.4 Group File 182\u003c\/p\u003e \u003cp\u003e6.5 Supplementary Group IDs 183\u003c\/p\u003e \u003cp\u003e6.6 Implementation Differences 184\u003c\/p\u003e \u003cp\u003e6.7 Other Data Files 185\u003c\/p\u003e \u003cp\u003e6.8 Login Accounting 186\u003c\/p\u003e \u003cp\u003e6.9 System Identification 187\u003c\/p\u003e \u003cp\u003e6.10 Time and Date Routines 189\u003c\/p\u003e \u003cp\u003e6.11 Summary 196\u003c\/p\u003e \u003cp\u003eChapter 7: Process Environment 197\u003c\/p\u003e 7.1 Introduction 197 \u003cp\u003e7.2 main Function 197\u003c\/p\u003e \u003cp\u003e7.3 Process Termination 198\u003c\/p\u003e \u003cp\u003e7.4 Command-Line Arguments 203\u003c\/p\u003e \u003cp\u003e7.5 Environment List 203\u003c\/p\u003e \u003cp\u003e7.6 Memory Lay out of a C Program 204\u003c\/p\u003e \u003cp\u003e7.7 Shared Librar ies 206\u003c\/p\u003e \u003cp\u003e7.8 Memory Allocation 207\u003c\/p\u003e \u003cp\u003e7.9 Environment Var iables 210\u003c\/p\u003e \u003cp\u003e7.10 setjmp and longjmp Functions 213\u003c\/p\u003e \u003cp\u003e7.11 getrlimit and setrlimit Functions 220\u003c\/p\u003e \u003cp\u003e7.12 Summary 225\u003c\/p\u003e \u003cp\u003eChapter 8: Process Control 227\u003c\/p\u003e 8.1 Introduction 227 \u003cp\u003e8.2 Process Identifiers 227\u003c\/p\u003e \u003cp\u003e8.3 fork Function 229\u003c\/p\u003e \u003cp\u003e8.4 vfork Function 234\u003c\/p\u003e \u003cp\u003e8.5 exit Functions 236\u003c\/p\u003e \u003cp\u003e8.6 wait and waitpid Functions 238\u003c\/p\u003e \u003cp\u003e8.7 waitid Function 244\u003c\/p\u003e \u003cp\u003e8.8 wait3 and wait4 Functions 245\u003c\/p\u003e \u003cp\u003e8.9 Race Conditions 245\u003c\/p\u003e \u003cp\u003e8.10 exec Functions 249\u003c\/p\u003e \u003cp\u003e8.11 Changing User IDs and Group IDs 255\u003c\/p\u003e \u003cp\u003e8.12 Interpreter Files 260\u003c\/p\u003e \u003cp\u003e8.13 system Function 264\u003c\/p\u003e \u003cp\u003e8.14 Process Accounting 269\u003c\/p\u003e \u003cp\u003e8.15 User Identification 275\u003c\/p\u003e \u003cp\u003e8.16 Process Scheduling 276\u003c\/p\u003e \u003cp\u003e8.17 Process Times 280\u003c\/p\u003e \u003cp\u003e8.18 Summary 282\u003c\/p\u003e \u003cp\u003eChapter 9: Process Relationships 285\u003c\/p\u003e 9.1 Introduction 285 \u003cp\u003e9.2 Ter minal Logins 285\u003c\/p\u003e \u003cp\u003e9.3 Networ k Logins 290\u003c\/p\u003e \u003cp\u003e9.4 Process Groups 293\u003c\/p\u003e \u003cp\u003e9.5 Sessions 295\u003c\/p\u003e \u003cp\u003e9.6 Controlling Terminal 296\u003c\/p\u003e \u003cp\u003e9.7 tcgetpgrp, tcsetpgrp, and tcgetsid Functions 298\u003c\/p\u003e \u003cp\u003e9.8 Job Control 299\u003c\/p\u003e \u003cp\u003e9.9 Shell Execution of Programs 303\u003c\/p\u003e \u003cp\u003e9.10 Orphaned Process Groups 307\u003c\/p\u003e \u003cp\u003e9.11 FreeBSD Implementation 310\u003c\/p\u003e \u003cp\u003e9.12 Summary 312\u003c\/p\u003e \u003cp\u003eChapter 10: Signals 313\u003c\/p\u003e 10.1 Introduction 313 \u003cp\u003e10.2 Signal Concepts 313\u003c\/p\u003e \u003cp\u003e10.3 signal Function 323\u003c\/p\u003e \u003cp\u003e10.4 Unreliable Signals 326\u003c\/p\u003e \u003cp\u003e10.5 Interrupted System Calls 327\u003c\/p\u003e \u003cp\u003e10.6 Reentrant Functions 330\u003c\/p\u003e \u003cp\u003e10.7 SIGCLD Semantics 332\u003c\/p\u003e \u003cp\u003e10.8 Reliable-Signal Ter minology and Semantics 335\u003c\/p\u003e \u003cp\u003e10.9 kill and raise Functions 336\u003c\/p\u003e \u003cp\u003e10.10 alarm and pause Functions 338\u003c\/p\u003e \u003cp\u003e10.11 Signal Sets 344\u003c\/p\u003e \u003cp\u003e10.12 sigprocmask Function 346\u003c\/p\u003e \u003cp\u003e10.13 sigpending Function 347\u003c\/p\u003e \u003cp\u003e10.14 sigaction Function 349\u003c\/p\u003e \u003cp\u003e10.15 sigsetjmp and siglongjmp Functions 355\u003c\/p\u003e \u003cp\u003e10.16 sigsuspend Function 359\u003c\/p\u003e \u003cp\u003e10.17 abort Function 365\u003c\/p\u003e \u003cp\u003e10.18 system Function 367\u003c\/p\u003e \u003cp\u003e10.19 sleep, nanosleep, and clock_nanosleep Functions 373\u003c\/p\u003e \u003cp\u003e10.20 sigqueue Function 376\u003c\/p\u003e \u003cp\u003e10.21 Job-Control Signals 377\u003c\/p\u003e \u003cp\u003e10.22 Signal Names and Numbers 379\u003c\/p\u003e \u003cp\u003e10.23 Summary 381\u003c\/p\u003e \u003cp\u003eChapter 11: Threads 383\u003c\/p\u003e 11.1 Introduction 383 \u003cp\u003e11.2 Thread Concepts 383\u003c\/p\u003e \u003cp\u003e11.3 Thread Identification 384\u003c\/p\u003e \u003cp\u003e11.4 Thread Creation 385\u003c\/p\u003e \u003cp\u003e11.5 Thread Termination 388\u003c\/p\u003e \u003cp\u003e11.6 Thread Synchronization 397\u003c\/p\u003e \u003cp\u003e11.7 Summary 422\u003c\/p\u003e \u003cp\u003eChapter 12: Thread Control 425\u003c\/p\u003e 12.1 Introduction 425 \u003cp\u003e12.2 Thread Limits 425\u003c\/p\u003e \u003cp\u003e12.3 Thread Attr ibutes 426\u003c\/p\u003e \u003cp\u003e12.4 Synchronization Attr ibutes 430\u003c\/p\u003e \u003cp\u003e12.5 Reentrancy 442\u003c\/p\u003e \u003cp\u003e12.6 Thread-Specific Data 446\u003c\/p\u003e \u003cp\u003e12.7 Cancel Options 451\u003c\/p\u003e \u003cp\u003e12.8 Threads and Signals 453\u003c\/p\u003e \u003cp\u003e12.9 Threads and fork 457\u003c\/p\u003e \u003cp\u003e12.10 Threads and I\/O 461\u003c\/p\u003e \u003cp\u003e12.11 Summary 462\u003c\/p\u003e \u003cp\u003eChapter 13: Daemon Processes 463\u003c\/p\u003e 13.1 Introduction 463 \u003cp\u003e13.2 Daemon Character istics 463\u003c\/p\u003e \u003cp\u003e13.3 Coding Rules 466\u003c\/p\u003e \u003cp\u003e13.4 Error Logging 469\u003c\/p\u003e \u003cp\u003e13.5 Single-Instance Daemons 473\u003c\/p\u003e \u003cp\u003e13.6 Daemon Conventions 474\u003c\/p\u003e \u003cp\u003e13.7 Client–Server Model 479\u003c\/p\u003e \u003cp\u003e13.8 Summary 480\u003c\/p\u003e \u003cp\u003eChapter 14: Advanced I\/O 481\u003c\/p\u003e 14.1 Introduction 481 \u003cp\u003e14.2 Nonblocking I\/O 481\u003c\/p\u003e \u003cp\u003e14.3 Record Locking 485\u003c\/p\u003e \u003cp\u003e14.4 I\/O Multiplexing 500\u003c\/p\u003e \u003cp\u003e14.5 Asynchronous I\/O 509\u003c\/p\u003e \u003cp\u003e14.6 readv and writev Functions 521\u003c\/p\u003e \u003cp\u003e14.7 readn and writen Functions 523\u003c\/p\u003e \u003cp\u003e14.8 Memory-Mapped I\/O 525\u003c\/p\u003e \u003cp\u003e14.9 Summary 531\u003c\/p\u003e \u003cp\u003eChapter 15: Interprocess Communication 533\u003c\/p\u003e 15.1 Introduction 533 \u003cp\u003e15.2 Pipes 534\u003c\/p\u003e \u003cp\u003e15.3 popen and pclose Functions 541\u003c\/p\u003e \u003cp\u003e15.4 Coprocesses 548\u003c\/p\u003e \u003cp\u003e15.5 FIFOs 552\u003c\/p\u003e \u003cp\u003e15.6 XSI IPC 556\u003c\/p\u003e \u003cp\u003e15.7 Message Queues 561\u003c\/p\u003e \u003cp\u003e15.8 Semaphores 565\u003c\/p\u003e \u003cp\u003e15.9 Shared Memor y 571\u003c\/p\u003e \u003cp\u003e15.10 POSIX Semaphores 579\u003c\/p\u003e \u003cp\u003e15.11 Client–Server Proper ties 585\u003c\/p\u003e \u003cp\u003e15.12 Summary 587\u003c\/p\u003e \u003cp\u003eChapter 16: Network IPC: Sockets 589\u003c\/p\u003e 16.1 Introduction 589 \u003cp\u003e16.2 Socket Descr iptors 590\u003c\/p\u003e \u003cp\u003e16.3 Addressing 593\u003c\/p\u003e \u003cp\u003e16.4 Connection Establishment 605\u003c\/p\u003e \u003cp\u003e16.5 Data Tr ansfer 610\u003c\/p\u003e \u003cp\u003e16.6 Socket Options 623\u003c\/p\u003e \u003cp\u003e16.7 Out-of-Band Data 626\u003c\/p\u003e \u003cp\u003e16.8 Nonblocking and Asynchronous I\/O 627\u003c\/p\u003e \u003cp\u003e16.9 Summary 628\u003c\/p\u003e \u003cp\u003eChapter 17: Advanced IPC 629\u003c\/p\u003e 17.1 Introduction 629 \u003cp\u003e17.2 UNIX Domain Sockets 629\u003c\/p\u003e \u003cp\u003e17.3 Unique Connections 635\u003c\/p\u003e \u003cp\u003e17.4 Passing File Descriptors 642\u003c\/p\u003e \u003cp\u003e17.5 An Open Server, Version 1 653\u003c\/p\u003e \u003cp\u003e17.6 An Open Server, Version 2 659\u003c\/p\u003e \u003cp\u003e17.7 Summary 669\u003c\/p\u003e \u003cp\u003eChapter 18: Terminal I\/O 671\u003c\/p\u003e 18.1 Introduction 671 \u003cp\u003e18.2 Over view 671\u003c\/p\u003e \u003cp\u003e18.3 Special Input Characters 678\u003c\/p\u003e \u003cp\u003e18.4 Getting and Setting Ter minal Attr ibutes 683\u003c\/p\u003e \u003cp\u003e18.5 Ter minal Option Flags 683\u003c\/p\u003e \u003cp\u003e18.6 stty Command 691\u003c\/p\u003e \u003cp\u003e18.7 Baud Rate Functions 692\u003c\/p\u003e \u003cp\u003e18.8 Line Control Functions 693\u003c\/p\u003e \u003cp\u003e18.9 Ter minal Identification 694\u003c\/p\u003e \u003cp\u003e18.10 Canonical Mode 700\u003c\/p\u003e \u003cp\u003e18.11 Noncanonical Mode 703\u003c\/p\u003e \u003cp\u003e18.12 Ter minal Window Size 710\u003c\/p\u003e \u003cp\u003e18.13 termcap, terminfo, and curses 712\u003c\/p\u003e \u003cp\u003e18.14 Summary 713\u003c\/p\u003e \u003cp\u003eChapter 19: Pseudo Terminals 715\u003c\/p\u003e 19.1 Introduction 715 \u003cp\u003e19.2 Over view 715\u003c\/p\u003e \u003cp\u003e19.3 Opening Pseudo-Ter minal Devices 722\u003c\/p\u003e \u003cp\u003e19.4 pty_fork Function 726\u003c\/p\u003e \u003cp\u003e19.5 pty Program 729\u003c\/p\u003e \u003cp\u003e19.6 Using the pty Program 733\u003c\/p\u003e \u003cp\u003e19.7 Advanced Features 740\u003c\/p\u003e \u003cp\u003e19.8 Summary 741\u003c\/p\u003e \u003cp\u003eChapter 20: A Database Library 743\u003c\/p\u003e 20.1 Introduction 743 \u003cp\u003e20.2 History 743\u003c\/p\u003e \u003cp\u003e20.3 The Librar y 744\u003c\/p\u003e \u003cp\u003e20.4 Implementation Over view 746\u003c\/p\u003e \u003cp\u003e20.5 Centralized or Decentralized? 750\u003c\/p\u003e \u003cp\u003e20.6 Concurrency 752\u003c\/p\u003e \u003cp\u003e20.7 Building the Librar y 753\u003c\/p\u003e \u003cp\u003e20.8 Source Code 753\u003c\/p\u003e \u003cp\u003e20.9 Perfor mance 781\u003c\/p\u003e \u003cp\u003e20.10 Summary 786\u003c\/p\u003e \u003cp\u003eChapter 21: Communicating with a Network Printer 789\u003c\/p\u003e 21.1 Introduction 789 \u003cp\u003e21.2 The Inter net Pr inting Protocol 789\u003c\/p\u003e \u003cp\u003e21.3 The Hyper text Transfer Protocol 792\u003c\/p\u003e \u003cp\u003e21.4 Printer Spooling 793\u003c\/p\u003e \u003cp\u003e21.5 Source Code 795\u003c\/p\u003e \u003cp\u003e21.6 Summary 843\u003c\/p\u003e \u003cp\u003eAppendix A: Function Prototypes 845\u003c\/p\u003e \u003cp\u003eAppendix B: Miscellaneous Source Code 895\u003c\/p\u003e \u003cp\u003e B.1 Our Header File 895\u003c\/p\u003e \u003cp\u003eB.2 Standard Error Routines 898\u003c\/p\u003e \u003cp\u003eAppendix C: Solutions to Selected Exercises 905\u003c\/p\u003e \u003cp\u003eBibliography 947\u003c\/p\u003e \u003cp\u003eIndex 955\u003c\/p\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":48864419578199,"sku":"9780321637734","price":49.39,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780321637734.jpg?v=1722271860"},{"product_id":"c-and-unix-9780471309277","title":"C and UNIX","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eSome 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.\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003ePrograms.\u003cbr\u003e \u003cbr\u003e Flow of Control.\u003cbr\u003e \u003cbr\u003e Functions.\u003cbr\u003e \u003cbr\u003e Input\/Output.\u003cbr\u003e \u003cbr\u003e Program Design.\u003cbr\u003e \u003cbr\u003e Arrays.\u003cbr\u003e \u003cbr\u003e Strings.\u003cbr\u003e \u003cbr\u003e Structures.\u003cbr\u003e \u003cbr\u003e Dynamic Memory Management.\u003cbr\u003e \u003cbr\u003e Data Structure Design.\u003cbr\u003e \u003cbr\u003e Specialized Tools.\u003cbr\u003e \u003cbr\u003e Advanced Programming Topics.\u003cbr\u003e \u003cbr\u003e Advanced Design Methods.\u003cbr\u003e \u003cbr\u003e Appendices.\u003cbr\u003e \u003cbr\u003e Index.","brand":"John Wiley \u0026 Sons Inc","offers":[{"title":"Default Title","offer_id":48864646824279,"sku":"9780471309277","price":140.35,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780471309277.jpg?v=1722272882"},{"product_id":"grep-pocket-reference-9780596153601","title":"Grep Pocket Reference","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003ePresents 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.","brand":"O'Reilly Media","offers":[{"title":"Default Title","offer_id":48865368932695,"sku":"9780596153601","price":16.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780596153601.jpg?v=1722274023"},{"product_id":"lpic2-linux-professional-institute-certification-study-guide-9781119150794","title":"LPIC2 Linux Professional Institute Certification","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cb\u003eFull coverage of the latest LPI-level 2 exams, with bonus online test bank\u003c\/b\u003e \u003cp\u003e\u003ci\u003eLPIC-2\u003c\/i\u003e 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\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003eIntroduction xxiii \u003cp\u003eAssessment Test xliii\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart I The LPI 201 Exam 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 1 Starting a System 3\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Linux Boot Process 4\u003c\/p\u003e \u003cp\u003eFollowing the Boot Process 4\u003c\/p\u003e \u003cp\u003eViewing the Boot Process 5\u003c\/p\u003e \u003cp\u003eThe Firmware Startup 6\u003c\/p\u003e \u003cp\u003eThe BIOS Startup 6\u003c\/p\u003e \u003cp\u003eThe UEFI Startup 7\u003c\/p\u003e \u003cp\u003eLinux Bootloaders 8\u003c\/p\u003e \u003cp\u003eGRUB Legacy 9\u003c\/p\u003e \u003cp\u003eGRUB 2 12\u003c\/p\u003e \u003cp\u003eAlternative Bootloaders 14\u003c\/p\u003e \u003cp\u003eSecure Bootloaders 15\u003c\/p\u003e \u003cp\u003eProcess Initialization 16\u003c\/p\u003e \u003cp\u003eThe SysV Method 17\u003c\/p\u003e \u003cp\u003eThe systemd Method 21\u003c\/p\u003e \u003cp\u003eThe Upstart Method 26\u003c\/p\u003e \u003cp\u003eSystem Recovery 27\u003c\/p\u003e \u003cp\u003eKernel Failures 27\u003c\/p\u003e \u003cp\u003eRoot Drive Failure 29\u003c\/p\u003e \u003cp\u003eSummary 31\u003c\/p\u003e \u003cp\u003eExam Essentials 31\u003c\/p\u003e \u003cp\u003eReview Questions 33\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 2 Maintaining the System 37\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eKeeping Users Informed 38\u003c\/p\u003e \u003cp\u003eLooking at Fluid Messaging 39\u003c\/p\u003e \u003cp\u003eLooking at Static Messaging 47\u003c\/p\u003e \u003cp\u003eBacking Up the System 51\u003c\/p\u003e \u003cp\u003eDeveloping a Backup Strategy 51\u003c\/p\u003e \u003cp\u003ePerforming Backups 61\u003c\/p\u003e \u003cp\u003eInstalling Programs from Source 72\u003c\/p\u003e \u003cp\u003eObtaining the Installation Files 73\u003c\/p\u003e \u003cp\u003eUnpacking the Installation Files 73\u003c\/p\u003e \u003cp\u003eReading Installation Documentation 74\u003c\/p\u003e \u003cp\u003eCompiling Preparation 75\u003c\/p\u003e \u003cp\u003eCompiling the Program 76\u003c\/p\u003e \u003cp\u003eCompleting the Installation 76\u003c\/p\u003e \u003cp\u003eManaging Resource Usage 79\u003c\/p\u003e \u003cp\u003eMeasuring Resource Usage 79\u003c\/p\u003e \u003cp\u003ePredicting Resource Usage 83\u003c\/p\u003e \u003cp\u003eTroubleshooting Resource Usage 85\u003c\/p\u003e \u003cp\u003eSummary 87\u003c\/p\u003e \u003cp\u003eExam Essentials 87\u003c\/p\u003e \u003cp\u003eReview Questions 89\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 3 Mastering the Kernel 93\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is the Kernel? 94\u003c\/p\u003e \u003cp\u003eThe Kernel Features 94\u003c\/p\u003e \u003cp\u003eParts of the Kernel 104\u003c\/p\u003e \u003cp\u003eKernel Versions 107\u003c\/p\u003e \u003cp\u003eCompiling a Kernel 108\u003c\/p\u003e \u003cp\u003eObtaining Source Code 109\u003c\/p\u003e \u003cp\u003eCreating the Configuration File 110\u003c\/p\u003e \u003cp\u003eCompiling and Installing the Kernel 114\u003c\/p\u003e \u003cp\u003eCompiling and Installing Modules 116\u003c\/p\u003e \u003cp\u003eCreating an Initial RAM Disk 116\u003c\/p\u003e \u003cp\u003eBooting the New Kernel 118\u003c\/p\u003e \u003cp\u003eCreating a Kernel Package 119\u003c\/p\u003e \u003cp\u003eMaintaining the Kernel 120\u003c\/p\u003e \u003cp\u003eWorking with Module Files 120\u003c\/p\u003e \u003cp\u003eModule Commands 120\u003c\/p\u003e \u003cp\u003eWorking with Hardware 125\u003c\/p\u003e \u003cp\u003eAutomatically Detecting Hardware 128\u003c\/p\u003e \u003cp\u003eTroubleshooting the Kernel 129\u003c\/p\u003e \u003cp\u003eSummary 132\u003c\/p\u003e \u003cp\u003eExam Essentials 133\u003c\/p\u003e \u003cp\u003eReview Questions 135\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 4 Managing the Filesystem 139\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eOperating the Linux Filesystem 140\u003c\/p\u003e \u003cp\u003eUnderstanding Filesystem Structures 140\u003c\/p\u003e \u003cp\u003eUnderstanding Filesystem Types 141\u003c\/p\u003e \u003cp\u003eMaking a Filesystem 144\u003c\/p\u003e \u003cp\u003eAttaching a Filesystem 146\u003c\/p\u003e \u003cp\u003eExploring Additional Filesystem Topics 162\u003c\/p\u003e \u003cp\u003eLooking at Memory-Based Linux Filesystems 162\u003c\/p\u003e \u003cp\u003eLooking at the Btrfs Filesystem 163\u003c\/p\u003e \u003cp\u003eExploring Btrfs Subvolumes 165\u003c\/p\u003e \u003cp\u003eExploring Btrfs Snapshots 169\u003c\/p\u003e \u003cp\u003eLooking at Optical Filesystems 171\u003c\/p\u003e \u003cp\u003eLooking at Swap Filesystems 177\u003c\/p\u003e \u003cp\u003eLooking at Network-Based Filesystems 180\u003c\/p\u003e \u003cp\u003eUnderstanding Auto-Mounting 180\u003c\/p\u003e \u003cp\u003eLooking at Encrypted Filesystems 183\u003c\/p\u003e \u003cp\u003eMaintaining Linux Filesystems 185\u003c\/p\u003e \u003cp\u003eAdjusting a Filesystem 185\u003c\/p\u003e \u003cp\u003eChecking and Repairing a Filesystem 187\u003c\/p\u003e \u003cp\u003eUsing SMART 189\u003c\/p\u003e \u003cp\u003eSummary 192\u003c\/p\u003e \u003cp\u003eExam Essentials 192\u003c\/p\u003e \u003cp\u003eReview Questions 195\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 5 Administering Advanced Storage Devices 199\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eConfiguring RAID 200\u003c\/p\u003e \u003cp\u003eUnderstanding RAID 200\u003c\/p\u003e \u003cp\u003eImplementing RAID on Linux 204\u003c\/p\u003e \u003cp\u003eManaging a RAID Array 216\u003c\/p\u003e \u003cp\u003eAdjusting Storage Devices 221\u003c\/p\u003e \u003cp\u003eLooking at Drive Interface Concepts 221\u003c\/p\u003e \u003cp\u003eTesting and Tuning Drives 223\u003c\/p\u003e \u003cp\u003eImplementing iSCSI 234\u003c\/p\u003e \u003cp\u003eManaging Logical Volumes 245\u003c\/p\u003e \u003cp\u003eUnderstanding LVM 245\u003c\/p\u003e \u003cp\u003eCreating Logical Volumes 246\u003c\/p\u003e \u003cp\u003eSupporting Logical Volumes 254\u003c\/p\u003e \u003cp\u003eUnderstanding the Device Mapper 263\u003c\/p\u003e \u003cp\u003eSummary 264\u003c\/p\u003e \u003cp\u003eExam Essentials 264\u003c\/p\u003e \u003cp\u003eReview Questions 267\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 6 Navigating Network Services 271\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eNetworking Basics 272\u003c\/p\u003e \u003cp\u003eThe Physical Layer 272\u003c\/p\u003e \u003cp\u003eThe Network Layer 274\u003c\/p\u003e \u003cp\u003eThe Transport Layer 278\u003c\/p\u003e \u003cp\u003eThe Application Layer 279\u003c\/p\u003e \u003cp\u003eConfiguring Network Features 279\u003c\/p\u003e \u003cp\u003eNetwork Configuration Files 280\u003c\/p\u003e \u003cp\u003eGraphical Tools 282\u003c\/p\u003e \u003cp\u003eCommand-Line Tools 284\u003c\/p\u003e \u003cp\u003eBasic Network Troubleshooting 288\u003c\/p\u003e \u003cp\u003eChecking the Log Files 288\u003c\/p\u003e \u003cp\u003eViewing the ARP Cache 289\u003c\/p\u003e \u003cp\u003eSending Test Packets 290\u003c\/p\u003e \u003cp\u003eTesting Network Routes 291\u003c\/p\u003e \u003cp\u003eTesting Client\/Server Connectivity 293\u003c\/p\u003e \u003cp\u003eFinding Host Information 295\u003c\/p\u003e \u003cp\u003eNetwork Security 297\u003c\/p\u003e \u003cp\u003eAdvanced Network Troubleshooting 297\u003c\/p\u003e \u003cp\u003eViewing Open Network Connections 297\u003c\/p\u003e \u003cp\u003eViewing Network Statistics 300\u003c\/p\u003e \u003cp\u003eScanning the Network 302\u003c\/p\u003e \u003cp\u003eCapturing Network Traffic 303\u003c\/p\u003e \u003cp\u003eSummary 308\u003c\/p\u003e \u003cp\u003eExam Essentials 308\u003c\/p\u003e \u003cp\u003eReview Questions 310\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePart II The LPI 202 Exam 315\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 7 Organizing Email Services 317\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Linux Mail System 318\u003c\/p\u003e \u003cp\u003eMail Transfer Agent 319\u003c\/p\u003e \u003cp\u003eMail Delivery Agent 321\u003c\/p\u003e \u003cp\u003eMail User Agent 323\u003c\/p\u003e \u003cp\u003eEmail Protocols 325\u003c\/p\u003e \u003cp\u003eSimple Mail Transfer Protocol 326\u003c\/p\u003e \u003cp\u003ePost Office Protocol 332\u003c\/p\u003e \u003cp\u003eInternet Message Access Protocol 334\u003c\/p\u003e \u003cp\u003eUsing Email Servers 338\u003c\/p\u003e \u003cp\u003eUsing Sendmail 338\u003c\/p\u003e \u003cp\u003eUsing Postfix 342\u003c\/p\u003e \u003cp\u003eLocal Email Delivery 351\u003c\/p\u003e \u003cp\u003eProcmail Basics 351\u003c\/p\u003e \u003cp\u003eSieve 356\u003c\/p\u003e \u003cp\u003eRemote Email Delivery 359\u003c\/p\u003e \u003cp\u003eUsing Courier 359\u003c\/p\u003e \u003cp\u003eUsing Dovecot 360\u003c\/p\u003e \u003cp\u003eSummary 363\u003c\/p\u003e \u003cp\u003eExam Essentials 364\u003c\/p\u003e \u003cp\u003eReview Questions 366\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 8 Directing DNS 371\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eConfiguring a DNS Server 372\u003c\/p\u003e \u003cp\u003eUnderstanding DNS and BIND 372\u003c\/p\u003e \u003cp\u003eConfiguring DNS on Linux 379\u003c\/p\u003e \u003cp\u003eStarting, Stopping, and Reloading BIND 395\u003c\/p\u003e \u003cp\u003eConfiguring BIND Logging 398\u003c\/p\u003e \u003cp\u003eCreating and Maintaining DNS Zones 403\u003c\/p\u003e \u003cp\u003eExploring BIND Zone Files 403\u003c\/p\u003e \u003cp\u003eManaging BIND Zones on Linux 417\u003c\/p\u003e \u003cp\u003eSecuring a DNS Server 427\u003c\/p\u003e \u003cp\u003eSetting Up Basic Security 427\u003c\/p\u003e \u003cp\u003eJailing BIND 431\u003c\/p\u003e \u003cp\u003eUsing DNSSEC 434\u003c\/p\u003e \u003cp\u003eConnecting via TSIG 440\u003c\/p\u003e \u003cp\u003eEmploying DANE 442\u003c\/p\u003e \u003cp\u003eSummary 445\u003c\/p\u003e \u003cp\u003eExam Essentials 445\u003c\/p\u003e \u003cp\u003eReview Questions 447\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 9 Offering Web Services 451\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eWhat Is a Web Server? 452\u003c\/p\u003e \u003cp\u003eWeb Server Basics 452\u003c\/p\u003e \u003cp\u003eThe HTTP Standard 453\u003c\/p\u003e \u003cp\u003eLinux Web Servers 459\u003c\/p\u003e \u003cp\u003eThe Apache Web Server 461\u003c\/p\u003e \u003cp\u003eInstalling an Apache Server 462\u003c\/p\u003e \u003cp\u003eConfiguring the Apache Server 464\u003c\/p\u003e \u003cp\u003eHosting Dynamic Web Applications 472\u003c\/p\u003e \u003cp\u003eCreating a Secure Web Server 474\u003c\/p\u003e \u003cp\u003eUsing a Proxy Server 482\u003c\/p\u003e \u003cp\u003eInstalling Squid 482\u003c\/p\u003e \u003cp\u003eConfiguring Squid 483\u003c\/p\u003e \u003cp\u003eConfiguring Clients 486\u003c\/p\u003e \u003cp\u003eThe Nginx Server 487\u003c\/p\u003e \u003cp\u003eInstalling Nginx 487\u003c\/p\u003e \u003cp\u003eConfiguring Nginx 488\u003c\/p\u003e \u003cp\u003eSummary 490\u003c\/p\u003e \u003cp\u003eExam Essentials 491\u003c\/p\u003e \u003cp\u003eReview Questions 493\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 10 Sharing Files 497\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLooking at Samba 498\u003c\/p\u003e \u003cp\u003eUnderstanding Samba 498\u003c\/p\u003e \u003cp\u003eConfiguring Samba 500\u003c\/p\u003e \u003cp\u003eTroubleshooting Samba 527\u003c\/p\u003e \u003cp\u003eLooking at NFS 530\u003c\/p\u003e \u003cp\u003eUnderstanding NFS 530\u003c\/p\u003e \u003cp\u003eConfiguring NFS 533\u003c\/p\u003e \u003cp\u003eSecuring NFS 549\u003c\/p\u003e \u003cp\u003eTroubleshooting NFS 552\u003c\/p\u003e \u003cp\u003eLooking at FTP Servers 553\u003c\/p\u003e \u003cp\u003eUnderstanding FTP 554\u003c\/p\u003e \u003cp\u003eConfiguring vsftpd 556\u003c\/p\u003e \u003cp\u003eConfiguring Pure-FTPd 568\u003c\/p\u003e \u003cp\u003eSummary 575\u003c\/p\u003e \u003cp\u003eExam Essentials 575\u003c\/p\u003e \u003cp\u003eReview Questions 577\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 11 Managing Network Clients 581\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eAssigning Network Addresses 582\u003c\/p\u003e \u003cp\u003eThe DHCP Standard 583\u003c\/p\u003e \u003cp\u003eLinux DHCP Software 584\u003c\/p\u003e \u003cp\u003eInstalling a Linux DHCP Server 585\u003c\/p\u003e \u003cp\u003eConfiguring a DHCP Server 585\u003c\/p\u003e \u003cp\u003eConfiguring Clients 590\u003c\/p\u003e \u003cp\u003eAuthentication Service 591\u003c\/p\u003e \u003cp\u003ePAM Basics 591\u003c\/p\u003e \u003cp\u003eConfiguring PAM 594\u003c\/p\u003e \u003cp\u003eUsing PAM Application Files 595\u003c\/p\u003e \u003cp\u003eNetwork Directories 597\u003c\/p\u003e \u003cp\u003eLDAP Basics 597\u003c\/p\u003e \u003cp\u003eThe OpenLDAP Server 601\u003c\/p\u003e \u003cp\u003eImplementing LDAP Clients 607\u003c\/p\u003e \u003cp\u003eSummary 613\u003c\/p\u003e \u003cp\u003eExam Essentials 613\u003c\/p\u003e \u003cp\u003eReview Questions 615\u003c\/p\u003e \u003cp\u003e\u003cb\u003eChapter 12 Setting Up System Security 619\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eServer Network Security 620\u003c\/p\u003e \u003cp\u003ePort Scanning 620\u003c\/p\u003e \u003cp\u003eIntrusion Detection Systems 628\u003c\/p\u003e \u003cp\u003eExternal Network Security 631\u003c\/p\u003e \u003cp\u003eUsing iptables 634\u003c\/p\u003e \u003cp\u003eRouting in Linux 639\u003c\/p\u003e \u003cp\u003eConnecting Securely to a Server 639\u003c\/p\u003e \u003cp\u003eOpenSSH 640\u003c\/p\u003e \u003cp\u003eOpenVPN 643\u003c\/p\u003e \u003cp\u003eSecurity Resources 646\u003c\/p\u003e \u003cp\u003eUS-CERT 646\u003c\/p\u003e \u003cp\u003eSANS Institute 647\u003c\/p\u003e \u003cp\u003eBugtraq 647\u003c\/p\u003e \u003cp\u003eSummary 648\u003c\/p\u003e \u003cp\u003eExam Essentials 649\u003c\/p\u003e \u003cp\u003eReview Questions 651\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendix Answers to Review Questions 655\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eChapter 1: Starting a System 656\u003c\/p\u003e \u003cp\u003eChapter 2: Maintaining the System 659\u003c\/p\u003e \u003cp\u003eChapter 3: Mastering the Kernel 662\u003c\/p\u003e \u003cp\u003eChapter 4: Managing the Filesystem 664\u003c\/p\u003e \u003cp\u003eChapter 5: Administering Advanced Storage Devices 667\u003c\/p\u003e \u003cp\u003eChapter 6: Navigating Network Services 670\u003c\/p\u003e \u003cp\u003eChapter 7: Organizing Email Services 673\u003c\/p\u003e \u003cp\u003eChapter 8: Directing DNS 676\u003c\/p\u003e \u003cp\u003eChapter 9: Offering Web Services 678\u003c\/p\u003e \u003cp\u003eChapter 10: Sharing Files 681\u003c\/p\u003e \u003cp\u003eChapter 11: Managing Network Clients 684\u003c\/p\u003e \u003cp\u003eChapter 12: Setting Up System Security 687\u003c\/p\u003e \u003cp\u003eIndex 691\u003c\/p\u003e","brand":"John Wiley \u0026 Sons Inc","offers":[{"title":"Default Title","offer_id":48866388050263,"sku":"9781119150794","price":43.5,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781119150794.jpg?v=1722278411"},{"product_id":"nsxt-logical-routing-9781484274576","title":"NSXT Logical Routing","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003eThis 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.\u003c\/p\u003eA comprehensive understanding of this capability will help IT professionals with design, implementation, troubleshooting, and enhancements.\u003cp\u003e\u003c\/p\u003e\u003cp\u003eThe 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.\u003c\/p\u003e\u003cp\u003eNext, the book introduces logical routing and its components\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003eChapter 1: Introduction \u003c\/p\u003e  \u003cp\u003eThe Modern-Day Software-Defined Data Center\u003c\/p\u003e  Software-Defined Datacenter Architecture  \u003cp\u003eVMware NSX-T: SDDC Networking \u003c\/p\u003e  The Basics of NSX-T  \u003cp\u003eSummary\u003c\/p\u003e\u003cbr\u003e  \u003cp\u003eChapter 2: Tunnel Endpoints\u003c\/p\u003e  Overlay Networking  \u003cp\u003eNSX-T Transport Node Communication\u003c\/p\u003e  Transport Node Types   \u003cp\u003eWhat Is a Tunnel Endpoint?\u003c\/p\u003e  Tunnel Endpoint Communication  \u003cp\u003eRouted Transport VLANs\u003c\/p\u003e  Tunnel Endpoint Configuration  \u003cp\u003eTunnel Endpoint Failure\u003c\/p\u003e  Summary\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e  Chapter 3: Remote Tunnel Endpoints  \u003cp\u003eA Solution for Multiple Sites\u003c\/p\u003e  NSX-T Federation Components  \u003cp\u003eSummary\u003c\/p\u003e     \u003cp\u003eChapter 4: Logical Routing\u003c\/p\u003e  What Is Logical Routing?  \u003cp\u003eNSX-T Logical Components\u003c\/p\u003e  Logical Routing Architecture  \u003cp\u003ePacket Flow Within the NSX-T Fabric\u003c\/p\u003e  Summary  \u003cp\u003e \u003c\/p\u003e  Chapter 5: Data Plane Availability  \u003cp\u003eEdge Cluster Deployment Considerations\u003c\/p\u003e  Edge Failure Types  \u003cp\u003eBidirectional Forwarding Detection (BFD)\u003c\/p\u003e  Equal Cost Multipathing (ECMP)  \u003cp\u003eSummary\u003c\/p\u003e     \u003cp\u003eChapter 6: Datacenter Routing\u003c\/p\u003e  Chapter Objectives  \u003cp\u003eCommunication with the Physical Network\u003c\/p\u003e  NSX-T and BGP  \u003cp\u003eNSX-T and OSPF\u003c\/p\u003e  NSX-T and Static Routing  \u003cp\u003eDeterministic Peering\u003c\/p\u003e  Bidirectional Forwarding Detection (BFD)  \u003cp\u003eUnicast Reverse Path Forwarding (uRPF)\u003c\/p\u003e  Summary","brand":"APress","offers":[{"title":"Default Title","offer_id":48867298443607,"sku":"9781484274576","price":999.99,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484274576.jpg?v=1722282665"},{"product_id":"learning-unix-for-os-x-2e-9781491939987","title":"Learning Unix for OS X 2e","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eThink your Mac is powerful now? This practical guide shows you how to get much more from your system by tapping into Unix, the robust operating system concealed beneath OS X's beautiful user interface.","brand":"O'Reilly Media","offers":[{"title":"Default Title","offer_id":48867305226583,"sku":"9781491939987","price":16.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781491939987.jpg?v=1722282700"},{"product_id":"modern-c-9781617295812","title":"Modern C","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003eIf you think “Modern” and “C” don’t belong in the same sentence, think again. The C standards committee actively reviews and extends the language, with updated published C standards as recently as 2018. In \u003ci\u003eModern C\u003c\/i\u003e, author Jens Gustedt teaches you the skills and features you need to write relevant programs in this tried-and-true language, including Linux and Windows, device drivers, web servers and browsers, smartphones, and much more!  \u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e\u003ci\u003eModern C\u003c\/i\u003e teaches you to take your C programming skills to new heights, whether you’re just starting out with C or have more extensive experience. Organized by level, this comprehensive guide lets you jump in where it suits you best while still reaping the maximum benefits. \u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e\u003cb\u003eKey Features\u003c\/b\u003e\u003c\/p\u003e \u003cul\u003e\n\u003cli\u003eFundamentals of C programming \u003c\/li\u003e\n\u003cli\u003eOperators and functions \u003c\/li\u003e\n\u003cli\u003ePerformance techniques \u003c\/li\u003e\n\u003cli\u003eC library functions\u003c\/li\u003e\n\u003c\/ul\u003e \u003cp\u003eFor  more  than  four  decades,  C  has  proved  its  usefulness  and  staying power for everything from massive systems for mainframes, satellites, and internet browsers to tiny  embedded systems in vending machines, credit card readers, and alarm clocks. Today you’ll find lightning-fast, elegant  C  programs  running  in  smartphone  kernels,  databases,  3D movies, video games, and scores of other modern applications.  \u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003eFor programmers comfortable writing simple programs in a language like Java, Python, Ruby, C#, C++, or C.\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e\u003cb\u003eJens Gustedt\u003c\/b\u003e has been a senior scientist at the French National Institute for Computer Science and Control (INRIA) since 1998, working in areas including algorithms, scientific experimentation, models for coarse-grained parallelism, and distributed locking. Currently, he’s conducting the Modular C project, which has given rise to libraries such as arbogast and EiLck.\u003c\/p\u003e","brand":"Manning Publications","offers":[{"title":"Default Title","offer_id":48867783967063,"sku":"9781617295812","price":45.59,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781617295812.jpg?v=1722284944"},{"product_id":"linux-for-makers-9781680451832","title":"Linux for Makers","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eLinux is a powerful open-source operating system that has been around for many years and is widely used for running servers and websites. But most students and Makers encounter it for the first time when they are working on projects with their Raspberry Pi or similar single-board computers (SBCs) such as BeagleBone Black or Intel Galileo. Linux for Makers is the first book that explains the Linux operating system specifically for Makers, as opposed to programmers and administrators. By gaining a deeper understanding of Linux, Makers can add another useful tool to their kit that will help them build their projects more easily. Written with the Maker in mind, this book will focus mostly on Rasbian running on the Raspberry Pi as it is the most prolific in the ecosystem today. However most of the topics covered will apply broadly to other Linux distributions and will be called out when they may differ. Many times users cut and paste from a website tutorial into the Linux command line without understanding what they are actually doing only to be frustrated when they want to modify or tweak something to suit their needs. Also, many Makers shy away from using the Raspberry Pi or similar board because they feel Linux is too foreign and they think using a command line will be more difficult than using a GUI. This book aims to overcome those fears and provide a foundation for further learning and exploration. To that end, this book will focus on the basic principles that a Maker would need to know as opposed to other resources that go into detail that is not particularly relevant to building projects.","brand":"O'Reilly Media","offers":[{"title":"Default Title","offer_id":48868032545111,"sku":"9781680451832","price":16.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781680451832.jpg?v=1722286102"},{"product_id":"rhcsarhce-red-hat-linux-certification-practice-exams-with-virtual-machines-exams-ex200-ex300-9780071801607","title":"RHCSARHCE Red Hat Linux Certification Practice","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cb\u003ePublisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, \u003cspan style=\"white-space:pre\"\u003e\u003c\/span\u003eauthenticity, or access to any online entitlements included with the product.\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003eDonât Let the Real Test Be Your First Test!\u003c\/b\u003e\u003c\/p\u003e\u003ci\u003eRHCSA\/RHCE Red Hat Linux Certification Practice Exams with Virtual Machines (Exams EX200 \u0026amp; EX300)\u003c\/i\u003e 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 \u003ci\u003eRHCSA\/RHCE Red Hat Linux Certification Study Guide, Sixth Edition.\u003c\/i\u003e\u003cp\u003eCovers all exam topics, including: \u003cbr\u003eVirtual Machines and Automated Installations â Fundamental Command Line Skills â RHCSA-Level Security Options â The Boot Process â Linux Filesystem Administration â Package\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003eChapter 1: Prepare for Red Hat Hands-on Certifications\u003cbr\u003eChapter 2: Virtual Machines and Automated Installations\u003cbr\u003eChapter 3: Fundamental Command Line Skills\u003cbr\u003eChapter 4: RHCSA-Level Security Options\u003cbr\u003eChapter 5: The Boot Process\u003cbr\u003eChapter 6: Linux Filesystem Administration\u003cbr\u003e Chapter 7: Package Management\u003cbr\u003eChapter 8: User Administration\u003cbr\u003eChapter 9: RHCSA-Level System Administration Tasks\u003cbr\u003eChapter 10: A Security Primer\u003cbr\u003eChapter 11: System Services and SELinux\u003cbr\u003eChapter 12: RHCE Administrative Tasks\u003cbr\u003eChapter 13: Electronic Mail\u003cbr\u003eChapter 14: The Apache Web Server\u003cbr\u003eChapter 15: The Samba File Server\u003cbr\u003eChapter 16: More File Sharing Services\u003cbr\u003e Chapter 17: Administrative Services: DNS, NTP, and Logging\u003cbr\u003e \u003cb\u003eAppendices\u003c\/b\u003e\u003cbr\u003eAppendix A: Prepare a System for the Sample Exams\u003cbr\u003eAppendix B: RHCSA:  Sample Exam 1\u003cbr\u003e Appendix C: RHCSA: Sample Exam 2\u003cbr\u003eAppendix D: RHCE: Sample Exam 1\u003cbr\u003e Appendix E: RHCE: Sample Exam 2\u003cbr\u003eAppendix F: About the DVD\u003cbr\u003e","brand":"McGraw-Hill Education - Europe","offers":[{"title":"Default Title","offer_id":48883785793879,"sku":"9780071801607","price":22.18,"currency_code":"GBP","in_stock":false}]},{"product_id":"pro-bash-programming-second-edition-9781484201220","title":"Pro Bash Programming Second Edition","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cem\u003ePro Bash Programming\u003c\/em\u003e 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.\u003c\/p\u003e\u003cp\u003eThis 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. \u003c\/p\u003e\u003cp\u003eUsing 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\u003c\/p\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885824160087,"sku":"9781484201220","price":71.24,"currency_code":"GBP","in_stock":false}]},{"product_id":"natural-language-processing-recipes-9781484273500","title":"Natural Language Processing Recipes","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eIntermediate user level\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003eChapter 1: Extracting the Data\u003c\/p\u003e\u003cp\u003eChapter Goal: Understanding the potential data sources to build NLP applications for business benefits and ways to extract the text data with examples\u003c\/p\u003e\u003cp\u003eNo of pages: 23\u003c\/p\u003e\u003cp\u003eSub - Topics:\t \u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003e1.\tData extraction through API\u003c\/p\u003e\u003cp\u003e2.\tReading HTML page, HTML parsing\u003c\/p\u003e\u003cp\u003e3.\tReading pdf file in python\u003c\/p\u003e\u003cp\u003e4.\tReading word document\u003c\/p\u003e\u003cp\u003e5.\tRegular expressions using python\u003c\/p\u003e\u003cp\u003e6.\tHandling strings using python\u003c\/p\u003e\u003cp\u003e7.\tWeb scraping\u003c\/p\u003e\u003cbr\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eChapter 2: Exploring and Processing the Text Data\u003c\/p\u003e\u003cp\u003eChapter 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.\u003c\/p\u003e\u003cp\u003eNo of pages: 22\u003c\/p\u003e\u003cp\u003eSub - Topics\t\u003c\/p\u003e\u003cp\u003e1\tText preprocessing methods \u003c\/p\u003e2\tData cleaning – punctuation removal, stopwords removal, spelling correction\u003cp\u003e\u003c\/p\u003e\u003cp\u003e3\tLexicon normalization – stemming and lemmatization\u003c\/p\u003e\u003cp\u003e4\tTokenization \u003c\/p\u003e\u003cp\u003e5\t\u003cb\u003eDealing with emoticons and emojis\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e6\tExploratory data analysis\u003c\/p\u003e\u003cp\u003e7\tEnd to end text processing pipeline implementation\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003eChapter 3: Text to Features\u003c\/p\u003e\u003cp\u003eChapter 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).\u003c\/p\u003e\u003cp\u003eNo of pages: 40\u003c\/p\u003e\u003cp\u003eSub - Topics\t\u003c\/p\u003e\u003cp\u003e1\tOne hot encoding\u003c\/p\u003e\u003cp\u003e2\tCount vectorizer\u003c\/p\u003e\u003cp\u003e3\tN grams\u003c\/p\u003e\u003cp\u003e4\tCo-occurrence matrix\u003c\/p\u003e\u003cp\u003e5\tHashing vectorizer\u003c\/p\u003e\u003cp\u003e6\tTF-IDF\u003c\/p\u003e\u003cp\u003e7\tWord Embedding  - Word2vec, fasttext\u003c\/p\u003e\u003cp\u003e\u003cb\u003e8\tGlove embeddings \u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e9\tELMo\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e10\tUniversal Sentence Encoder\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e11\tUnderstanding Transformers like BERT, GPT\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e12\tOpen AIs\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cbr\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003eChapter 4: Implementing Advanced NLP\u003c\/p\u003e\u003cp\u003eChapter Goal: Understanding and building advanced NLP techniques to solve the business problems starting from text similarity to speech recognition and language translation.\u003c\/p\u003e\u003cp\u003eNo of pages: 25\u003c\/p\u003e\u003cp\u003eSub - Topics: \u003c\/p\u003e\u003cp\u003e1.\tNoun phrase extraction\u003c\/p\u003e\u003cp\u003e2.\tText similarity\u003c\/p\u003e\u003cp\u003e3.\tParts of speech tagging\u003c\/p\u003e\u003cp\u003e4.\tInformation extraction – NER – entity recognition \u003c\/p\u003e\u003cp\u003e5.\tTopic modeling\u003c\/p\u003e\u003cp\u003e6.\tMachine learning for NLP – \u003c\/p\u003e\u003cp\u003ea.\tText classification\u003c\/p\u003e\u003cp\u003e7.\tSentiment analysis\u003c\/p\u003e\u003cp\u003e8.\tWord sense disambiguation\u003c\/p\u003e\u003cp\u003e9.\tSpeech recognition and speech to text\u003c\/p\u003e\u003cp\u003e10.\tText to speech\u003c\/p\u003e\u003cp\u003e11.\tLanguage detection and translation\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003eChapter 5: Deep Learning for NLP\u003c\/p\u003e\u003cp\u003eChapter Goal: Unlocking the power of deep learning on text data. Solving few real-time applications of deep learning in NLP.\u003c\/p\u003e\u003cp\u003eNo of pages: 55\u003c\/p\u003e\u003cp\u003eSub - Topics: \u003c\/p\u003e\u003cp\u003e1.\tFundamentals of deep learning\u003c\/p\u003e\u003cp\u003e2.\tInformation retrieval using word embedding’s \u003c\/p\u003e 3.  Text classification using deep learning approaches (CNN, RNN, LSTM, Bi-directional LSTM)\u003cp\u003e\u003c\/p\u003e\u003cp\u003e 4.  Natural language generation – prediction next word\/ sequence of words using LSTM.\u003c\/p\u003e\u003cp\u003e 5.  Text summarization using LSTM encoder and decoder.\u003c\/p\u003e\u003cp\u003e\u003cb\u003e 6.   Sentence comparison using SentenceBERT \u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e 7.  Understanding GPT\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e 8. Comparison between BERT, RoBERTa, DistilBERT, XLNet\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003eChapter 6: Industrial Application with End to End Implementation \u003c\/p\u003e\u003cp\u003eChapter 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.\u003c\/p\u003e\u003cp\u003eNo of pages: 90\u003c\/p\u003e\u003cp\u003eSub - Topics: \u003c\/p\u003e\u003cp\u003e 1.  Consumer complaint classification\u003c\/p\u003e\u003cp\u003e 2.  Customer reviews sentiment prediction\u003c\/p\u003e\u003cp\u003e 3.  Data stitching using text similarity and record linkage\u003c\/p\u003e\u003cp\u003e 4.  Text summarization for subject notes\u003c\/p\u003e\u003cp\u003e 5.  Document clustering \u003c\/p\u003e\u003cp\u003e \u003cb\u003e6. Product360 - Sentiment, emotion \u0026amp; trend capturing system\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e 7. TED Talks segmentation \u0026amp; topics extraction using machine learning\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e 8. Fake news detection system using deep neural networks\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e 9. E-commerce search engine \u0026amp; recommendation systems using deep learning\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e10. Movie genre tagging using multi-label classification \u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e11. E-commerce product categorization using deep learning\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e12. Sarcasm detection model using CNN\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e13. Building chatbot using transfer learning\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003e14. Summarization system using RNN and reinforcement learning\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003eChapter 7: Conclusion - Next Gen NLP \u0026amp; AI\u003c\/p\u003e\u003cp\u003eChapter 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.\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cbr\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885827141975,"sku":"9781484273500","price":41.24,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484273500.jpg?v=1722537839"},{"product_id":"introducing-rescript-9781484288870","title":"Introducing ReScript","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eThis book serves as a succinct guide on ReScript, a functional language for building web applications. Using examples of ReScript language features along with explanations of fundamental concepts in functional programming, this book will show web developers with a background in JavaScript how to effectively use ReScript to its full potential.   In Introducing ReScript, you'll learn how to use features in ReScript that JavaScript lacks, such as type inference, null-safety, algebraic data types, pattern matching, and more. Along the way, you'll pick up functional programming concepts like immutability and higher-order functions. You'll also gain a sense of how ReScript works under the hood and how to leverage interoperability between ReScript and JavaScript.   Whether you're a web developer interested in dabbling with functional programming or you just want to learn how to write safer and cleaner code for web applications, this book is a great way for you to get started with ReScript.\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003eChapter 1, IntroChapter Goal: Learn what functional programming is, and the background of the ReScript language● What is ReScript?● Why should you learn ReScript?● What is functional programming?● Why should you learn functional programming?Chapter 2, BasicsChapter Goal: Learn the basic features of ReScript, like expressions and operators- Development environment setup- Hello, World in ReScript- Expressions- Operators- If expressions- Let expressions- Printing and debuggingChapter 3, FunctionsChapter Goal: learn how functions work in ReScript- Defining a function- Applying a function- Polymorphic functions- Anonymous functionsChapter 4, Lists and ArraysChapter Goal: learn the data structures for ordered data in ReScript, learn about immutable data structures- Building a list- Accessing a list- Mutating a list- Arrays and mutability- IterationChapter 5, Records and ObjectsChapter Goal: learn the ways to represent composite data types in ReScript- Records- ObjectsChapter 6, Pattern Matching and DestructuringChapter Goal: learn one of ReScript's most powerful features and how to work with the shape of your data- Pattern matching\/switch- Destructuring with let- Destructuring in functionsChapter 7, Algebraic Data TypesChapter Goal: learn how represent complex data in ReScript's type system- Variants- Polymorphic Variants- Options- TuplesChapter 8, Higher Order ProgrammingChapter Goal:- Higher order functions- Map- Filter- Reduce- Generalizing to other data structures- Piping- CurryingChapter 9, ModulesChapter Goal: Introduce modules in ReScript, and how they can be used for higher order programming- What are modules- Scope\/visibility- Signature- Import\/Export- FunctorsChapter 10, Using ReScript in ProductionChapter Goal: learn about ReScript's interoperability with JavaScript- Calling ReScript from JavaScript- Calling JavaScript from ReScript- Embedding JavaScript in ReScript- Working with DOM- Working with JSON- Runtime representation","brand":"APress","offers":[{"title":"Default Title","offer_id":48885829534039,"sku":"9781484288870","price":26.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484288870.jpg?v=1722537847"},{"product_id":"beginning-ubuntu-for-windows-and-mac-users-9781484289716","title":"Beginning Ubuntu for Windows and Mac Users","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cem\u003e\u003c\/em\u003e\u003c\/p\u003e\u003cp\u003eCompletely updated for this exciting third edition, \u003ci\u003eBeginning Ubuntu for Windows and Mac Users\u003c\/i\u003e will help you start your journey into Free and Open Source Software with Ubuntu 22.04.1 LTS with GNOME 42.\u003c\/p\u003e\u003cp\u003eThis book is a friendly guide to installing and running Ubuntu for people who are already efficient and happy with Windows or macOS computers.  It teachers new Ubuntu users how to navigate their new operating system, perform basic tasks and suggests specific applications to handle routine tasks.\u003c\/p\u003e\u003cp\u003eYou''ll start by installing Ubuntu and its related flavors (Kubuntu, Ubuntu MATE, etc.) and how they differ from each other. The rest of the book breaks down application suggestions by broad categories to fill in gaps in the default installed system, or suggest fun things that the reader might not have even thought of. The command line is handled after you are comfortable with the system and ready for something interesting but different. I\u003cbr\u003e\u003cbr\u003e\u003c\/p\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003e\u003cb\u003eChapter 1: Installing Ubuntu\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003col\u003e\n\u003cli\u003e\u003ci\u003ePreparing to Install Ubuntu\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling Ubuntu\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling Kubuntu\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling Xubuntu\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling Lubuntu\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling Ubuntu MATE\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling Ubuntu Unity\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstall Ubuntu Server \u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstall a minimal Ubuntu system \u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eMultiple Operating Systems\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003cp\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003eChapter 2: Getting Started with Ubuntu\u003c\/b\u003e\u003cb\u003e\u003c\/b\u003e\u003c\/p\u003e\u003col\u003e\n\u003cli\u003e\u003ci\u003eUbuntu Desktop\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling and Updating Software\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eManaging User Accounts\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eFinding Things in Ubuntu Instead of      Windows\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eFinding Things in Ubuntu instead of macOS\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eConnecting to a Windows Desktop Remotely\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eRunning Windows Applications\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eConnecting to Windows Shared Folders and      Printers\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eSharing Files and Printers with Other      Computers\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eSharing Office Documents with Others\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eSharing Photos and Graphics with Others\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eFormatting Disks to Work with Other      Operating Systems\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\u003cp\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003eChapter 3: Productivity at Home and Work\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e\u003col\u003e\n\u003cli\u003e\u003ci\u003eWriting documents Without Distractions      using FocusWriter\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eManaging your Personal Finances Using      HomeBank\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eManaging Your Professional Email,      Contacts, and Calendar Using Evolution\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eManaging your Calendar with Thunderbird      using Lightning\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eIntegrating your Online Accounts with      Ubuntu\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eOrganizing Your Thoughts with      Mind-Mapping Software using Freeplane\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003ePersonal Wiki Note Taking Software Using      Tomboy\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling Additional Language Support\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eKeeping Track of Your Personal Time      Management Using Hamster\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eOrganizing Collections of Books, Movies,      Games, and More Using Tellico\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eManaging Your Ebook Library Using Calibre\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003ePrinting Labels and Cards Using gLabels\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eBacking Up and Restoring Personal Files      using Backup\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eCapturing Screenshots and Recording Your      Desktop Using Screenshot and Kazam\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\u003cp\u003e\u003c\/p\u003e \u003cp\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003eChapter 4: Enjoying media and other entertainment\u003c\/b\u003e\u003cb\u003e\u003c\/b\u003e\u003c\/p\u003e\u003col\u003e\n\u003cli\u003e\u003ci\u003ePlay DVDs and Media Files\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eOrganize Your CD and Digital Music      Collection Using Rhythmbox\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eBack Up and Create Music CDs Using      Brasero\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eCreate Video DVDs using DevedeNG\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eOrganize and Edit Your Photos Using      Shotwell\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eRecord and Process Audio Using Audacity\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003ePlay MIDI Files\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eExplore the Universe Using Stellarium\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003ePlay Legacy PC Games\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003ePlay Commercial Games Using Steam\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\u003cp\u003e\u003ci\u003e \u003c\/i\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003eChapter 5: Command-Line Tricks and Applications\u003c\/b\u003e\u003cb\u003e\u003c\/b\u003e\u003c\/p\u003e\u003col\u003e\n\u003cli\u003e\u003ci\u003eIntroduction to the Command Line\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eSee What’s Running on Your Computers\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eMultitask on the Command Line\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eDiagnose a Connection to a Server\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eView Information About the Operating      System\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eAdd New Users via Command Line\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eCheck Your Disk Space\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eEdit Text Files\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eRead Email\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eBrowse the Web\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eIRC\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003ePlay Text-Based Games\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\u003cp\u003e\u003cb\u003e\u003cbr\u003e\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e\u003cb\u003eChapter 6: Power User Tools\u003c\/b\u003e\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003col\u003e\n\u003cli\u003e\u003ci\u003eManage Running Processes\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eManaging Disks and Thumb Drives\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eUsing Multiple Workspaces\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling Alternate Desktop Environments\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eInstalling Software from the Command Line\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eExpand Your Software Options\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eCreating Application Launchers for      Programs\u003c\/i\u003e\u003c\/li\u003e\n\u003cli\u003e\u003ci\u003eWorking with Virtual Machines\u003c\/i\u003e\u003c\/li\u003e\n\u003c\/ol\u003e\u003cp\u003e\u003c\/p\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885830517079,"sku":"9781484289716","price":41.24,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484289716.jpg?v=1722537850"},{"product_id":"beginning-ethereum-smart-contracts-programming-9781484292709","title":"Beginning Ethereum Smart Contracts Programming","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cdiv\u003eUse this book to write an Ethereum blockchain smart contract, test it, deploy it, and create a web application to interact with your smart contract. This new edition has been expanded and updated to cover web3.js APIs, additional Consensus Protocols, non-Fungible Tokens (NFTs), developing NFT tokens using ERC-721, and more!\u003c\/div\u003e\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\u003cdiv\u003e\n\u003cb\u003e\u003ci\u003eBeginning Ethereum Smart Contracts Programming, second edition\u003c\/i\u003e\u003c\/b\u003e is your fastest and most efficient means of getting started if you are unsure where to begin and how to connect to the Ethereum blockchain. The book begins with a foundational discussion of blockchain and the motivation behind it. From there, you will get up close and personal with the Ethereum blockchain, learning how to use an Ethereum client (geth) to create a private Ethereum blockchain to perform transactions such as sending Ethers to another account on another node. \u003c\/div\u003e\u003cdiv\u003e\u003cbr\u003e\u003c\/div\u003e\u003cdiv\u003eYou will learn about smart contracts without havi\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\n\u003cp\u003e\u003ci\u003e---NEW Chapter----\u003c\/i\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003eChapter 1 - Technologies Behind Blockchain\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Basic Cryptography\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Types of Cryptographic algorithms\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Symmetric \u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Asymmetric \u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Hashing\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Digital Signature\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Summary\u003c\/b\u003e\u003cb\u003e       \u003c\/b\u003e \u003c\/p\u003e  \u003cp\u003eChapter 2 - Understanding Blockchain\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    ---NEW Section---\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Consensus Protocols\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e       Proof of Stake (PoS)\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e       Proof of Elapsed Time\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e       Proof of Space\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e       ...\u003c\/b\u003e\u003cb\u003e\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    -----------------   \u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 3 - Implementing Your Own Blockchain using Python\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 4 - Connecting to the Ethereum Blockchain using Geth\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 5 - Creating Your Own Private Ethereum Test Networks\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  Chapter 6 - Using the Crypto Wallet - MetaMask\u003cp\u003e\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 7 - Getting Started with Solidity Smart Contracts\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 8 - Testing Smart Contracts using Ganache\u003c\/p\u003e   \u003cp\u003e\u003c\/p\u003e  \u003cp\u003eChapter 9 - Building Decentralized Apps using the web3.js APIs\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 10 - Handling Smart Contract Events\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  Chapter 11 - Project - Online Lottery\u003cp\u003e\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003eChapter 12 - Creating Tokens using ERC-20\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    ---revised using OpenZepplin’s contract---\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e \u003c\/p\u003e  \u003cp\u003e\u003cb\u003e---NEW Chapters----\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003eChapter 13 - Creating Non-Fungible Tokens using ERC-721\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    What is a NFT?\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Storing Digital Assets using IPFS\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        What is IPFS\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Uploading a file to IPFS\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Accessing a file from IPFS\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        NFT and IPFS\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Creating the NFT Token Contract\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Deploying the contract\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Minting the NFT Token Contract\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Getting the Owner of the NFT\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Getting the Name and Symbol of NFT\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Finding the Balance of NFT for an Address\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Getting the Owner of the NFT\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Getting the TokenURI\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Transferring a NFT\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Transferring Ownership of the NFT Contract\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e \u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003eChapter 14 – Introduction to DeFi\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    What is Decentralized Finance\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Stablecoins\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        Types of Stablecoins\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        USDC\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e        DAI\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Services in DeFi\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Components in DeFi\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e    Applications of DeFi\u003c\/b\u003e\u003cb\u003e     \u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e------------------\u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\n\u003c\/div\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885832483159,"sku":"9781484292709","price":41.24,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484292709.jpg?v=1722537858"},{"product_id":"typescript-basics-9781484295229","title":"TypeScript Basics","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e1.Getting Started.- 2. TypeScript Basics.- 3. TypeScript Compilers.- 4. Classes and Interfaces 5. Advanced Types  6. Generics \u0026amp; Decorators.- 7. To-do List With TypeScript.- 8.Drag Drop Project.- 9.Modules and Webpack.- 10. React TypeScript Project.- 11. React Redux with TypeScript.. \u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003e1.Getting Started.- 2. TypeScript Basics.- 3. TypeScript Compilers.- 4. Classes and Interfaces 5. Advanced Types  6. Generics \u0026amp; Decorators.- 7. To-do List With TypeScript.- 8.Drag Drop Project.- 9.Modules and Webpack.- 10. React TypeScript Project.- 11. React Redux with TypeScript.. \u003c\/p\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885833400663,"sku":"9781484295229","price":29.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484295229.jpg?v=1722537860"},{"product_id":"creative-prototyping-with-generative-ai-9781484295786","title":"Creative Prototyping with Generative AI","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eReimagine different generative AI as useful creative prototyping tools that can be used to augment your own creative process and projects. Gain a deeper understanding of how generative AI can elevate your creative future.   You will acquire a comprehensive understanding of how AI works, uncover tools that can enhance your AI interactions, learn how to extract maximum potential from AI-produced content, and experiment with methods for assessing, refining, and boosting the content to transform your creative projects. You'll also explore how creative professionals from varied disciplines are employing generative AI in their workflows to produce distinctive contributions to the world.   Each chapter provides examples of how designers and other creative individuals can utilize these technological wonders, adopting various prototyping techniques to fast-track and optimize design processes and workflows. Creators from all disciplines can tap into the vast capabilities and benefits of generati\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cb\u003e\u003ci\u003e Rapid Prototyping with Generative AI\u003c\/i\u003e\u003c\/b\u003e\u003cbr\u003e\u003cbr\u003e​1. Introduction: Your AI Best Friend\u003cbr\u003e2. AI as a Creative Muse\u003cbr\u003e3. Prototyping with AI\u003cbr\u003e4. Creative Tools and Processes\u003cbr\u003e5. AI Structures\u003cbr\u003e6. The Master of Mash-Up: Leveraging AI for Prototyping\u003cbr\u003e7. Uncanny by Nature\u003cbr\u003e8. Layering AI Generation\u003cbr\u003e9. The Art of the Prompt\u003cbr\u003e10. Five Dilemmas Using AI\u003cbr\u003e11. AI Curator for Hire\u003cbr\u003e\u003cbr\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885833498967,"sku":"9781484295786","price":33.74,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484295786.jpg?v=1722537861"},{"product_id":"crafting-docs-for-success-9781484295939","title":"Crafting Docs for Success","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eDeveloper documentation is a powerful tool in developer relations because it providesall the necessary information during the onboarding process and keeps your users informedon changes such as release notes, status reports and new and updated topics.Using a design thinking approach, this book aims to provide an easy to follow blueprintfor building successful developer documentation by using the award winning platformOSdeveloper portalas inspiration.   You'll work with practical usable templates, workflows, and tools validated and peer-reviewed by international experts in the fields of documentation, technical writing, developer relations, and UX design. This book reveals the many factors that must be considered while crafting developer documentation, such as hitting the right target audience, designing a seamless onboarding experience, and selecting the right workflows and data analysis methods. You'll delve into this complex mix of topics, each with its unique considerations, and unde\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e1: Approaches2: Discovery3: Editorial Workflow4: Content production5: Implementation6: Contribution7: Communication8: Accessibility9: Sustainability10. Team Roles and Responsibilities11: Metrics12:Tools","brand":"APress","offers":[{"title":"Default Title","offer_id":48885833662807,"sku":"9781484295939","price":35.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484295939.jpg?v=1722537861"},{"product_id":"how-to-be-a-web-developer-9781484296622","title":"How to be a Web Developer","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eThis complete beginner's guide is for anyone interested in becoming a web developer. Aimed at those without any previous experience, this book provides an overview of the key principles of modern web development.   You'll gain insight into the key facets of JavaScript, HTML and CSS, as well as the difference between front-end, back-end, and full stack development. You'll also be introduced to popular tools and frameworks such as React, Angular, GraphQL, and Node.js, and gain an understanding of the role of a web developer: what it entails, how to secure your first role, and how to survive your first week in the job.Moreover, How to be a Web Developer will take you through the steps of building your first web application, allowing you to apply the principles you've learned in a practical way. Filled with additional information and resources, this book will give you the knowledge and tools needed to start your journey tobecoming a professional web developer.What You Will LearnMaster the\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e \u003cb\u003ePart I: Getting Started\u003c\/b\u003e\u003cp\u003e-          Introduction\u003c\/p\u003e\u003cb\u003ePart II: The Tech Stack \u003c\/b\u003e\u003cp\u003e\u003c\/p\u003e  \u003cp\u003e-          SQL Basics\u003c\/p\u003e  \u003cp\u003e-          HTML\u0026amp; CSS\u003c\/p\u003e  \u003cp\u003e-          GraphQL \u0026amp; JavaScript\u003c\/p\u003e  \u003cp\u003e-          The Back-End\u003c\/p\u003e  \u003cp\u003e-          Other Technologies You Should Know\u003c\/p\u003e  \u003cp\u003e\u003cb\u003ePart III: Landing Your First Role \u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e-          Your First Role\u003c\/p\u003e  \u003cp\u003e-          Working in A Team\u003c\/p\u003e  \u003cp\u003e-          Project Management Methods\u003c\/p\u003e  \u003cp\u003e\u003cb\u003ePart IV: In Summary \u003c\/b\u003e\u003c\/p\u003e  \u003cp\u003e-          Conclusions\u003c\/p\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885833859415,"sku":"9781484296622","price":25.19,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484296622.jpg?v=1722537861"},{"product_id":"go-crazy-9781484296653","title":"Go Crazy","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eFree source code will be available on this book's Apress GitHub page.What You'll LearnCompile and      inline other programming languages, including GPU coding.   Handle      Kubernetes clusters via your own operatorWrite Go to code      against Ethereum based block chains.\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cbr\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885834056023,"sku":"9781484296653","price":999.99,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484296653.jpg?v=1722537864"},{"product_id":"databasedriven-web-development-9781484297919","title":"DatabaseDriven Web Development","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eThis book will teach you the essential knowledge required to be a successful and productive web developer with the ability to produce cutting-edge websites utilizing a database.   This updated edition starts with the fundamentals of web development before delving into Perl and MySQL concepts such as script and database modelling, script-driven database interactions, content generation from a database, and information delivery from the server to the browser and vice versa. The only skills required to get the most from this book are basic knowledge of how the Internet works and a novice skill level with Perl and MySQL. The rest is intuitively presented code that most people can quickly and easily understand and employ. An extensive selection of practical, fully functional programming constructs in six different programming languages will give you the knowledge and tools required to create eye-catching, capable, and functionally impressive database-driven websites.Author Thomas Valentine\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003e\u003cbr\u003e\u003c\/p\u003e\u003cp\u003e\u003c\/p\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885834383703,"sku":"9781484297919","price":33.74,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484297919.jpg?v=1722537864"},{"product_id":"database-performance-at-scale-9781484297100","title":"Database Performance at Scale","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eDiscover critical   considerations and best practices for improving database performance based on   what has worked,and failed,across thousands of teams and use cases in the   field. This open access book provides practicalguidance for understanding thedatabase-related opportunities, trade-offs, and traps you might encounter while trying to optimize data-intensive applications for high throughput and low latency. Whether you are building a new system from the ground up or trying to optimize an existing use casefor increased demand, this book covers the essentials.   The book begins with a look at the many  factors impacting database performance at the extreme scale that today's game  changing applications faceor at least hope to achieve. You'll gain insight  into the performance impact of both technical and business requirements,  and how those should influence your decisions around databaseinfrastructureand   topology. The authors share an inside perspective   on often-overlooked engi\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e1: A Taste of What You’re Up Against:       Two Tales.- 2: Your Project, Through the Lens of       Database Performance .- 3: Database Internals: Hardware and Operating System Interactions.- 4: Database Internals: Algorithmic       Optimizations.- 5: Database Drivers.- 6: Getting Data Closer.- 7: Infrastructure and Deployment       Model.- 8: Topology Considerations.- 9: Benchmarking.- 10: Monitoring.- 11: Administration.- Appendix:   A Brief  Look at Fundamental Database Design Decisions.\u003cbr\u003e","brand":"APress","offers":[{"title":"Default Title","offer_id":48885834514775,"sku":"9781484297100","price":37.49,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781484297100.jpg?v=1722537864"},{"product_id":"linux-in-action-9781617294938","title":"Linux in Action","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cb\u003eDescription\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eThe Linux operating system powers millions of web servers, data centers, and application platforms worldwide. Whether you're pushing applications to a cloud system like AWS, building a twitter bot on a Raspberry Pi, or rescuing files from a crashed laptop, Linux is required knowledge.\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e\u003ci\u003eLinux in Action \u003c\/i\u003eis a task-based tutorial that will give readers the skills and deep understanding they'll need to administer a Linux-based system.\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e \u003cp\u003e\u003cb\u003eKey features\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e·    Hands-on guide\u003c\/p\u003e \u003cp\u003e·    Step-by-step examples\u003c\/p\u003e \u003cp\u003e·    Task-based\u003cb\u003e\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e \u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAudience\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eReaders should be comfortable working with the files, networks, and basic resources of a modern operating system.\u003c\/p\u003e \u003cp\u003e\u003cbr\u003e\u003cb\u003eAbout the technology\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eLinux makes it possible to do all kinds of really useful and creative things. For instance, you can load a Linux \"live boot\" image on a USB stick, boot a PC whose own hard disk has been corrupted, and troubleshoot and fix the problem.\u003c\/p\u003e \u003cp\u003e \u003c\/p\u003e","brand":"Manning Publications","offers":[{"title":"Default Title","offer_id":48886899147095,"sku":"9781617294938","price":36.71,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781617294938.jpg?v=1722542085"},{"product_id":"unix-in-easy-steps-9781840786224","title":"Unix in Easy Steps","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003eUnix in easy steps\u003c\/strong\u003e demonstrates how to get the most from any Unix-based operating system using the built-in BASH shell interpreter - the \"Bourne Again SHell\" (BASH). This is the default shell for Linux distributions (such as Ubuntu), Mac OS X, Solaris, and for the Raspbian operating system on Raspberry Pi devices.\u003c\/p\u003e\u003cp\u003eThis book will show you how to use the BASH command-line interface and how to employ BASH''s powerful programming abilities. Complete examples illustrate each aspect with colourised source code and full-colour screenshots depict the actual output. \u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eUnix in easy steps\u003c\/strong\u003e begins by demonstrating BASH commands for system navigation and file manipulation so you will quickly become familiar with the command-line interface. It explains all the BASH basics before moving on to describe advanced features such as: \u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eCommand history.\u003c\/li\u003e\n\u003cli\u003eCommand-line editing.\u003c\/li\u003e\n\u003cli\u003eEnvironment customisation.\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eThis book then introduces BASH programming with examples of flow control, command switches, input\/output, job control, and program debugging - allowing you to create your own executable programs by copying the book''s examples. \u003c\/p\u003e\u003cp\u003e\u003cstrong\u003eUnix in easy steps\u003c\/strong\u003e has an easy-to-follow style that will appeal to: \u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eUsers who are completely new to Unix-based operating systems.\u003c\/li\u003e\n\u003cli\u003eCasual users who wish to expand their knowledge of their computer system.\u003c\/li\u003e\n\u003cli\u003eThose who would like to learn programming skills by writing useful shell scripts.\u003c\/li\u003e\n\u003cli\u003eThe student who is studying programming at school or college.\u003c\/li\u003e\n\u003cli\u003eThose seeking a career in computing and need a fundamental understanding of the BASH interpreter on Unix-based operating systems.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"In Easy Steps Limited","offers":[{"title":"Default Title","offer_id":48888020402519,"sku":"9781840786224","price":10.44,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9781840786224.jpg?v=1722547375"},{"product_id":"understanding-unix-9788120314894","title":"Understanding Unix","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e","brand":"PHI Learning","offers":[{"title":"Default Title","offer_id":48889452331351,"sku":"9788120314894","price":6.18,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9788120314894.jpg?v=1722554433"},{"product_id":"working-with-unix-9788170293361","title":"Working with Unix","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e","brand":"BPB Publications","offers":[{"title":"Default Title","offer_id":48889578946903,"sku":"9788170293361","price":8.99,"currency_code":"GBP","in_stock":false}]},{"product_id":"test-your-unix-skills-9788170298489","title":"Test Your Unix Skills","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e","brand":"BPB Publications","offers":[{"title":"Default Title","offer_id":48889579176279,"sku":"9788170298489","price":7.88,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9788170298489.jpg?v=1722554972"},{"product_id":"unix-programming-unix-processes-memory-management-process-communication-networking-and-shell-scripting-english-edition-9789355510419","title":"UNIX Programming: UNIX Processes, Memory","description":"\u003cb\u003eBook Synopsis\u003c\/b\u003e\u003cbr\u003e","brand":"BPB Publications","offers":[{"title":"Default Title","offer_id":48890014761303,"sku":"9789355510419","price":999.99,"currency_code":"GBP","in_stock":false}]},{"product_id":"shell-programming-in-unix-linux-and-os-x-9780134496009","title":"Shell Programming in Unix Linux and OS X","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003eStephen Kochan \u003c\/strong\u003eis the author or co-author of several best-selling titles on Unix and the C language, including \u003cem\u003eProgramming in C\u003c\/em\u003e, \u003cem\u003eProgramming in Objective-C\u003c\/em\u003e, \u003cem\u003eTopics in C Programming, \u003c\/em\u003eand \u003cem\u003eExploring the Unix System\u003c\/em\u003e. He is a former software consultant for AT\u0026amp;T Bell Laboratories, where he developed and taught classes on Unix and C programming.\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003ePatrick Wood\u003c\/strong\u003e 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 \u003cem\u003eExploring the Unix System\u003c\/em\u003e, \u003cem\u003eUnix System Security\u003c\/em\u003e, \u003cem\u003eTopics in C Programming\u003c\/em\u003e, and \u003cem\u003eUnix Shell Programming\u003c\/em\u003e.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003e1 A Quick Review of the Basics\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e Some Basic Commands\u003c\/p\u003e \u003cp\u003e Displaying the Date and Time: The date Command\u003c\/p\u003e \u003cp\u003e Finding Out Who’s Logged In: The who Command\u003c\/p\u003e \u003cp\u003e Echoing Characters: The echo Command\u003c\/p\u003e \u003cp\u003e Working with Files\u003c\/p\u003e \u003cp\u003e Listing Files: The ls Command\u003c\/p\u003e \u003cp\u003e Displaying the Contents of a File: The cat Command\u003c\/p\u003e \u003cp\u003e Counting the Number of Words in a File: The wc Command\u003c\/p\u003e \u003cp\u003e Command Options\u003c\/p\u003e \u003cp\u003e Making a Copy of a File: The cp Command\u003c\/p\u003e \u003cp\u003e Renaming a File: The mv Command\u003c\/p\u003e \u003cp\u003e Removing a File: The rm Command\u003c\/p\u003e \u003cp\u003e Working with Directories\u003c\/p\u003e \u003cp\u003e The Home Directory and Pathnames\u003c\/p\u003e \u003cp\u003e Displaying Your Working Directory: The pwd Command\u003c\/p\u003e \u003cp\u003e Changing Directories: The cd Command\u003c\/p\u003e \u003cp\u003e More on the ls Command\u003c\/p\u003e \u003cp\u003e Creating a Directory: The mkdir Command\u003c\/p\u003e \u003cp\u003e Copying a File from One Directory to Another\u003c\/p\u003e \u003cp\u003e Moving Files Between Directories\u003c\/p\u003e \u003cp\u003e Linking Files: The ln Command\u003c\/p\u003e \u003cp\u003e Removing a Directory: The rmdir Command\u003c\/p\u003e \u003cp\u003e Filename Substitution\u003c\/p\u003e \u003cp\u003e The Asterisk\u003c\/p\u003e \u003cp\u003e Matching Single Characters\u003c\/p\u003e \u003cp\u003e Filename Nuances\u003c\/p\u003e \u003cp\u003e Spaces in Filenames\u003c\/p\u003e \u003cp\u003e Other Weird Characters\u003c\/p\u003e \u003cp\u003e Standard Input\/Output, and I\/O Redirection\u003c\/p\u003e \u003cp\u003e Standard Input and Standard Output\u003c\/p\u003e \u003cp\u003e Output Redirection\u003c\/p\u003e \u003cp\u003e Input Redirection\u003c\/p\u003e \u003cp\u003e Pipes\u003c\/p\u003e \u003cp\u003e Filters\u003c\/p\u003e \u003cp\u003e Standard Error\u003c\/p\u003e \u003cp\u003e More on Commands\u003c\/p\u003e \u003cp\u003e Typing More Than One Command on a Line\u003c\/p\u003e \u003cp\u003e Sending a Command to the Background\u003c\/p\u003e \u003cp\u003e The ps Command\u003c\/p\u003e \u003cp\u003e Command Summary\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e2 What Is the Shell?\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e The Kernel and the Utilities\u003c\/p\u003e \u003cp\u003e The Login Shell\u003c\/p\u003e \u003cp\u003e Typing Commands to the Shell\u003c\/p\u003e \u003cp\u003e The Shell’s Responsibilities\u003c\/p\u003e \u003cp\u003e Program Execution\u003c\/p\u003e \u003cp\u003e Variable and Filename Substitution\u003c\/p\u003e \u003cp\u003e I\/O Redirection\u003c\/p\u003e \u003cp\u003e Hooking up a Pipeline\u003c\/p\u003e \u003cp\u003e Environment Control\u003c\/p\u003e \u003cp\u003e Interpreted Programming Language\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e3 Tools of the Trade\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e Regular Expressions\u003c\/p\u003e \u003cp\u003e Matching Any Character: The Period (.)\u003c\/p\u003e \u003cp\u003e Matching the Beginning of the Line: The Caret (^)\u003c\/p\u003e \u003cp\u003e Matching the End of the Line: The Dollar Sign $\u003c\/p\u003e \u003cp\u003e Matching a Character Set: The [...] Construct\u003c\/p\u003e \u003cp\u003e Matching Zero or More Characters: The Asterisk (*)\u003c\/p\u003e \u003cp\u003e Matching a Precise Number of Subpatterns: \\{...\\}\u003c\/p\u003e \u003cp\u003e Saving Matched Characters: \\(...\\)\u003c\/p\u003e \u003cp\u003e cut\u003c\/p\u003e \u003cp\u003e The -d and -f Options\u003c\/p\u003e \u003cp\u003e paste\u003c\/p\u003e \u003cp\u003e The -d Option\u003c\/p\u003e \u003cp\u003e The -s Option\u003c\/p\u003e \u003cp\u003e sed\u003c\/p\u003e \u003cp\u003e The -n Option\u003c\/p\u003e \u003cp\u003e Deleting Lines\u003c\/p\u003e \u003cp\u003e tr\u003c\/p\u003e \u003cp\u003e The -s Option\u003c\/p\u003e \u003cp\u003e The -d Option\u003c\/p\u003e \u003cp\u003e grep\u003c\/p\u003e \u003cp\u003e Regular Expressions and grep\u003c\/p\u003e \u003cp\u003e The -v Option\u003c\/p\u003e \u003cp\u003e The -l Option\u003c\/p\u003e \u003cp\u003e The -n Option\u003c\/p\u003e \u003cp\u003e sort\u003c\/p\u003e \u003cp\u003e The -u Option\u003c\/p\u003e \u003cp\u003e The -r Option\u003c\/p\u003e \u003cp\u003e The -o Option\u003c\/p\u003e \u003cp\u003e The -n Option\u003c\/p\u003e \u003cp\u003e Skipping Fields\u003c\/p\u003e \u003cp\u003e The -t Option\u003c\/p\u003e \u003cp\u003e Other Options\u003c\/p\u003e \u003cp\u003e uniq\u003c\/p\u003e \u003cp\u003e The -d Option\u003c\/p\u003e \u003cp\u003e Other Options\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e4 And Away We Go\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e Command Files\u003c\/p\u003e \u003cp\u003e Comments\u003c\/p\u003e \u003cp\u003e Variables\u003c\/p\u003e \u003cp\u003e Displaying the Values of Variables\u003c\/p\u003e \u003cp\u003e Undefined Variables Have the Null Value\u003c\/p\u003e \u003cp\u003e Filename Substitution and Variables\u003c\/p\u003e \u003cp\u003e The ${variable} Construct\u003c\/p\u003e \u003cp\u003e Built-in Integer Arithmetic\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e5 Can I Quote You on That?\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e The Single Quote\u003c\/p\u003e \u003cp\u003e The Double Quote\u003c\/p\u003e \u003cp\u003e The Backslash\u003c\/p\u003e \u003cp\u003e Using the Backslash for Continuing Lines\u003c\/p\u003e \u003cp\u003e The Backslash Inside Double Quotes\u003c\/p\u003e \u003cp\u003e Command Substitution\u003c\/p\u003e \u003cp\u003e The Back Quote\u003c\/p\u003e \u003cp\u003e The $(...) Construct\u003c\/p\u003e \u003cp\u003e The expr Command\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e6 Passing Arguments\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e The $# Variable\u003c\/p\u003e \u003cp\u003e The $* Variable\u003c\/p\u003e \u003cp\u003e A Program to Look Up Someone in the Phone Book\u003c\/p\u003e \u003cp\u003e A Program to Add Someone to the Phone Book\u003c\/p\u003e \u003cp\u003e A Program to Remove Someone from the Phone Book\u003c\/p\u003e \u003cp\u003e ${n}\u003c\/p\u003e \u003cp\u003e The shift Command\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e7 Decisions, Decisions\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e Exit Status\u003c\/p\u003e \u003cp\u003e The $? Variable\u003c\/p\u003e \u003cp\u003e The test Command\u003c\/p\u003e \u003cp\u003e String Operators\u003c\/p\u003e \u003cp\u003e An Alternative Format for test\u003c\/p\u003e \u003cp\u003e Integer Operators\u003c\/p\u003e \u003cp\u003e File Operators\u003c\/p\u003e \u003cp\u003e The Logical Negation Operator !\u003c\/p\u003e \u003cp\u003e The Logical AND Operator -a\u003c\/p\u003e \u003cp\u003e Parentheses\u003c\/p\u003e \u003cp\u003e The Logical OR Operator -o\u003c\/p\u003e \u003cp\u003e The else Construct\u003c\/p\u003e \u003cp\u003e The exit Command\u003c\/p\u003e \u003cp\u003e A Second Look at the rem Program\u003c\/p\u003e \u003cp\u003e The elif Construct\u003c\/p\u003e \u003cp\u003e Yet Another Version of rem\u003c\/p\u003e \u003cp\u003e The case Command\u003c\/p\u003e \u003cp\u003e Special Pattern-Matching Characters\u003c\/p\u003e \u003cp\u003e The -x Option for Debugging Programs\u003c\/p\u003e \u003cp\u003e Back to the case\u003c\/p\u003e \u003cp\u003e The Null Command :\u003c\/p\u003e \u003cp\u003e The \u0026amp;\u0026amp; and || Constructs\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e8 'Round and 'Round She Goes\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e The for Command\u003c\/p\u003e \u003cp\u003e The $@ Variable\u003c\/p\u003e \u003cp\u003e The for Without the List\u003c\/p\u003e \u003cp\u003e The while Command\u003c\/p\u003e \u003cp\u003e The until Command\u003c\/p\u003e \u003cp\u003e More on Loops\u003c\/p\u003e \u003cp\u003e Breaking Out of a Loop\u003c\/p\u003e \u003cp\u003e Skipping the Remaining Commands in a Loop\u003c\/p\u003e \u003cp\u003e Executing a Loop in the Background\u003c\/p\u003e \u003cp\u003e I\/O Redirection on a Loop\u003c\/p\u003e \u003cp\u003e Piping Data into and out of a Loop\u003c\/p\u003e \u003cp\u003e Typing a Loop on One Line\u003c\/p\u003e \u003cp\u003e The getopts Command\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e9 Reading and Printing Data\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e The read Command\u003c\/p\u003e \u003cp\u003e A Program to Copy Files\u003c\/p\u003e \u003cp\u003e Special echo Escape Characters\u003c\/p\u003e \u003cp\u003e An Improved Version of mycp\u003c\/p\u003e \u003cp\u003e A Final Version of mycp\u003c\/p\u003e \u003cp\u003e A Menu-Driven Phone Program\u003c\/p\u003e \u003cp\u003e The $$ Variable and Temporary Files\u003c\/p\u003e \u003cp\u003e The Exit Status from read\u003c\/p\u003e \u003cp\u003e The printf Command\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e10 Your Environment\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e Local Variables\u003c\/p\u003e \u003cp\u003e Subshells\u003c\/p\u003e \u003cp\u003e Exported Variables\u003c\/p\u003e \u003cp\u003e export -p\u003c\/p\u003e \u003cp\u003e PS1 and PS2\u003c\/p\u003e \u003cp\u003e HOME\u003c\/p\u003e \u003cp\u003e PATH\u003c\/p\u003e \u003cp\u003e Your Current Directory\u003c\/p\u003e \u003cp\u003e CDPATH\u003c\/p\u003e \u003cp\u003e More on Subshells\u003c\/p\u003e \u003cp\u003e The .Command\u003c\/p\u003e \u003cp\u003e The exec Command\u003c\/p\u003e \u003cp\u003e The (...) and { ...; } Constructs\u003c\/p\u003e \u003cp\u003e Another Way to Pass Variables to a Subshell\u003c\/p\u003e \u003cp\u003e Your .profile File\u003c\/p\u003e \u003cp\u003e The TERM Variable\u003c\/p\u003e \u003cp\u003e The TZ Variable\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e11 More on Parameters\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e Parameter Substitution\u003c\/p\u003e \u003cp\u003e ${parameter}\u003c\/p\u003e \u003cp\u003e ${parameter:-value}\u003c\/p\u003e \u003cp\u003e ${parameter:=value}\u003c\/p\u003e \u003cp\u003e ${parameter:?value}\u003c\/p\u003e \u003cp\u003e ${parameter:+value}\u003c\/p\u003e \u003cp\u003e Pattern Matching Constructs\u003c\/p\u003e \u003cp\u003e ${#variable}\u003c\/p\u003e \u003cp\u003e The $0 Variable\u003c\/p\u003e \u003cp\u003e The set Command\u003c\/p\u003e \u003cp\u003e The -x Option\u003c\/p\u003e \u003cp\u003e set with No Arguments\u003c\/p\u003e \u003cp\u003e Using set to Reassign Positional Parameters\u003c\/p\u003e \u003cp\u003e The -- Option\u003c\/p\u003e \u003cp\u003e Other Options to set\u003c\/p\u003e \u003cp\u003e The IFS Variable\u003c\/p\u003e \u003cp\u003e The readonly Command\u003c\/p\u003e \u003cp\u003e The unset Command\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e12 Loose Ends\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e The eval Command\u003c\/p\u003e \u003cp\u003e The wait Command\u003c\/p\u003e \u003cp\u003e The $! Variable\u003c\/p\u003e \u003cp\u003e The trap Command\u003c\/p\u003e \u003cp\u003e trap with No Arguments\u003c\/p\u003e \u003cp\u003e Ignoring Signals\u003c\/p\u003e \u003cp\u003e Resetting Traps\u003c\/p\u003e \u003cp\u003e More on I\/O\u003c\/p\u003e \u003cp\u003e \u0026lt;\u0026amp;- and \u0026gt;\u0026amp;-\u003c\/p\u003e \u003cp\u003e In-line Input Redirection\u003c\/p\u003e \u003cp\u003e Shell Archives\u003c\/p\u003e \u003cp\u003e Functions\u003c\/p\u003e \u003cp\u003e Removing a Function Definition\u003c\/p\u003e \u003cp\u003e The return Command\u003c\/p\u003e \u003cp\u003e The type Command\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e13 Rolo Revisited\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e Data Formatting Considerations\u003c\/p\u003e \u003cp\u003e rolo\u003c\/p\u003e \u003cp\u003e add\u003c\/p\u003e \u003cp\u003e lu\u003c\/p\u003e \u003cp\u003e display\u003c\/p\u003e \u003cp\u003e rem\u003c\/p\u003e \u003cp\u003e change\u003c\/p\u003e \u003cp\u003e listall\u003c\/p\u003e \u003cp\u003e Sample Output\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003e14 Interactive and Nonstandard Shell Features\u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003e Getting the Right Shell\u003c\/p\u003e \u003cp\u003e The ENV File\u003c\/p\u003e \u003cp\u003e Command-Line Editing\u003c\/p\u003e \u003cp\u003e Command History\u003c\/p\u003e \u003cp\u003e The vi Line Edit Mode\u003c\/p\u003e \u003cp\u003e Accessing Commands from Your History\u003c\/p\u003e \u003cp\u003e The emacs Line Edit Mode\u003c\/p\u003e \u003cp\u003e Accessing Commands from Your History\u003c\/p\u003e \u003cp\u003e Other Ways to Access Your History\u003c\/p\u003e \u003cp\u003e The history Command\u003c\/p\u003e \u003cp\u003e The fc Command\u003c\/p\u003e \u003cp\u003e The r Command\u003c\/p\u003e \u003cp\u003e Functions\u003c\/p\u003e \u003cp\u003e Local Variables\u003c\/p\u003e \u003cp\u003e Automatically Loaded Functions\u003c\/p\u003e \u003cp\u003e Integer Arithmetic\u003c\/p\u003e \u003cp\u003e Integer Types\u003c\/p\u003e \u003cp\u003e Numbers in Different Bases\u003c\/p\u003e \u003cp\u003e The alias Command\u003c\/p\u003e \u003cp\u003e Removing Aliases\u003c\/p\u003e \u003cp\u003e Arrays\u003c\/p\u003e \u003cp\u003e Job Control\u003c\/p\u003e \u003cp\u003e Stopped Jobs and the fg and bg Commands\u003c\/p\u003e \u003cp\u003e Miscellaneous Features\u003c\/p\u003e \u003cp\u003e Other Features of the cd Command\u003c\/p\u003e \u003cp\u003e Tilde Substitution\u003c\/p\u003e \u003cp\u003e Order of Search\u003c\/p\u003e \u003cp\u003e Compatibility Summary\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eAppendixes \u003c\/strong\u003e\u003c\/p\u003e \u003cp\u003eA Shell Summary\u003c\/p\u003e \u003cp\u003eB For More Information\u003c\/p\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":49369127944535,"sku":"9780134496009","price":31.82,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780134496009.jpg?v=1791453928"},{"product_id":"practice-of-cloud-system-administration-the-9780321943187","title":"Practice of Cloud System Administration The","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp style=\"MARGIN:\"\u003e\u003cb\u003eThomas A. Limoncelli\u003c\/b\u003e 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.\u003c\/p\u003e \u003cp style=\"MARGIN:\"\u003e \u003c\/p\u003e \u003cp style=\"MARGIN:\"\u003e\u003cb\u003eStrata R. Chalup\u003c\/b\u003e 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.\u003c\/p\u003e \u003cp style=\"MARGIN:\"\u003e \u003c\/p\u003e \u003cp style=\"MARGIN:\"\u003e\u003cb\u003eChristina J. Hogan\u003c\/b\u003e 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.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cul\u003e\n\u003cli\u003e    Part I: Design: Building It   \u003c\/li\u003e\n\u003cli\u003e    Chapter 1: Designing in a Distributed World   \u003c\/li\u003e\n\u003cli\u003e    Chapter 2: Designing for Operations   \u003c\/li\u003e\n\u003cli\u003e    Chapter 3: Selecting a Service Platform   \u003c\/li\u003e\n\u003cli\u003e    Chapter 4: Application Architectures   \u003c\/li\u003e\n\u003cli\u003e    Chapter 5: Design Patterns for Scaling   \u003c\/li\u003e\n\u003cli\u003eChapter 6: Design Patterns for Resiliency \u003c\/li\u003e\n\u003cli\u003e    Part II: Operations: Running It   \u003c\/li\u003e\n\u003cli\u003e    Chapter 7: Operations in a Distributed World   \u003c\/li\u003e\n\u003cli\u003e    Chapter 8: DevOps Culture   \u003c\/li\u003e\n\u003cli\u003e    Chapter 9: Service Delivery: The Build Phase   \u003c\/li\u003e\n\u003cli\u003e    Chapter 10: Service Delivery: The Deployment Phase   \u003c\/li\u003e\n\u003cli\u003e    Chapter 11: Upgrading Live Services   \u003c\/li\u003e\n\u003cli\u003e    Chapter 12: Automation   \u003c\/li\u003e\n\u003cli\u003e    Chapter 13: Design Documents   \u003c\/li\u003e\n\u003cli\u003e    Chapter 14: Oncall   \u003c\/li\u003e\n\u003cli\u003e    Chapter 15: Disaster Preparedness   \u003c\/li\u003e\n\u003cli\u003e    Chapter 16: Monitoring Fundamentals   \u003c\/li\u003e\n\u003cli\u003e    Chapter 17: Monitoring Architecture and Practice   \u003c\/li\u003e\n\u003cli\u003e    Chapter 18: Capacity Planning   \u003c\/li\u003e\n\u003cli\u003e    Chapter 19: Creating KPIs   \u003c\/li\u003e\n\u003cli\u003e    Chapter 20: Operational Excellence   \u003c\/li\u003e\n\u003c\/ul\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":49371673461079,"sku":"9780321943187","price":38.47,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780321943187.jpg?v=1791455326"},{"product_id":"the-awk-programming-language-9780138269722","title":"The AWK Programming Language","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003e\u003cp\u003e\u003cstrong\u003eAlfred V. Aho\u003c\/strong\u003e 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.\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eBrian W. Kernighan\u003c\/strong\u003e 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, \u003cem\u003eThe C Programming Language\u003c\/em\u003e.\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003ePeter J. Weinberger\u003c\/strong\u003e, 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.\u003c\/p\u003e\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003e\u003cp\u003e\u003cem\u003ePreface ix\u003c\/em\u003e\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 1: An Awk Tutorial 1\u003c\/strong\u003e\u003cbr\u003e1.1 Getting Started 1\u003cbr\u003e1.2 Simple Output 4\u003cbr\u003e1.3 Formatted Output 7\u003cbr\u003e1.4 Selection 8\u003cbr\u003e1.5 Computing with Awk 10\u003cbr\u003e1.6 Control-Flow Statements 13\u003cbr\u003e1.7 Arrays 16\u003cbr\u003e1.8 Useful One-liners 17\u003cbr\u003e1.9 What Next? 19\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 2: Awk in Action 21\u003c\/strong\u003e\u003cbr\u003e2.1 Personal Computation 21\u003cbr\u003e2.2 Selection 23\u003cbr\u003e2.3 Transformation 25\u003cbr\u003e2.4 Summarization 27\u003cbr\u003e2.5 Personal Databases 28\u003cbr\u003e2.6 A Personal Library 31\u003cbr\u003e2.7 Summary 34\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 3: Exploratory Data Analysis 35\u003c\/strong\u003e\u003cbr\u003e3.1 The Sinking of the Titanic 36\u003cbr\u003e3.2 Beer Ratings 41\u003cbr\u003e3.3 Grouping Data 43\u003cbr\u003e3.4 Unicode Data 45\u003cbr\u003e3.5 Basic Graphs and Charts 47\u003cbr\u003e3.6 Summary 49\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 4: Data Processing 51\u003c\/strong\u003e\u003cbr\u003e4.1 Data Transformation and Reduction 51\u003cbr\u003e4.2 Data Validation 57\u003cbr\u003e4.3 Bundle and Unbundle 59\u003cbr\u003e4.4 Multiline Records 60\u003cbr\u003e4.5 Summary 66\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 5: Reports and Databases 67\u003c\/strong\u003e\u003cbr\u003e5.1 Generating Reports 67\u003cbr\u003e5.2 Packaged Queries and Reports 73\u003cbr\u003e5.3 A Relational Database System 75\u003cbr\u003e5.4 Summary 83\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 6: Processing Words 85\u003c\/strong\u003e\u003cbr\u003e6.1 Random Text Generation 85\u003cbr\u003e6.2 Interactive Text-Manipulation 90\u003cbr\u003e6.3 Text Processing 92\u003cbr\u003e6.4 Making an Index 99\u003cbr\u003e6.5 Summary 105\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 7: Little Languages 107\u003c\/strong\u003e\u003cbr\u003e7.1 An Assembler and Interpreter 108\u003cbr\u003e7.2 A Language for Drawing Graphs 111\u003cbr\u003e7.3 A Sort Generator 113\u003cbr\u003e7.4 A Reverse-Polish Calculator 115\u003cbr\u003e7.5 A Different Approach 117\u003cbr\u003e7.6 A Recursive-Descent Parser for Arithmetic Expressions 119\u003cbr\u003e7.7 A Recursive-Descent Parser for a Subset of Awk 122\u003cbr\u003e7.8 Summary 126\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 8: Experiments with Algorithms 129\u003c\/strong\u003e\u003cbr\u003e8.1 Sorting 129\u003cbr\u003e8.2 Profiling 142\u003cbr\u003e8.3 Topological Sorting 144\u003cbr\u003e8.4 Make: A File Updating Program 148\u003cbr\u003e8.5 Summary 153\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eChapter 9: Epilogue 155\u003c\/strong\u003e\u003cbr\u003e9.1 Awk as a Language 155\u003cbr\u003e9.2 Performance 157\u003cbr\u003e9.3 Conclusion 160\u003c\/p\u003e \u003cp\u003e\u003cstrong\u003eAppendix A: Awk Reference Manual 163\u003c\/strong\u003e\u003cbr\u003eA.1 Patterns 165\u003cbr\u003eA.2 Actions 176\u003cbr\u003eA.3 User-Defined Functions 196\u003cbr\u003eA.4 Output 197\u003cbr\u003eA.5 Input 202\u003cbr\u003eA.6 Interaction with Other Programs 207\u003cbr\u003eA.7 Summary 208\u003c\/p\u003e \u003cp\u003e\u003cem\u003eIndex 209\u003c\/em\u003e\u003c\/p\u003e","brand":"Pearson Education (US)","offers":[{"title":"Default Title","offer_id":49399843094871,"sku":"9780138269722","price":30.39,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780138269722.jpg?v=1730468888"},{"product_id":"unix-for-oracle-dbas-pocket-reference-9780596000660","title":"UNIX for Oracle DBAs Pocket Reference","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eAimed 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.\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003eIntroduction  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","brand":"O'Reilly Media","offers":[{"title":"Default Title","offer_id":49403352613207,"sku":"9780596000660","price":7.59,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0817\/1739\/5799\/files\/9780596000660.jpg?v=1791463645"},{"product_id":"linux-server-security-9780596006709","title":"Linux Server Security","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eConveys 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.\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003ePreface 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","brand":"O'Reilly Media","offers":[{"title":"Default Title","offer_id":49403358806359,"sku":"9780596006709","price":26.99,"currency_code":"GBP","in_stock":false}]},{"product_id":"linux-multimedia-hacks-9780596100766","title":"Linux Multimedia Hacks","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eGives 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.\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTrade Review\u003c\/h2\u003e\"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 2006\u003cbr\u003e\u003cbr\u003e\u003ch2\u003eTable of Contents\u003c\/h2\u003eCredits    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","brand":"O'Reilly Media","offers":[{"title":"Default Title","offer_id":49403362312535,"sku":"9780596100766","price":19.19,"currency_code":"GBP","in_stock":false}]},{"product_id":"mac-os-x-for-unix-geeks-9780596520625","title":"Mac OS X for UNIX Geeks","description":"\u003ch2\u003eBook Synopsis\u003c\/h2\u003eIntends 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.","brand":"O'Reilly Media","offers":[{"title":"Default Title","offer_id":49403367817559,"sku":"9780596520625","price":22.39,"currency_code":"GBP","in_stock":false}]}],"url":"https:\/\/bookcurl.com\/collections\/open-source-and-other-operating-systems.oembed?page=3","provider":"Book Curl","version":"1.0","type":"link"}