Open source and other operating systems Books

73 products


  • Modern C

    Manning Publications Modern C

    1 in stock

    Book SynopsisIf you think “Modern” and “C” don’t belong in the same sentence, think again. The C standards committee actively reviews and extends the language, with updated published C standards as recently as 2018. In Modern C, author Jens Gustedt teaches you the skills and features you need to write relevant programs in this tried-and-true language, including Linux and Windows, device drivers, web servers and browsers, smartphones, and much more! Modern C teaches you to take your C programming skills to new heights, whether you’re just starting out with C or have more extensive experience. Organized by level, this comprehensive guide lets you jump in where it suits you best while still reaping the maximum benefits. Key Features Fundamentals of C programming Operators and functions Performance techniques C library functions For more than four decades, C has proved its usefulness and staying power for everything from massive systems for mainframes, satellites, and internet browsers to tiny embedded systems in vending machines, credit card readers, and alarm clocks. Today you’ll find lightning-fast, elegant C programs running in smartphone kernels, databases, 3D movies, video games, and scores of other modern applications. For programmers comfortable writing simple programs in a language like Java, Python, Ruby, C#, C++, or C. Jens Gustedt has been a senior scientist at the French National Institute for Computer Science and Control (INRIA) since 1998, working in areas including algorithms, scientific experimentation, models for coarse-grained parallelism, and distributed locking. Currently, he’s conducting the Modular C project, which has given rise to libraries such as arbogast and EiLck.

    1 in stock

    £43.19

  • Programming Android with Kotlin

    O'Reilly Media Programming Android with Kotlin

    1 in stock

    Book SynopsisWith this practical book, Android developers will learn how to make the transition from Java to Kotlin, including how Kotlin provides a true advantage for gaining control over asynchronous computations

    1 in stock

    £39.74

  • UNIX and Linux System Administration Handbook

    Penguin Putnam Inc UNIX and Linux System Administration Handbook

    1 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

    1 in stock

    £51.29

  • 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

  • Learning the vi and Vim Editors

    O'Reilly Media Learning the vi and Vim Editors

    15 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.

    15 in stock

    £39.74

  • Art of UNIX Programming The

    Pearson Education (US) Art of UNIX Programming The

    2 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.

    2 in stock

    £36.44

  • Advanced Programming in the UNIX Environment

    Pearson Education (US) Advanced Programming in the UNIX Environment

    3 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

    3 in stock

    £46.79

  • 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

  • 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

    £52.24

  • Web Application Development with Streamlit

    APress Web Application Development with Streamlit

    1 in stock

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

    1 in stock

    £49.49

  • Linux in Action

    Manning Publications Linux in Action

    2 in stock

    Book SynopsisDescription The Linux operating system powers millions of web servers, data centers, and application platforms worldwide. Whether you're pushing applications to a cloud system like AWS, building a twitter bot on a Raspberry Pi, or rescuing files from a crashed laptop, Linux is required knowledge. Linux in Action is a task-based tutorial that will give readers the skills and deep understanding they'll need to administer a Linux-based system. Key features · Hands-on guide · Step-by-step examples · Task-based Audience Readers should be comfortable working with the files, networks, and basic resources of a modern operating system. About the technology Linux makes it possible to do all kinds of really useful and creative things. For instance, you can load a Linux "live boot" image on a USB stick, boot a PC whose own hard disk has been corrupted, and troubleshoot and fix the problem.

    2 in stock

    £36.71

  • Unix in Easy Steps

    In Easy Steps Limited Unix in Easy Steps

    1 in stock

    Book SynopsisUnix in easy steps demonstrates how to get the most from any Unix-based operating system using the built-in BASH shell interpreter - the "Bourne Again SHell" (BASH). This is the default shell for Linux distributions (such as Ubuntu), Mac OS X, Solaris, and for the Raspbian operating system on Raspberry Pi devices.This book will show you how to use the BASH command-line interface and how to employ BASH''s powerful programming abilities. Complete examples illustrate each aspect with colourised source code and full-colour screenshots depict the actual output. Unix in easy steps begins by demonstrating BASH commands for system navigation and file manipulation so you will quickly become familiar with the command-line interface. It explains all the BASH basics before moving on to describe advanced features such as: Command history. Command-line editing. Environment customisation. This book then introduces BASH programming with examples of flow control, command switches, input/output, job control, and program debugging - allowing you to create your own executable programs by copying the book''s examples. Unix in easy steps has an easy-to-follow style that will appeal to: Users who are completely new to Unix-based operating systems. Casual users who wish to expand their knowledge of their computer system. Those who would like to learn programming skills by writing useful shell scripts. The student who is studying programming at school or college. Those seeking a career in computing and need a fundamental understanding of the BASH interpreter on Unix-based operating systems.

    1 in stock

    £10.44

  • Introduction to Infrastructure as Code

    APress Introduction to Infrastructure as Code

    3 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

    3 in stock

    £26.99

  • How JavaScript Works

    APress How JavaScript Works

    15 in stock

    Book SynopsisJavaScript is a complicated language with a lot of misinformation surrounding how it works. This book provides a comprehensive introduction to JavaScript, from how it works at a technical level to how it is used to create websites and applications. Everything you need to know to start a career in JavaScript development is covered here. How JavaScript Worksbeginswith a practical introduction of the basics before moving into the technical underpinnings of JavaScript, detailing everything you need to know, including variables, memory storage, functions, classes, types, maps, sets and APIs.Once you've fully absorbed these key topics. author Jonathan Simpson will show you how to put them into practice, demonstrating how they are employed for modern web development. You'll learn how to use JavaScript with HTML and CSS to construct web pages and applications, how to change CSS with JavaScript, and how to utilize Fetch and asynchronous operations. Uponcompleting this book, you will have thTable of ContentsCh1 Introduction to JavaScript.- Ch2 Variables, Comments, and Logical Statements.- Ch3 Introduction to Objects, Arrays.- Ch4 Loops and Iterables.- Ch5 References, Values, and Memory Management.- Ch6 Functions and Classes.- Ch7 Types.- Ch8 Manipulating and Interacting with HTML.- Ch9 Maps and Sets.- Ch10 Fetching Data, APIs and Promises.- Ch11 Errors and the Console.- Ch12 Maps and Sets.- Ch13 Websockets.- Conclusion.- Appendix.

    15 in stock

    £29.69

  • 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

  • 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

    £41.24

  • Kotlin and Android Develoment featuring Jetpack:

    The Pragmatic Programmers Kotlin and Android Develoment featuring Jetpack:

    1 in stock

    Book SynopsisStart building native Android apps the modern way in Kotlin with Jetpack's expansive set of tools, libraries, and best practices. Learn how to create efficient, resilient views with Fragments and share data between the views with ViewModels. Use Room to persist valuable data quickly, and avoid NullPointerExceptions and Java's verbose expressions with Kotlin. You can even handle asynchronous web service calls elegantly with Kotlin coroutines. Achieve all of this and much more while building two full-featured apps, following detailed, step-by-step instructions. With Kotlin and Jetpack, Android development is now smoother and more enjoyable than ever before. Dive right in by developing two complete Android apps. With the first app, Penny Drop, you create a full game complete with random die rolls, customizable rules, and AI opponents. Build lightweight Fragment views with data binding, quickly and safely update data with ViewModel classes, and handle all app navigation in a single location. Use Kotlin with Android-specific Kotlin extensions to efficiently write null-safe code without all the normal boilerplate required for pre-Jetpack + Kotlin apps. Persist and retrieve data as full objects with the Room library, then display that data with ViewModels and list records in a RecyclerView. Next, you create the official app for the Android Baseball League. It's a fake league but a real app, where you use what you learn in Penny Drop and build up from there. Navigate all over the app via a Navigation Drawer, including specific locations via Android App Links. Handle asynchronous and web service calls with Kotlin Coroutines, display that data smoothly with the Paging library, and send notifications to a user's phone from your app. Come build Android apps the modern way with Kotlin and Jetpack! What You Need: You'll need the Android SDK, a text editor, and either a real Android device or emulator for testing. While not strictly required, it's assumed you're using Android Studio, which comes with the Android SDK and simplifies creating an emulator. Also, a few examples require JDK 1.8 or later, though all of these pieces can be completed in other ways when using JDK 1.6.

    1 in stock

    £37.99

  • Developer Experience Unleashed: The Art of Crafting  Efficient Developer Environments

    Springer-Verlag Berlin and Heidelberg GmbH & Co. KG Developer Experience Unleashed: The Art of Crafting Efficient Developer Environments

    10 in stock

    Book SynopsisExplore the intricate world of developer experience (DX) and its impact on the software development process. This book delves into the critical components of DX, such as documentation, tooling, API design, developer support, performance, and reliability, providing actionable insights and strategies to help organizations create development environments that foster productivity, collaboration, and satisfaction among developers.The main topics you’ll review include the evolution of software development methodologies, the intersection of user experience (UX) and DX, and an in-depth exploration of the critical components of DX. You’ll also look at practical approaches to improving DX, real-world examples of organizations that have successfully transformed their developer experience, and a discussion of DX's future trends and challenges. These topics are crucial as the software development landscape has become increasingly complex and competitive. Developer experience is no longer a luxury but a necessity for organizations seeking to attract top talent, drive innovation, and stay ahead in the industry. As the line between UX and DX continues to blur, it is imperative to understand how these two aspects are intertwined and how they can synergistically contribute to the success of software projects. Moreover, these topics are particularly relevant now, as remote work and distributed teams become more commonplace, making it even more critical for organizations to provide developers with the resources, tools, and support they need to be successful. Developer Experience Unleashed will inspire you to recognize the critical role of DX in the software development process and to adopt best practices that foster a synergistic environment where developers and users can thrive together. What You’ll Learn The evolution of software development methodologies Key DX concepts and components Strategies for Improving DX The interconnected nature between DX and user experience Current trends and challenges facing teams and businesses Future trends and opportunities in DX Who This Book Is For Software development professionals, team leads, managers, and executives interested in understanding and improving the developer experience within their organizations.Table of ContentsDeveloper Experience Unleashed CHAPTER 1: INTRODUCTION TO DEVELOPER EXPERIENCECHAPTER 2: THE ESSENCE OF DEVELOPER EXPERIENCECHAPTER 3: DEVELOPER EXPERIENCE AS A COMPETITIVE ADVANTAGECHAPTER 4: CRAFTING EXCEPTIONAL DOCUMENTATIONCHAPTER 5: STREAMLINING DEVELOPER TOOLINGCHAPTER 6: DESIGNING DEVELOPER-CENTRIC APISCHAPTER 7: PROVIDING STELLAR DEVELOPER SUPPORTCHAPTER 8: ENSURING PERFORMANCE AND RELIABILITY CHAPTER 9: MEASURING DEVELOPER EXPERIENCECHAPTER 10: REAL-WORLD IMPROVEMENT STRATEGIESCHAPTER 11: DEVELOPER EXPERIENCE CASE STUDIESCHAPTER 12: THE FUTURE OF DEVELOPER EXPERIENCECHAPTER 13: INTERVIEWS AND EXPERT INSIGHTS (unconfirmed)CHAPTER 14: CONCLUSION (unconfirmed)APPENDIX A: RESOURCES AND FURTHER READINGAPPENDIX B: TOOLS AND TECHNOLOGIES RECOMMENDATIONSAPPENDIX C: TEMPLATES AND CHECKLISTSAPPENDIX D: FREQUENTLY ASKED QUESTIONS (FAQS)

    10 in stock

    £41.24

  • Ubuntu Linux Unleashed 2021 Edition

    Pearson Education (US) Ubuntu Linux Unleashed 2021 Edition

    20 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

    20 in stock

    £42.13

  • 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

  • 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

  • Building Computer Vision Applications Using

    APress Building Computer Vision Applications Using

    1 in stock

    Book SynopsisComputer vision is constantly evolving, and this book has been updated to reflect new topics that have emerged in the field since the first edition's publication. All code used in the book has also been fully updated. This second edition features new material covering image manipulation practices, image segmentation, feature extraction, and object identification using real-life scenarios to help reinforce each concept. These topics are essential for building advanced computer vision applications, and you'll gain a thorough understanding of them. The book's source code has been updated from TensorFlow 1.x to 2.x, and includes step-by-step examples using both OpenCV and TensorFlow with Python. Upon completing this book, you'll have the knowledge and skills to build your own computer vision applications using neural networksWhat You Will LearnUnderstand image processing, manipulation techniques, and feature extractionmethodsWork with convolutional neural networks (CNN), single-shot deteTable of Contents

    1 in stock

    £49.49

  • LPIC2 Linux Professional Institute Certification

    John Wiley & Sons Inc LPIC2 Linux Professional Institute Certification

    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

    £46.40

  • 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

    £29.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

  • 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

  • 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

    £26.99

  • 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

  • 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

    £29.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

    £33.74

  • 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

    £41.24

  • Database Performance at Scale

    APress Database Performance at Scale

    1 in stock

    Book SynopsisDiscover critical considerations and best practices for improving database performance based on what has worked,and failed,across thousands of teams and use cases in the field. This open access book provides practicalguidance for understanding thedatabase-related opportunities, trade-offs, and traps you might encounter while trying to optimize data-intensive applications for high throughput and low latency. Whether you are building a new system from the ground up or trying to optimize an existing use casefor increased demand, this book covers the essentials. The book begins with a look at the many factors impacting database performance at the extreme scale that today's game changing applications faceor at least hope to achieve. You'll gain insight into the performance impact of both technical and business requirements, and how those should influence your decisions around databaseinfrastructureand topology. The authors share an inside perspective on often-overlooked engiTable of Contents1: A Taste of What You’re Up Against: Two Tales.- 2: Your Project, Through the Lens of Database Performance .- 3: Database Internals: Hardware and Operating System Interactions.- 4: Database Internals: Algorithmic Optimizations.- 5: Database Drivers.- 6: Getting Data Closer.- 7: Infrastructure and Deployment Model.- 8: Topology Considerations.- 9: Benchmarking.- 10: Monitoring.- 11: Administration.- Appendix: A Brief Look at Fundamental Database Design Decisions.

    1 in stock

    £37.49

  • DatabaseDriven Web Development

    APress DatabaseDriven Web Development

    1 in stock

    Book SynopsisThis book will teach you the essential knowledge required to be a successful and productive web developer with the ability to produce cutting-edge websites utilizing a database. This updated edition starts with the fundamentals of web development before delving into Perl and MySQL concepts such as script and database modelling, script-driven database interactions, content generation from a database, and information delivery from the server to the browser and vice versa. The only skills required to get the most from this book are basic knowledge of how the Internet works and a novice skill level with Perl and MySQL. The rest is intuitively presented code that most people can quickly and easily understand and employ. An extensive selection of practical, fully functional programming constructs in six different programming languages will give you the knowledge and tools required to create eye-catching, capable, and functionally impressive database-driven websites.Author Thomas Valentine Table of Contents

    1 in stock

    £33.74

  • Understanding Unix

    PHI Learning Understanding Unix

    1 in stock

    Book Synopsis

    1 in stock

    £6.18

  • Test Your Unix Skills

    BPB Publications Test Your Unix Skills

    2 in stock

    Book Synopsis

    2 in stock

    £7.88

  • Springer Guide to Assembly Language Programming in Linux

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £113.99

  • Springer Intelligent Help Systems for Unix

    15 in stock

    a huge range and FREE tracked UK delivery on ALL orders.

    15 in stock

    £132.00

  • The OpenBSD PF Packet Filter Book

    Reed Media Services The OpenBSD PF Packet Filter Book

    15 in stock

    15 in stock

    £19.32

  • The Best of FreeBSD Basics

    Reed Media Services The Best of FreeBSD Basics

    15 in stock

    15 in stock

    £32.07

  • Lion's Commentary on UNIX with Source Code

    Peer to Peer,U.S. Lion's Commentary on UNIX with Source Code

    15 in stock

    15 in stock

    £29.40

  • From Bash to Z Shell: Conquering the Command Line

    APress From Bash to Z Shell: Conquering the Command Line

    15 in stock

    Book Synopsis* In-depth, unique coverage of ZSH, one of most modern and powerful of all shells. Also covers Bash, the preferred shell for most serious Linux and Unix users. * Very strong author and tech review team: Co-author Peter Stephenson has been involved in the development of Zsh since the 1990s when he started to write the FAQ. For the last few years, he has served as coordinator of the shell's development. Tech Reviewers: Ed Schaefer is the "Shell Corner" columnist for SysAdmin Magazine and Bart Schaefer is one of the lead developers of Zsh development. * Book is immediately useful, packed with short example and suggestions that the reader can put to use in their shell environment. * Extensive coverage of interactive and advanced shell features, including shell extensions, completion functions, and shortcuts. * Great book for users of all expertise; perennial seller. Table of ContentsA table of contents is not available for this title.

    15 in stock

    £52.24

  • Ed Mastery: The Standard Unix Text Editor

    Tilted Windmill Press Ed Mastery: The Standard Unix Text Editor

    15 in stock

    15 in stock

    £8.99

  • Relayd and Httpd Mastery

    Tilted Windmill Press Relayd and Httpd Mastery

    15 in stock

    15 in stock

    £22.49

  • Sudo Mastery

    Tilted Windmill Press Sudo Mastery

    15 in stock

    15 in stock

    £22.49

  • Ed Mastery

    Tilted Windmill Press Ed Mastery

    15 in stock

    15 in stock

    £26.99

  • DNSSEC Mastery, 2nd Edition

    Tilted Windmill Press DNSSEC Mastery, 2nd Edition

    15 in stock

    15 in stock

    £31.49

  • Kali Linux 2: Windows Penetration Testing

    Packt Publishing Limited Kali Linux 2: Windows Penetration Testing

    15 in stock

    Book SynopsisKali Linux: a complete pentesting toolkit facilitating smooth backtracking for working hackers About This Book • Conduct network testing, surveillance, pen testing and forensics on MS Windows using Kali Linux • Footprint, monitor, and audit your network and investigate any ongoing infestations • Customize Kali Linux with this professional guide so it becomes your pen testing toolkit Who This Book Is For If you are a working ethical hacker who is looking to expand the offensive skillset with a thorough understanding of Kali Linux, then this is the book for you. Prior knowledge about Linux operating systems and the BASH terminal emulator along with Windows desktop and command line would be highly beneficial. What You Will Learn • Set up Kali Linux for pen testing • Map and enumerate your Windows network • Exploit several common Windows network vulnerabilities • Attack and defeat password schemes on Windows • Debug and reverse-engineer Windows programs • Recover lost files, investigate successful hacks and discover hidden data in innocent-looking files • Catch and hold admin rights on the network, and maintain backdoors on the network after your initial testing is done In Detail Microsoft Windows is one of the two most common OS and managing its security has spawned the discipline of IT security. Kali Linux is the premier platform for testing and maintaining Windows security. Kali is built on the Debian distribution of Linux and shares the legendary stability of that OS. This lets you focus on using the network penetration, password cracking, forensics tools and not the OS. This book has the most advanced tools and techniques to reproduce the methods used by sophisticated hackers to make you an expert in Kali Linux penetration testing. First, you are introduced to Kali's top ten tools and other useful reporting tools. Then, you will find your way around your target network and determine known vulnerabilities to be able to exploit a system remotely. Next, you will prove that the vulnerabilities you have found are real and exploitable. You will learn to use tools in seven categories of exploitation tools. Further, you perform web access exploits using tools like websploit and more. Security is only as strong as the weakest link in the chain. Passwords are often that weak link. Thus, you learn about password attacks that can be used in concert with other approaches to break into and own a network. Moreover, you come to terms with network sniffing, which helps you understand which users are using services you can exploit, and IP spoofing, which can be used to poison a system's DNS cache. Once you gain access to a machine or network, maintaining access is important. Thus, you not only learn penetrating in the machine you also learn Windows privilege's escalations. With easy to follow step-by-step instructions and support images, you will be able to quickly pen test your system and network. Style and approach This book is a hands-on guide for Kali Linux pen testing. This book will provide all the practical knowledge needed to test your network's security using a proven hacker's methodology. The book uses easy-to-understand yet professional language for explaining concepts.

    15 in stock

    £47.23

© 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