Category: Linux

Bash Guide for Beginners

Sponsor Advertisement

My image
  • Author: Machtelt Garrels
  • Format: online HTML
  • Price: free

The primary reason for this document is that a lot of readers feel the existing  HOWTO to be too short and incomplete, while the Bash Scripting guide is too much of a reference work. There is nothing in between these two extremes. It was also written on the general principal that not enough free basic courses are available, though they should be.

This is a practical guide which, while not always being too serious, tries to give real-life instead of theoretical examples. It was partly written because the author doesn’t get excited with stripped down and over-simplified examples written by people who know what they are talking about, showing some really cool Bash feature so much out of its context that you cannot ever use it in practical circumstances. You can read that sort of stuff after finishing this book, which contains exercises and examples that will help you survive in the real world.

From the author’s experience as a UNIX/Linux user, system administrator and trainer, he knows that people can have years of daily interaction with their systems, without having the slightest knowledge of task automation. Thus they often think that UNIX is not user friendly, and even worse, they get the impression that it is slow and old-fashioned. This problem is another one that can be remedied by this guide.

Chapters include:

  • Introduction
  • Bash and Bash scripts
  • Writing and debugging scripts
  • The Bash environment
  • Regular expressions
  • The GNU sed stream editor
  • The GNU awk programming language
  • Conditional statements
  • Writing interactive scripts
  • Repetitive tasks
  • More on variables
  • Functions
  • Catching signals

http://www.linuxtopia.org/online_books/bash_guide_for_beginners/index.html

GTK+/Gnome Application Development

Sponsor Advertisement

My image
  • Author: Havoc Pennington
  • Format: online HTML, archived HTML
  • Price: free

This is an intermediate-to-advanced GTK+/Gnome programming book. You should be comfortable with programming (data structures, algorithms, etc.) and with the C programming language before you try to read it.

Chapters include:

  • glib: Portability and Utility
  • GTK+ Basics
  • Building a Gnome Application
  • Creating Your Source Tree
  • Gnome Application Basics
  • The Main Window: GnomeApp
  • User Communication: Dialogs
  • Gnome Application Checklist
  • Advanced GTK+/Gnome Techniques
  • The GTK+ Object and Type System
  • GDK Basics
  • Writing a GtkWidget
  • GnomeCanvas
  • Writing a GnomeCanvasItem
  • GTK+/Gnome Object Hierarchy
  • Table of Header Files
  • Frequently Asked Questions
  • Online Resources
  • Code Listings

http://www.linuxtopia.org/online_books/gui_toolkit_guides/gtk+_gnome_application_development/

Java Application Development on Linux

Sponsor Advertisement

My image
  • Author: Carl Albing, Michael Schwarz
  • Format: PDF
  • Price: free

Linux is the fastest-growing Java development platform because it saves money and time by serving as a platform for both development and deployment. But developers face significant platform-specific challenges when managing and deploying Java applications in a controlled production environment.
Written for Java and Linux developers alike, Java Application Development on Linux is the hands-on guide to the full Java application development lifecycle on Linux.

Determined to spare other developers hours of trial and error, Albing and Schwarz demonstrate the platform, tools, and application development by showing realistic, easy-to-follow examples. After a simple command-line application introduces basic tools, this program leads readers through business-logic object analysis, database design, Java servlet UIs, Java Server Pages (JSP) UIs, Swing GUIs, and Standard Widget Toolkit (SWT) GUIs. Scaling up to the enterprise level provides the opportunity to use both the JBoss Application Server and the Apache Geronimo Application Servers, and Enterprise JavaBeans (EJB).

The authors conclude by demonstrating how a hierarchy of budgets can be created, tracked, and shared with Concurrent Versions System (CVS).

A companion Website includes all source code and a link to each tool described.

Java Application Development on Linux can propel you from a standing start to the full-speed development and deployment of Java applications on Linux.

Chapters include:

  • An Embarrassment of Riches: The Linux Environment
  • An Embarrassment of Riches: Editors
  • An Experienced Programmer’s Introduction to Java
  • Where Am I? Execution Context
  • The Sun Microsystems Java Software Development Kit
  • The IBM Developer Kit for Linux, Java 2 Technology Edition
  • The GNU Compiler for Java (gcj)
  • Know What You Have: CVS
  • Ant: An Introduction
  • Integrated Development Environments
  • Balancing Acts: An Imaginary Scenario
  • Analysis and Design: Seeking the Objects
  • JUnit: Automating Unit Testing
  • Storing the Data
  • Accessing the Data: An Introduction to JDBC
  • Getting in the Swing of Things: Designing a GUI for BudgetPro
  • Other Ways: Alternatives to Swing
  • Servlets: Java Pressed into Service
  • JSP: Servlets Turned Inside Out
  • Open Source Web Application Servers
  • Introduction to Enterprise JavaBeans
  • Building an EJB
  • Deploying EJBs
  • Parting Shots

http://www.phptr.com/content/images/013143697X/downloads/013143697X_book.pdf

The Linux Development Platform

Sponsor Advertisement

My image
  • Author: Rafeeq Ur Rehman, Christopher Paul
  • Format: archived PDF
  • Price: free

Tools for high-efficiency Linux development in enterprise environments.

Linux developers have access to an extraordinary array of GNU and open source tools. Now, two leading Linux developers show how to choose the best tools for your specific needs, and integrate them into a complete development environment that maximizes your effectiveness in any project, no matter how large or complex.

Chapters include:

  • Introduction to Software Development
  • Working With Editors
  • Compilers and Assemblers
  • Using GNU make
  • Working with GNU Debugger
  • Introduction to CVS
  • Miscellaneous Tools
  • Cross-Platform and Embedded Systems Development
  • Platform Independent Development with Java
  • Typical Hardware Requirements for a Linux Development Workstation

http://www.informit.com/content/images/0130091154/downloads/0130091154.zip
Download the source document
Download the figures

Cross-Platform GUI Programming with wxWidgets

Sponsor Advertisement

My image
  • Author: Julian Smart, Kevin Hock, Stefan Csomor
  • Format: PDF
  • Price: free

wxWidgets is an easy-to-use, open source C++ API for writing GUI applications that run on Windows, Linux, Unix, Mac OS X, and even Pocket PC, supporting each platform’s native look and feel with virtually no additional coding.

Now, its creator and two leading developers teach you all you need to know to write robust cross-platform software with wxWidgets. This book covers everything from dialog boxes to drag-and-drop, from networking to multithreading. It includes all the tools and code you need to get great results, fast.

From AMD to AOL, Lockheed Martin to Xerox, world-class developers are using wxWidgets to save money, increase efficiency, and reach new markets. With this book, you can, too.

Chapters include:

  • Introduction
  • Getting Started
  • Event Handling
  • Window Basics
  • Drawing and Printing
  • Handling Input
  • Window Layout Using Sizers
  • Using Standard Dialogs
  • Writing Custom Dialogs
  • Programming with Images
  • Clipboard and Drag and Drop
  • Advanced Window Classes
  • Files and Streams
  • Memory Management, Debugging, and Error Checking
  • Writing International Applications
  • Writing Multithreaded Applications
  • Programming with wxSocket
  • Working with Documents and Views
  • Perfecting Your Application
  • Installing wxWidgets
  • Building Your Own wxWidgets Applications
  • Creating Applications with DialogBlocks
  • Other Features in wxWidgets
  • Third-Party Tools for wxWidgets
  • wxWidgets Application Showcase
  • How wxWidgets Processes Events
  • Event Classes and Macros
  • Code Listings
  • Porting from MFC

http://www.phptr.com/content/images/0131473816/downloads/0131473816_book.pdf

C++ GUI Programming with Qt 3

Sponsor Advertisement

My image
  • Author: Jasmin Blanchette, Mark Summerfield
  • Format: PDF
  • Price: free

This book covers all you need to build industrial-strength applications with Qt 3.2.x and C++–applications that run natively on Windows, Linux/Unix, Mac OS X, and embedded Linux with no source code changes!

The book teaches solid Qt programming practices; it is not a rehash of the documentation.

Already using Qt or just starting out? Evaluating Qt or managing it? Building open source applications–or commercial applications? Want to develop for Windows without buying an expensive compiler? Whatever your goal, this is the only book you need.

Chapters include:

  • Getting Started
  • Creating Dialogs
  • Creating Main Windows
  • Implementing Application Functionality
  • Creating Custom Widgets
  • Layout Management
  • Event Processing
  • 2D and 3D Graphics
  • Drag and Drop
  • Input/Output
  • Container Classes
  • Databases
  • Networking
  • XML
  • Internationalization
  • Providing Online Help
  • Multithreading
  • Platform-Specific Features
  • Installing Qt
  • Qt’s Class Hierarchy

http://www.informit.com/content/images/0131240722/downloads/blanchette_book.pdf

Understanding the Linux Virtual Memory Manager

Sponsor Advertisement

My image
  • Author: Mel Gorman
  • Format: PDF
  • Price: free

Finally, a comprehensive guide to the Linux VM!

VM’s behavior affects every Linux kernel subsystem and dramatically impacts overall performance. But until now, there was only one way to understand VM: study the poorly documented source one line at a time. Now there’s an easier, faster alternative.

This book describes VM in unprecedented detail, presenting both theoretical foundations and a line-by-line source code commentary. It systematically covers everything from physical memory description to out-of-memory management.

Chapters include:

  • Introduction
  • Describing Physical Memory
  • Page Table Management
  • Process Address Space
  • Boot Memory Allocator
  • Physical Page Allocation
  • Noncontiguous Memory Allocation
  • Slab Allocator
  • High Memory Management
  • Page Frame Reclamation
  • Swap Management
  • Shared Memory Virtual Filesystem
  • Out of Memory Management
  • The Final Word

http://www.informit.com/content/images/0131453483/downloads/gorman_book.pdf