Open source and other operating systems Books

71 products


  • The AWK Programming Language

    Pearson Education (US) The AWK Programming Language

    2 in stock

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

    2 in stock

    £28.79

  • Design and Implementation of the FreeBSD

    Pearson Education (US) Design and Implementation of the FreeBSD

    1 in stock

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

    1 in stock

    £51.29

  • UNIX and Linux System Administration Handbook

    Penguin Putnam Inc UNIX and Linux System Administration Handbook

    15 in stock

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

    15 in stock

    £51.29

  • LPIC2 Linux Professional Institute Certification

    John Wiley & Sons Inc LPIC2 Linux Professional Institute Certification

    15 in stock

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

    15 in stock

    £43.50

  • Absolute Freebsd, 3rd Edition: The Complete Guide

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

    2 in stock

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

    2 in stock

    £46.49

  • Certified Kubernetes Administrator CKA Study

    O'Reilly Media Certified Kubernetes Administrator CKA Study

    5 in stock

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

    5 in stock

    £39.74

  • Learning the vi and Vim Editors

    O'Reilly Media Learning the vi and Vim Editors

    10 in stock

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

    10 in stock

    £39.74

  • gRPC Up and Running

    O'Reilly Media gRPC Up and Running

    1 in stock

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

    1 in stock

    £31.99

  • Art of UNIX Programming The

    Pearson Education (US) Art of UNIX Programming The

    4 in stock

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

    4 in stock

    £36.44

  • Shell Programming in Unix Linux and OS X

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

    1 in stock

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

    1 in stock

    £31.82

  • Ubuntu Linux Unleashed 2021 Edition

    Pearson Education (US) Ubuntu Linux Unleashed 2021 Edition

    15 in stock

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

    15 in stock

    £41.30

  • Advanced Programming in the UNIX Environment

    Pearson Education (US) Advanced Programming in the UNIX Environment

    4 in stock

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

    4 in stock

    £46.79

  • C and UNIX

    John Wiley & Sons Inc C and UNIX

    15 in stock

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

    15 in stock

    £140.35

  • Grep Pocket Reference

    O'Reilly Media Grep Pocket Reference

    1 in stock

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

    1 in stock

    £16.99

  • TclTk for Programmers

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

    15 in stock

    Book Synopsis

    15 in stock

    £84.56

  • The OpenBSD PF Packet Filter Book

    Reed Media Services The OpenBSD PF Packet Filter Book

    15 in stock

    15 in stock

    £18.40

  • The Best of FreeBSD Basics

    Reed Media Services The Best of FreeBSD Basics

    15 in stock

    15 in stock

    £30.87

  • Linux Server Security

    John Wiley & Sons Inc Linux Server Security

    7 in stock

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

    7 in stock

    £34.19

  • Raspberry Pi Hacks

    O'Reilly Media Raspberry Pi Hacks

    1 in stock

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

    1 in stock

    £15.99

  • MicroPython for the Internet of Things A

    APress MicroPython for the Internet of Things A

    1 in stock

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

    1 in stock

    £54.99

  • Modeling and Animation Using Blender

    APress Modeling and Animation Using Blender

    1 in stock

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

    1 in stock

    £44.99

  • Python Projects for Beginners

    Apress Python Projects for Beginners

    1 in stock

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

    1 in stock

    £44.99

  • Cognitive Virtual Assistants Using Google

    APress Cognitive Virtual Assistants Using Google

    1 in stock

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

    1 in stock

    £29.99

  • Java 17 for Absolute Beginners

    APress Java 17 for Absolute Beginners

    1 in stock

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

    1 in stock

    £49.49

  • Beginning Rust

    APress Beginning Rust

    15 in stock

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

    15 in stock

    £46.74

  • Cloud Native Integration with Apache Camel

    Apress Cloud Native Integration with Apache Camel

    1 in stock

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

    1 in stock

    £46.74

  • Natural Language Processing Recipes

    APress Natural Language Processing Recipes

    1 in stock

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

    1 in stock

    £41.24

  • Beginning  IntelliJ IDEA

    APress Beginning IntelliJ IDEA

    5 in stock

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

    5 in stock

    £37.99

  • Beginning Game Development with Godot

    APress Beginning Game Development with Godot

    15 in stock

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

    15 in stock

    £46.74

  • NSXT Logical Routing

    APress NSXT Logical Routing

    1 in stock

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

    1 in stock

    £46.74

  • Web Application Development with Streamlit

    APress Web Application Development with Streamlit

    2 in stock

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

    2 in stock

    £49.49

  • Programming 101

    APress Programming 101

    1 in stock

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

    1 in stock

    £49.49

  • Getting Started with Grafana

    APress Getting Started with Grafana

    1 in stock

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

    1 in stock

    £42.74

  • Practical Haskell

    APress Practical Haskell

    1 in stock

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

    1 in stock

    £49.49

  • Learn JavaFX Game and App Development

    APress Learn JavaFX Game and App Development

    1 in stock

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

    1 in stock

    £44.99

  • Introduction to Infrastructure as Code

    APress Introduction to Infrastructure as Code

    1 in stock

    Book SynopsisGet 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.You will first gain an understanding of DevOps culture as well as how to adapt to IaC. Introduction to Infrastructure as Code 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.Authors 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.Table of ContentsPART 1: CONCEPTSChapter 1: Introduction to Infrastructure as CodeChapter Goal: Understand DevOps culture and fundamentals of Infrastructure as CodeChapter 2: Patterns and Principles of IaCChapter Goal: Learn about every layer of Infrastructure as Code stackChapter 3: Infrastructure ManagementChapter Goal: Explains management of infrastructure in a holistic mannerChapter 4: Production Complexity ManagementChapter Goal: Learn how to maintain, deploy, and scale infrastructure with respect to various environmentsChapter 5: Business SolutionsChapter Goal: Helps you familiarize and understand business aspects and future scope of IaCPART 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 TerraformChapter 7: Hands-on IaC with PuppetChapter Goal: Take you through with another popular open-source IaC tool - PuppetChapter 8: Hands-on IoC with ChefChapter Goal: Helps you with hands-on experience with another popular open-source IaC tool - Chef

    1 in stock

    £26.99

  • Introducing ReScript

    APress Introducing ReScript

    1 in stock

    Book SynopsisThis 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. Table of ContentsChapter 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

    1 in stock

    £22.49

  • Beginning Ubuntu for Windows and Mac Users

    APress Beginning Ubuntu for Windows and Mac Users

    1 in stock

    Book SynopsisCompletely updated for this exciting third edition, Beginning Ubuntu for Windows and Mac Users will help you start your journey into Free and Open Source Software with Ubuntu 22.04.1 LTS with GNOME 42.This 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.You''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. ITable of ContentsChapter 1: Installing Ubuntu Preparing to Install Ubuntu Installing Ubuntu Installing Kubuntu Installing Xubuntu Installing Lubuntu Installing Ubuntu MATE Installing Ubuntu Unity Install Ubuntu Server Install a minimal Ubuntu system Multiple Operating Systems Chapter 2: Getting Started with Ubuntu Ubuntu Desktop Installing and Updating Software Managing User Accounts Finding Things in Ubuntu Instead of Windows Finding Things in Ubuntu instead of macOS Connecting to a Windows Desktop Remotely Running Windows Applications Connecting to Windows Shared Folders and Printers Sharing Files and Printers with Other Computers Sharing Office Documents with Others Sharing Photos and Graphics with Others Formatting Disks to Work with Other Operating Systems Chapter 3: Productivity at Home and Work Writing documents Without Distractions using FocusWriter Managing your Personal Finances Using HomeBank Managing Your Professional Email, Contacts, and Calendar Using Evolution Managing your Calendar with Thunderbird using Lightning Integrating your Online Accounts with Ubuntu Organizing Your Thoughts with Mind-Mapping Software using Freeplane Personal Wiki Note Taking Software Using Tomboy Installing Additional Language Support Keeping Track of Your Personal Time Management Using Hamster Organizing Collections of Books, Movies, Games, and More Using Tellico Managing Your Ebook Library Using Calibre Printing Labels and Cards Using gLabels Backing Up and Restoring Personal Files using Backup Capturing Screenshots and Recording Your Desktop Using Screenshot and Kazam Chapter 4: Enjoying media and other entertainment Play DVDs and Media Files Organize Your CD and Digital Music Collection Using Rhythmbox Back Up and Create Music CDs Using Brasero Create Video DVDs using DevedeNG Organize and Edit Your Photos Using Shotwell Record and Process Audio Using Audacity Play MIDI Files Explore the Universe Using Stellarium Play Legacy PC Games Play Commercial Games Using Steam Chapter 5: Command-Line Tricks and Applications Introduction to the Command Line See What’s Running on Your Computers Multitask on the Command Line Diagnose a Connection to a Server View Information About the Operating System Add New Users via Command Line Check Your Disk Space Edit Text Files Read Email Browse the Web IRC Play Text-Based Games Chapter 6: Power User Tools Manage Running Processes Managing Disks and Thumb Drives Using Multiple Workspaces Installing Alternate Desktop Environments Installing Software from the Command Line Expand Your Software Options Creating Application Launchers for Programs Working with Virtual Machines

    1 in stock

    £41.24

  • Beginning Ethereum Smart Contracts Programming

    APress Beginning Ethereum Smart Contracts Programming

    1 in stock

    Book SynopsisUse 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! Beginning Ethereum Smart Contracts Programming, second edition 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. You will learn about smart contracts without haviTable of Contents---NEW Chapter---- Chapter 1 - Technologies Behind Blockchain Basic Cryptography Types of Cryptographic algorithms Symmetric Asymmetric Hashing Digital Signature Summary Chapter 2 - Understanding Blockchain ---NEW Section--- Consensus Protocols Proof of Stake (PoS) Proof of Elapsed Time Proof of Space ... ----------------- Chapter 3 - Implementing Your Own Blockchain using Python Chapter 4 - Connecting to the Ethereum Blockchain using Geth Chapter 5 - Creating Your Own Private Ethereum Test Networks Chapter 6 - Using the Crypto Wallet - MetaMask Chapter 7 - Getting Started with Solidity Smart Contracts Chapter 8 - Testing Smart Contracts using Ganache Chapter 9 - Building Decentralized Apps using the web3.js APIs Chapter 10 - Handling Smart Contract Events Chapter 11 - Project - Online Lottery Chapter 12 - Creating Tokens using ERC-20 ---revised using OpenZepplin’s contract--- ---NEW Chapters---- Chapter 13 - Creating Non-Fungible Tokens using ERC-721 What is a NFT? Storing Digital Assets using IPFS What is IPFS Uploading a file to IPFS Accessing a file from IPFS NFT and IPFS Creating the NFT Token Contract Deploying the contract Minting the NFT Token Contract Getting the Owner of the NFT Getting the Name and Symbol of NFT Finding the Balance of NFT for an Address Getting the Owner of the NFT Getting the TokenURI Transferring a NFT Transferring Ownership of the NFT Contract Chapter 14 – Introduction to DeFi What is Decentralized Finance Stablecoins Types of Stablecoins USDC DAI Services in DeFi Components in DeFi Applications of DeFi ------------------

    1 in stock

    £41.24

  • Practical Rust Projects

    APress Practical Rust Projects

    1 in stock

    Book SynopsisGo 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.   Each 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. Practical Rust Projects, Second Edition 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 varTable of Contents1. 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?---------------------------------------------------------1. Welcome to the World of Rust * Add a note on what's changed in the 2nd edition. * Add a note on Rust 20212. Building a Command-Line Program3. Creating Graphical User Interfaces (GUIs) * Upgrade to GTK 4?4. High-performance Web Frontend using WebAssembly5. Building REST APIs 6. 6. Going Serverless with Amazon AWS Rust SDK * Using the new AWS SDK for Rust and Rust runtime for AWS Lambda7. Building a Game * Use a different game engine because the one used in the 1st edition seized development8. Physical Computing in Rust * Maybe add a section on using WebAssembly on RPi9. Artificial Intelligence and Machine Learning * Maybe add a section on deep learning10. What else can you do with Rust? * Remove the web part that is included in 2nd edition

    1 in stock

    £46.74

  • Beginning C23

    APress Beginning C23

    3 in stock

    Book SynopsisBegin your programming journey with C++ , starting with the basics and progressing through step-by-step examples that will help you become a proficient C++ programmer. This book includes new features from the C++23 standard. All you need are Beginning C++23and any recent C++ compiler and you'll soon be writing real C++ programs.There is no assumption of prior programming knowledge. All language concepts that are explained in the book are illustrated with working program examples, and all chapters include exercises for you to test and practice your knowledge. Free source code downloads are provided for all examples from the text and solutions to the exercises.This latest edition has been fully updated to the latest version of the language, C++23, and to all conventions and best practices of modern C++. This bookalso introduces elements of the C++ Standard Library that provide essential support for C++23. After completing this book, you will have the knowledge and skills needed to build your first C++ applications.What You Will LearnBegin programming with the C++23 standardCarry out modular programming in C++Work with arrays and loops, pointers and references, strings, and moreWrite your own functions, types, and operatorsDiscover the essentials of object-oriented programmingUse overloading, inheritance, virtual functions, and polymorphismWrite generic function and class templates, and make them safer using conceptsLearn the ins and outs of containers, algorithms, and rangesUse auto type declarations, exceptions, move semantics, lambda expressions, and much moreWho This Book Is ForProgrammers new to C++ and those who may be looking for a refresh primer on C++ in general.Table of Contents1. Basic Ideas2. Introducing Fundamental Types of Data3. Working Fundamental Types4. Making Decisions5. Arrays and Loops6. Pointers and References7. Working with Strings8. Defining Functions9. Vocabulary Types10. Function Templates11. Modules and Namespaces12. Defining your own Data Types13. Operator Overloading14. Inheritance15. Polymorphism16. Runtime Errors and Exceptions17. Class Templates18. Move Semantics19. First-Class Functions20. Containers and Algorithms21. Constrained Templates and ConceptsAppendix A (online only; to be offered as part of source code download)

    3 in stock

    £46.74

  • Kafka Troubleshooting in Production

    APress Kafka Troubleshooting in Production

    1 in stock

    Book SynopsisThis 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 Table of Contents

    1 in stock

    £26.99

  • TypeScript Basics

    APress TypeScript Basics

    1 in stock

    Book SynopsisTable of Contents1.Getting Started.- 2. TypeScript Basics.- 3. TypeScript Compilers.- 4. Classes and Interfaces 5. Advanced Types 6. Generics & Decorators.- 7. To-do List With TypeScript.- 8.Drag Drop Project.- 9.Modules and Webpack.- 10. React TypeScript Project.- 11. React Redux with TypeScript..

    1 in stock

    £31.99

  • Creative Prototyping with Generative AI

    APress Creative Prototyping with Generative AI

    1 in stock

    Book SynopsisReimagine 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 generatiTable of Contents Rapid Prototyping with Generative AI​1. Introduction: Your AI Best Friend2. AI as a Creative Muse3. Prototyping with AI4. Creative Tools and Processes5. AI Structures6. The Master of Mash-Up: Leveraging AI for Prototyping7. Uncanny by Nature8. Layering AI Generation9. The Art of the Prompt10. Five Dilemmas Using AI11. AI Curator for Hire

    1 in stock

    £35.99

  • Crafting Docs for Success

    APress Crafting Docs for Success

    1 in stock

    Book SynopsisDeveloper 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 undeTable of Contents1: Approaches2: Discovery3: Editorial Workflow4: Content production5: Implementation6: Contribution7: Communication8: Accessibility9: Sustainability10. Team Roles and Responsibilities11: Metrics12:Tools

    1 in stock

    £33.99

  • Angular for Business

    APress Angular for Business

    1 in stock

    Book SynopsisPart I:Core Concepts.- 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?.- Part ii: Testing and Debugging.- 14: Test-Driven Development with Angular.- 15: Unit Testing Strategies.- 16: Debugging with Docker Containers.- Part III: The Command Line.- 17: What Do All Those Symbols Mean?.- Part IV: Source Control.- 18: Fixing Broken Git Commits.- 19: Archiving Your Git Repositories.- Part V: Communication and Training.- 20: How We Learn and Teach.- 21: Slow Down to be Noticed.- 22: Watch Your LanTable of ContentsPart I:Core Concepts.- 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?.- Part ii: Testing and Debugging.- 14: Test-Driven Development with Angular.- 15: Unit Testing Strategies.- 16: Debugging with Docker Containers.- Part III: The Command Line.- 17: What Do All Those Symbols Mean?.- Part IV: Source Control.- 18: Fixing Broken Git Commits.- 19: Archiving Your Git Repositories.- Part V: Communication and Training.- 20: How We Learn and Teach.- 21: Slow Down to be Noticed.- 22: Watch Your Language.- 23: Agile Planning and Management with Trello.- Part VI: Other Topics.- 24: Automate Screenshots with Protractor.- 25: Image Repositories.

    1 in stock

    £38.24

  • How to be a Web Developer

    APress How to be a Web Developer

    5 in stock

    Book SynopsisThis 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 Table of Contents Part I: Getting Started- IntroductionPart II: The Tech Stack - SQL Basics - HTML& CSS - GraphQL & JavaScript - The Back-End - Other Technologies You Should Know Part III: Landing Your First Role - Your First Role - Working in A Team - Project Management Methods Part IV: In Summary - Conclusions

    5 in stock

    £25.19

  • Go Crazy

    APress Go Crazy

    1 in stock

    Book SynopsisFree 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.Table of Contents

    1 in stock

    £43.99

© 2026 Book Curl

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

    Login

    Forgot your password?

    Don't have an account yet?
    Create account