TL;DR: Building on their widely praised first edition, leading Linux programmers Michael Johnson and Erik Troan systematically present the key APIs and techniques you need to create robust, secure, efficient software or to port existing code to Linux.
Abstract: "The first edition of this book has always been kept within arm's reach of my desk due to the wonderful explanations of all areas of the Linux userspace API. This second edition greatly overshadows the first one, and will replace it."--Greg Kroah-Hartman, Linux kernel programmer Develop Software that Leverages the Full Power of Today's Linux Linux Application Development, Second Edition, is the definitive reference for Linux programmers at all levels of experience, including C programmers moving from other operating systems. Building on their widely praised first edition, leading Linux programmers Michael Johnson and Erik Troan systematically present the key APIs and techniques you need to create robust, secure, efficient software or to port existing code to Linux. This book has been fully updated for the Linux 2.6 kernel, GNU C library version 2.3, the latest POSIX standards, and the Single Unix Specification, Issue 6. Its deep coverage of Linux-specific extensions and features helps you take advantage of the full power of contemporary Linux. Along the way, the authors share insights, tips, and tricks for developers working with any recent Linux distribution, and virtually any version of Unix. Topics includeDeveloping in Linux: understanding the operating system, licensing, and documentation The development environment: compilers, linker and loader, and unique debugging tools System programming: process models, file handling, signal processing, directory operations, and job control Terminals, sockets, timers, virtual consoles, and the Linux console Development libraries: string matching, terminal handling, command-line parsing, authentication, and more Hundreds of downloadable code samples New to this editionThe GNU C library (glibc), underlying standards, and test macros Writing secure Linux programs, system daemons, and utilities Significantly expanded coverage of memory debugging, including Valgrind and mpr Greatly improved coverage of regular expressions IPv6 networking coverage, including new system library interfaces for using IPv6 and IPv4 interchangeably Coverage of strace, ltrace, real-time signals, poll and epoll system calls, popt library improvements, Pluggable Authentication Modules (PAM), qdbm, and much more Improved index and glossary, plus line-numbered code examples
TL;DR: Leading Linux programmers Michael Johnson and Erik Troan systematically present the key APIs and techniques you need to create robust, secure, efficient software or to port existing code to Linux.
Abstract: Develop Software that Leverages the Full Power of Today's LinuxLinux Application Development, Second Edition, is the definitive reference for Linux programmers at all levels of experience, including C programmers moving from other operating systems. Building on their widely praised first edition, leading Linux programmers Michael Johnson and Erik Troan systematically present the key APIs and techniques you need to create robust, secure, efficient software or to port existing code to Linux.This book has been fully updated for the Linux 2.6 kernel, GNU C library version 2.3, the latest POSIX standards, and the Single Unix Specification, Issue 6. Its deep coverage of Linux-specific extensions and features helps you take advantage of the full power of contemporary Linux. Along the way, the authors share insights, tips, and tricks for developers working with any recent Linux distribution, and virtually any version of Unix.Topics include Developing in Linux: understanding the operating system, licensing, and documentation The development environment: compilers, linker and loader, and unique debugging tools System programming: process models, file handling, signal processing, directory operations, and job control Terminals, sockets, timers, virtual consoles, and the Linux console Development libraries: string matching, terminal handling, command-line parsing, authentication, and more Hundreds of downloadable code samplesNew to this edition The GNU C library (glibc), underlying standards, and test macros Writing secure Linux programs, system daemons, and utilities Significantly expanded coverage of memory debugging, including Valgrind and mpr Greatly improved coverage of regular expressions IPv6 networking coverage, including new system library interfaces for using IPv6 and IPv4 interchangeably Coverage of strace, ltrace, real-time signals, poll and epoll system calls, popt library improvements, Pluggable Authentication Modules (PAM), qdbm, and much more Improved index and glossary, plus line-numbered code examples
TL;DR: The main idea is to create a so called ant that tries to play as well as possible, given that it has to be very fast and slightly randomized, and use these ants to play the game from the current state to the end several times and make use of the information from these possible futures.
Abstract: Go is an ancient game, for which it has proven to be very difficult to create an artificial player. Go81 is yet another try in that direction. The main idea is as follows: firstly, create a so called ant that tries to play as well as possible, given that it has to be very fast and slightly randomized. Secondly, use these ants to play the game from the current state to the end several times and make use of the information from these possible futures. This approach avoids the evaluation of an unfinished game, which is perhaps the one thing that makes computer Go so difficult. Two versions of Go81, one for Palm and one for a Linux console, are tested against a shareware program AIGO for Palm and an open source project GNU Go accordingly. The Palm version is as strong as AIGO and the console version is two stones weaker than GNU Go on a 9 by 9 board. The proposed approach can also be used to generate interesting data to be studied with machine learning techniques.
TL;DR: The results show that the terminal can not only provide basic personal information management and telephone call management functions, but also realize network functions such as browser, email and MSN Messenger, making the telephone a convenient and practical intelligent information terminal.
Abstract: With the continuous development of information technology and numerical control technology, the network management of numerical control industry has become inevitable. Aiming at the problem that there is no remote monitoring platform for some old machine tools, the design and implementation scheme of remote monitoring system for CNC machine tools based on embedded Linux is proposed. The LCD driver is tested and validated on the experimental platform of distribution transformer monitoring terminal. The results show that the terminal can not only provide basic personal information management and telephone call management functions, but also realize network functions such as browser, email and MSN Messenger, making the telephone a convenient and practical intelligent information terminal.
TL;DR: This paper presents the new project HLA Proxy, a C++ prototype middleware providing universal and transparent access to the HLA infrastructure for not HLA-capable applications, thus allowing cross-platform, distributed connection to environments and between environments.
Abstract: Coupling virtual environments (eg game engines like Source Engine or Unreal Engine 3) with agent reasoning systems (ARS) is often used in the multi-agent systems (MAS) research field However, externally connecting ARS or MAS to environments almost always requires individual approach for every coupling Therefore, we recognize the need for a common method of access, without the need to implement a network stack, network protocol or data management In this paper, we present our new project HLA Proxy utilizing the High Level Architecture (HLA) standard (IEEE 1516-2010) for interconnecting simulations and simulators We created a C++ prototype middleware providing universal and transparent access to the HLA infrastructure for not HLA-capable applications (ie ARS, MAS, visualization tools etc), thus allowing cross-platform, distributed connection to environments and between environments Our work is aimed at being directly integrated into the environment (ie engine) and application via dynamic linkage Here, we present our architecture and our proof-of-concept integration into CryENGINE 3 (used for the Crysis game) and Source Engine (used for the HalfLife 2 game) running on Windows XP 32bit and Windows 7 64bit platforms We also implemented a 64bit Linux console application utilizing HLA Proxy to connect to both engines capable to send console commands and receive environment updates