! Preliminary !
eDocuments and links may be added
or replaced or removed --- if/when
I re-visit this page.
< Go to the Table of Contents (TOC), below. >
(Skip the Introduction)
< Go to the Start of Guide links, below. >
(Skip the Intro and the TOC)
A page of code samples to augment these guides.
This page is intended to provide guides to various aspects of Linux Programming in areas such as
and guides on various other special programming subjects such as
Most of the guides are in PDF format. Some videos may be provided in the future --- however they would take way too much disk space to cover the material in a 100-plus page PDF, for example. (Some other document formats may be considered in the future.)
A set of 'external' web links, to programming info sites, is provided at the bottom of this page. However, it is typical that many web links go dead in a few years.
Hence, the external links here are generally to sites that will probably be around, under the specified web site name, for at least 5 years from the time of placement here.
For example, the 'external' links on this page are generally ones such as 'wikipedia.org' and 'opengl.org' which will probably be in existence under that name for at least 5 to 10 more years.
Because even at 'stable' web sites, the sites are frequently reorganized and links to documents go dead, guides are archived here and accessible via this page, to help preserve the information.
I intend to use these documents from various computers --- at home and away from home. In other words, this collection of documents is intended for personal, non-commercial use.
THE GUIDE COLLECTION PROCESS
There is a heavy emphasis here on collecting guides on 3D programming --- and on Game programming, which often involves programming for input device monitoring, GUIs, audio playback, even video playback --- as well as 2D and 3D graphics programming.
In Game programming (and in 3D model viewer apps), there is a need to deal with event processing loops --- loops that wait for input from mouse or keyboard or game controller --- events such as 'button presses' or 'button releases' on GUIs.
This an important aspect of 3D modelling and Game apps, so there has been a tendency to seek out documents that deal with such loops --- which may be referred to by terms such as 'handler' or 'listener'.
HOW TO USE THIS PAGE
You can use the links in the Table of Contents, below, to go to a group of links on this page. The links provide access to 'locally stored' guides in a category --- like the categories listed above.
Instead of using the 'Table of Contents', you can simply scroll down this page to look for guides of interest, according to their filename.
You can also use a 'Find text' option of your browser to find guides according to a keyword --- such as '2d', '3d', 'opengl', 'glut', 'glui', 'glu', 'gtk', 'qt', 'tcl', 'java', 'gis', 'molecul', 'sdl', 'ogre', 'mobile', 'android', 'wii', 'code', 'example', 'sample', 'snippet', etc.
Click on the link to a PDF guide to bring up the guide in a PDF viewer, such as 'Evince' or 'xpdf' on Linux systems --- or in a PDF-viewer plug-in of your web browser.
The '3D' category (group) of guides is so large that I have put the guides in subgroups such as
The 'GUI' category (group) of guides is also large, so I have put the guides in subgroups such as
The 'Games' category (group) of guides could be put in subgroups such as
The 'general programming' or 'basic Languages' category (group) of guides could be put in subgroups such as
The 'Mobile' category (group) of guides could be put in subgroups such as
I may eventually add a few categories or sub-categories, such as 'Audio' and 'Image Format Specs (for GIF, JPEG, PNG, etc.)'.
PRESENTATION (ORDER) OF GUIDES WITHIN THE GROUPS :
In some groups, I put the smaller guides (1 to 10 pages) at the top of the group (or subgroup), and the large guides (over 200 pages) at the bottom of the group. But, in general, there is no consistent ordering of the guides in each group.
The quality of the guides varies widely. As I get a chance to peruse the guides, I will probably indicate my quality rating on a 5-star basis --- and perhaps order them accordingly. (Probably wishful thinking. Not enough years left in my lifetime.)
NAMING IN THE GUIDE FILENAMES :
The size of the guides (in pages) is indicated at the end of the filename of each guide.
The age of each guide is (usually) indicated by a year-published indicator in the filename of each guide.
Some keywords in the title of the guide are generally put in the document filename.
The period in some titles has been replaced by a hyphen. So, for example, if you are looking for info on OpenGL 3.1, you can search for '3-1'. And if you are looking for info on Qt 4.x, you can search for '4-'.
Guides which include especially helpful code examples (according to me) --- especially examples that are more than mere snippets --- may be indicated with keywords such as 'code', 'examples', or 'samples' in the filename (or beside the filename).
Guides that have code snippets may have 'snippets' in the filename (or beside the filename).
I may not get around to doing this for most of the guides. This is probably wishful thinking again.
TABLE OF CONTENTS:
(links to groups of document-links,
End of Table of Contents. Contents start below.
Start of Display of the Guides :
imageProcessingInC_ 1994_ 815pgs.pdf
GROUP - GUIgeneral :
C programming - Classics :
C programming - Other :
C++ programming :
Kernel programming :
Linux programming, in general :
Linux/Unix shell script programming :
Multi-threaded programming :
Perl script programming :
PHP script programming :
Python script programming :
Also see the GUI Tcl-Tk section above.
3D Acceleration :
See the '3Dcuda' group above, on CUDA programming.
Mobile-Meego : (and Maemo)
Mobile-OpenGL : (esp. OpenGL-ES)
Mobile-OpenGL : (emulation)
Mobile-OpenGL : (shading languages)
GIS = Geographic Information System
Skype API programming :
Bottom of this
To return to a previously visited web page location, click on the
Back button of your web browser, a sufficient number of times.
OR, use the History-list option of your web browser.
< Go to start of the Guide links, above. >
Page was created 2011 Jan 24.