TopBar

You are viewing the archive for the ‘books’ category.

Linux System Programming: Talking Directly to the Kernel and C Library

0
January 13, 2008

This book is about writing software that makes the most effective use of the system you’re running on — code that interfaces directly with the kernel and core system libraries, including the shell, text editor, compiler, debugger, core utilities, and system daemons. The majority of both Unix and Linux code is still written at the system level, and Linux System Programming focuses on everything above the kernel, where applications such as Apache, bash, cp, vim, Emacs, gcc, gdb, glibc, ls, mv, and X exist.

Written primarily for engineers looking to program (better) at the low level, this book is an ideal teaching tool for any programmer. Even with the trend toward high-level development, either through web software (such as PHP) or managed code (C#), someone still has to write the PHP interpreter and the C# virtual machine. Linux System Programming gives you an understanding of core internals that makes for better code, no matter where it appears in the stack. Debugging high-level code often requires you to understand the system calls and kernel behavior of your operating system, too.

Key topics include:

  • An overview of Linux, the kernel, the C library, and the C compiler
  • Reading from and writing to files, along with other basic file I/O operations, including how the Linux kernel implements and manages file I/O
  • Buffer size management, including the Standard I/O library
  • Advanced I/O interfaces, memory mappings, and optimization techniques
  • The family of system calls for basic process management
  • Advanced process management, including real-time processes
  • File and directories-creating, moving, copying, deleting, and managing them
  • Memory management — interfaces for allocating memory, managing the memory you have, and optimizing your memory access
  • Signals and their role on a Unix system, plus basic and advanced signal interfaces
  • Time, sleeping, and clock management, starting with the basics and continuing through POSIX clocks and high resolution timers

With Linux System Programming, you will be able to take an in-depth look at Linux from both a theoretical and an applied perspective as you cover a wide range of programming topics.

[Download link]

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Posted in: books |

[ebook]Minimal Perl for UNIX & Linux people. 2007.(MANNING)

0
December 12, 2007

Details

  • Paperback: 450 pages
  • Publisher: Manning Publications; 1 edition (October 1, 2006)
  • Language: English
  • ISBN-10: 1932394508
  • ISBN-13: 978-1932394504
  • Product Dimensions: 9.1 x 7.4 x 1.2 inches
  • [DownLoad Link]
VN:F [1.9.3_1094]
Rating: 4.0/10 (1 vote cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Posted in: books |

[ebook]Foundations of Qt Development (Expert’s Voice in Open Source)

November 22, 2007

[Download Link]

Details (From Amazon)

  • Paperback: 528 pages
  • Publisher: APress,US (7 Aug 2007)
  • Language English
  • ISBN-10: 1590598318
  • ISBN-13: 978-1590598313
  • Product Dimensions: 23.4 x 17.3 x 3.6 cm

Book Description
As the standard for KDE desktop environment, Trolltech’s Qt is a necessary basis for all programmers who want to develop cross-platform applications on Windows, Mac OS, Linux, and FreeBSD. A multitude of popular applications have been written in Qt including Adobe Photoshop Elements, Google Earth, Perforce Visual Client, and Skype.

Foundations of Qt Development is based on Qt 4.2, and is aimed at C++ programmers who want to become proficient using this excellent toolkit to create graphical applications that can be ported to all major platforms. The book is focused on teaching you to write your own code in addition to using existing code. And common areas of confusion are identified, addressed, and answered. You’ll learn everything you need to know to get up and running fast, including

* Widgets and layouts (including creating your own widgets!)
* Dialog boxes and windows
* The Interview Framework (models and views)
* Drawing and printing
* Internationalizing and localizing
* Interacting with files, streams, and XML
* Working with databases
* Networking
* Unit testing with Qt
* Utilizing Qt as a Rapid Application Development tool
* Building and using plug-ins
* Utilizing timers and threading

Synopsis
As the standard for KDE desktop environment, Trolltech s Qt is a necessary basis for all programmers who want to develop cross-platform applications on Windows, Mac OS, Linux, and FreeBSD. A multitude of popular applications have been written in Qt including Adobe Photoshop Elements, Google Earth, Perforce Visual Client, and Skype. Foundations of Qt Development is based on Qt 4.2, and is aimed at C++ programmers who want to become proficient using this excellent toolkit to create graphical applications that can be ported to all major platforms. The book is focused on teaching you to write your own code in addition to using existing code. And common areas of confusion are identified, addressed, and answered. You ll learn everything you need to know to get up and running fast, including * Widgets and layouts (including creating your own widgets!) * Dialog boxes and windows * The Interview Framework (models and views) * Drawing and printing * Internationalizing and localizing * Interacting with files, streams, and XML * Working with databases * Networking * Unit testing with Qt * Utilizing Qt as a Rapid Application Development tool * Building and using plug-ins * Utilizing timers and threading

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Posted in: books |

Addison Wesley Extended STL Volume 1 2007

October 16, 2007

Details(From Amazon)

  • Paperback: 624 pages
  • Publisher: Addison-Wesley Professional; Pap/Cdr edition (June 19, 2007)
  • Language: English
  • ISBN-10: 0321305507
  • ISBN-13: 978-0321305503
  • Product Dimensions: 9.1 x 7.2 x 1.1 inches

Book Description
“Wilson’s menu of STL treatments will no doubt be good eating for generic programming adherents, ardent C programmers just now taking on STL and C++, Java programmers taking a second look at C++, and authors of libraries targeting multiple platforms and languages. Bon appetit!”
–George Frazier, Cadence Design Systems, Inc.

“A thorough treatment of the details and caveats of STL extension.”
–Pablo Aguilar, C++ Software Engineer

“This book is not just about extending STL, it’s also about extending my thinking in C++.”
–Serge Krynine, C++ Software Engineer, RailCorp Australia

“You might not agree 100% with everything Wilson has to say, but as a whole his book is the most valuable, in-depth study of practical STL-like programming.”
–Thorsten Ottosen, M.C.S., Boost Contributor

“Wilson is a master lion tamer, persuading multifarious third-party library beasts to jump through STL hoops. He carefully guides the reader through the design considerations, pointing out the pitfalls and making sure you don’t get your head bitten off.”
–Adi Shavit, Chief Software Architect, EyeTech Co. Ltd

“Wilson’s book provides more than enough information to change the angst/uncertainty level of extending STL from ‘daunting’ to ‘doable.’ ”
–Garth Lancaster, EDI/Automation Manager, Business Systems Group, MBF Australia

“This book will open up your eyes and uncover just how powerful STL’s abstractions really are.”
–Nevin “:-)” Liber, 19-year veteran of C++

“In the canon of C++ there are very few books that extend the craft. Wilson’s work consistently pushes the limits, showing what can and cannot be done, and the tradeoffs involved.”
–John O’Halloran, Head of Software Development, Mediaproxy

“Essential concepts and practices to take the working programmer beyond the standard library.”
–Greg Peet

Extended STL is not just a book about adapting the STL to fit in with your everyday work, it’s also an odyssey through software design and concepts, C++ power techniques, and the perils of real-world software development–in other words, it’s a Matthew Wilson book. If you’re serious about C++, I think you should read it.”
–Björn Karlsson, Principle Architect, ReadSoft; author of Beyond the C++ Standard Library: An Introduction to Boost

In Extended STL, renowned C++ expert Matthew Wilson shows how to go beyond the C++ standard and extend the Standard Template Library into the wider C++ world of APIs and non-standard collections, to write software that is more efficient, expressive, flexible, and robust.

In Volume 1, Wilson’s innovative techniques help you master STL extension in two important areas: adapting technology-specific libraries and operating system APIs to STL-compliant collections, and defining sophisticated iterator adaptors with which the latent efficiency and expressive power of STL can be realized. Using real-world examples, Wilson illustrates several powerful concepts and techniques that enable you to extend STL in directions never envisioned by its creators, including collections, element reference categories, external iterator invalidation and inferred interface adaptation.

Extended STL, Volume 1, will be an invaluable resource for every C++ programmer who is at least minimally familiar with the STL.

  • Learn specific principles and techniques for STL extension
  • Learn more about the STL by looking inside the implementation of STL extensions
  • Learn general techniques for implementing wrappers over operating system APIs and technology-specific libraries
  • Learn how to write iterator adaptors and understand the reasons behind the restrictions on their implementations and use

Specific coverage includes

  • Making the most of collections, and understanding how they differ from containers
  • Mastering element reference categories: defining them, detecting them, and using them to design STL extension collections and iterators
  • Working with external iterator invalidation, and understanding its surprising impact on the design of STL-compatible collections
  • Adapting real-world APIs ranging from file
  • system enumeration to scatter/gather I/O
  • Using standalone iterator types, from simple std::ostream_iterator extensions to sophisticated adaptors that filter and transform types or values

The accompanying CD-ROM contains an extensive collection of open-source libraries created by the author. Also included: several test projects, and three bonus chapters.

About the Author
Matthew Wilson is a software development consultant for Synesis Software and creator of the STLSoft and Pantheios libraries. He is author of Imperfect C++ (Addison-Wesley), a former columnist for C/C++ Users Journal, and a contributor to several leading publications. He has more than fifteen years’ C++ experience. Based in Australia, he holds a Ph.D. from Manchester University (UK).

[Download link]

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Posted in: books |

O’Reilly Mastering Perl 2007

October 14, 2007

Book description(from oreilly)

This is the third in O’Reilly’s series of landmark Perl tutorials, which started with Learning Perl, the bestselling introduction that taught you the basics of Perl syntax, and Intermediate Perl, which taught you how to create re-usable Perl software. Mastering Perl pulls everything together to show you how to bend Perl to your will.

This is the third in O’Reilly’s series of landmark Perl tutorials, which started with Learning Perl, the bestselling introduction that taught you the basics of Perl syntax, and Intermediate Perl, which taught you how to create re-usable Perl software. Mastering Perl pulls everything together to show you how to bend Perl to your will. It convey’s Perl’s special models and programming idioms.

This book isn’t a collection of clever tricks, but a way of thinking about Perl programming so you can integrate the real-life problems of debugging, maintenance, configuration, and other tasks you encounter as a working programmer.

The book explains how to:

  • Use advanced regular expressions, including global matches, lookarounds, readable regexes, and regex debugging
  • Avoid common programing problems with secure programming techniques
  • Profile and benchmark Perl to find out where to focus your improvements
  • Wrangle Perl code to make it more presentable and readable
  • See how Perl keeps track of package variables and how you can use that for some powerful tricks
  • Define subroutines on the fly and turn the tables on normal procedural programming.
  • Modify and jury rig modules to fix code without editing the original source
  • Let your users configure your programs without touching the code
  • Learn how you can detect errors Perl doesn’t report, and how to tell users about them
  • Let your Perl program talk back to you by using Log4perl
  • Store data for later use in another program, a later run of the same program, or to send them over a network
  • Write programs as modules to get the benefit of Perl’s distribution and testing tools

Appendices include “brian’s Guide to Solving Any Perl Problem” to improve your troubleshooting skills, as well as suggested reading to continue your Perl education. Mastering Perl starts you on your path to becoming the person with the answers, and, failing that, the person who knows how to find the answers or discover the problem.

[Download link]

VN:F [1.9.3_1094]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)

Posted in: books |