[ Ada programming ] [ BSD/Unix ] [ C programming ] [ C++ programming ] [ Common Lisp ] [ D programming ] [ GNU/Linux ]
[ Haskell programming ] [ Misc Programming ] [ Open Source ] [ OCaml programming ] [ PostgreSQL ]
[ PHP programming ] [ Python ] [ Useful stuff ]

[ Ada programming ]

Ada Textbooks
A list of popular Ada text books. Some are free and online (and also listed below).

Ada Distilled (online book)
An introduction to Ada programming for Experienced Computer Programmers.

Ada Programming (online wikiBook)
Ada Programming is a featured book on Wikibooks because it contains substantial content, it is well-formatted, and the Wikibooks community has decided to feature it on the main page or in other places.

Ada2005 Language Reference Manual /
The consolidated Ada Reference Manual, consisting of the international standard (ISO/IEC 8652:1995): Information Technology -- Programming Languages -- Ada, as updated by changes from Technical Corrigendum 1 (ISO/IEC 8652:1995:TC1:2000), and Amendment 1 (to be published by ISO as ISO/IEC 8526:AMD1:2007).

Rationale for Ada2005
This Rationale should enable those familiar with Ada95 to gain a basic understanding of the new features introduced into Ada2005 and the reasons for the changes from Ada95.

Ada in Industry
This directory contains information about how Ada has been used in a variety of (mostly) non-military applications.

Ada95 Language Reference Manual

Rationale for Ada95
The language and the standard libraries.

Ada95 : The Craft of Object Oriented Programming (online book)

Ada Tools and Resources

Ada World
Ada World has been created essentially to bring the Ada programming language a central place where Ada developers and curious programmers can both learn about Ada, see what's happening as far as Ada development projects goes, give a good idea of what can be done with Ada. Computer Lang/Ada
The Ada section of the Internet FAQ Archives.

Object-oriented Software in Ada95 (online book)

Ada Home
Since March 1994 this server provides a home to users and potential users of Ada, a modern programming language designed to support sound software engineering principles and practices.

Ada95 Lovelace tutorial
This tutorial will explain the basics of the Ada computer programming language. This tutorial assumes that you have had some exposure to some other algorithmic programming language (such as Pascal, C, C++, or Fortran).

Introducing the Ada programming language.

Markus Kuhn's Ada95 page.
The page is no longer actively maintained and might be out of date, but it still holds good information.

Our goal with this site is to provide knowledge, resources, and general links to the Ada community at large, and especially to educators and students.

Ada95: A guide for C and C++ programmers
The Ada guide especially written for C and C++ programmers.

Ada in Action
Practical Ada Programming Examples.

[ BSD/UNIX ] BSD Devcenter

The OpenBSD project's website.
The OpenBSD project produces a FREE, multi-platform 4.4BSD-based UNIX-like operating system. Our efforts emphasize portability, standardization, correctness, proactive security and integrated cryptography. OpenBSD supports binary emulation of most programs from SVR4 (Solaris), FreeBSD, Linux, BSD/OS, SunOS and HP-UX. OpenBSD is freely available from our FTP sites, and also available in an inexpensive 3-CD set.

Firewalling with PF

The FreeBSD project's website.
FreeBSD is a UN*X-like operating system for the i386, IA-64, PC-98, Alpha/AXP, and UltraSPARC platforms based on U.C. Berkeley's "4.4BSD-Lite" release, with some "4.4BSD-Lite2" enhancements. It is also based indirectly on William Jolitz's port of U.C. Berkeley's "Net/2" to the i386, known as "386BSD", though very little of the 386BSD code remains. FreeBSD is used by companies, Internet Service Providers, researchers, computer professionals, students and home users all over the world in their work, education and recreation.

Debian GNU/kFreeBSD
Debian GNU/kFreeBSD is an operating system released by the Debian project for i486-compatible computer architectures. It is a distribution of GNU with Debian package management and the kernel of FreeBSD. The k in kFreeBSD refers to the fact that only the kernel of the complete FreeBSD operating system is used.

The NetBSD project's website.
NetBSD is a free, secure, and highly portable UNIX-like Open Source operating system available for many platforms, from 64-bit AlphaServers and desktop systems to handheld and embedded devices. Its clean design and advanced features make it excellent in both production and research environments, and it is user-supported with complete source. Many applications are easily available through The NetBSD Packages Collection.

DragonFly BSD
DragonFly is an operating system and environment originally based on FreeBSD. DragonFly branched from FreeBSD in 2003 in order to develop a radically different approach to concurrency, SMP, and most other kernel subsystems.DragonFly belongs to the same class of operating system as BSD and Linux and is based on the same UNIX ideals and APIs. DragonFly gives the BSD base an opportunity to grow in an entirely different direction from the one taken in the FreeBSD, NetBSD, and OpenBSD series.

PC-BSD is a complete desktop operating system, which has been designed with the "casual" computer user in mind. It offers the stability and security that only a BSD-based operating system can bring, while as the same time providing a comfortable user experience, allowing you to get the most out of your computing time. With PC-BSD you can spend less time working to fix viruses or spyware and instead have the computer work for you.

The OpenSolaris project is an open source project sponsored by Sun Microsystems, Inc, that is initially based on a subset of the source code for the Solaris Operating System. It is a nexus for a community development effort where developers from Sun and elsewhere can collaborate on developing and improving operating system technology. The OpenSolaris source code will find a variety of uses, including being the basis for future versions of the Solaris OS product, other operating system projects, and third-party products and distributions.

Nexenta OS is a computer operating system based on Debian/Ubuntu and Solaris for IA-32 and x86-64 based systems. It emerged in fall 2005, after Sun Microsystems started the OpenSolaris project in June 2005.

UNIX Timeline
This is a simplified diagram of UNIX history.

UNIX simplified timeline
This is a simplified version of the original UNIX timeline.

[ C programming ]

C / ANSI-C Reference
C / ANSI-C Reference with examples (example source code) Organized by topic.

comp.lang.c Frequently Asked Questions
This collection of hypertext pages is Copyright 1995-2005 by Steve Summit. Content from the book "C Programming FAQs: Frequently Asked Questions" (Addison-Wesley, 1995, ISBN 0-201-84519-9) is made available here by permission of the author and the publisher as a service to the community.

C Programming Language
This page is dedicated to the ANSI C Programming language. We've assembled links and copies of interesting or educational articles on C programming, look at Windows Win32 programming, and consider why we still prefer ANSI C to C++. is a web site designed to help you learn the C or C++ programming languages, and provide you with C and C++ programming language resources.

So you want to learn C?
A step by step guide to programming in C.

C Programming
C programming course.

Programming in C (online book)
Programming in C UNIX System Calls and Subroutines using C.

The GNU C Programming Tutorial (online book)

Object Oriented Programming in C (online book)
This paper presents some programming techniques that allow large projects based on ISO C89 to get the benefits of object oriented design. It doesn't intend to be a course on OOP techniques and assumes the reader to have a good knowledge of the C language. Since OOPC is based on the C++ Object Model, a good knowledge of C++ may help to understanding it better. These techniques may be useful for programmers who have not a C++ compiler for their architecture (calculators, small systems, embedded systems). It may also be useful for people who are disappointed by C++ compilers which do not behave like the norm says or even do not support all the C++ features or by C++ APIs that change from time to time.

[ C++ Programming ]

Bjarne Stroustrup's homepage
Lots of C++ information and material.

The C/C++ Online Reference

C++ Wikibooks (online wikibooks)
Several C++ related WikiBooks.

Boost C++ libraries.
Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work well with the C++ Standard Library. Boost libraries are intended to be widely useful, and usable across a broad spectrum of applications. The Boost license encourages both commercial and non-commercial use.

C++ Frequently Asked Questions

C++ FQA Lite
C++ is a general-purpose programming language, not necessarily suitable for your special purpose. FQA stands for "frequently questioned answers". This FQA is called "lite" because it questions the answers found in C++ FAQ Lite.

The C++ Resources Network
General information about the C++ programming language, including non-technical documents and descriptions.

Fox ToolKit
FOX stands for Free Objects for X. It is a C++ based class library for building Graphical User Interfaces. Initially, it was developed for LINUX, but the scope of this project has in the course of time become somewhat more ambitious. Current aims are to make FOX completely platform independent, and thus programs written against the FOX library will be only a compile away from running on a variety of platforms.

Ultimate++ is a C++ cross-platform rapid application development suite focused on programmers productivity. It includes a set of libraries (GUI, SQL, etc..), and an integrated development environment.

[ Common Lisp Programming ]
This site is one among many gateways to Common Lisp. Its goal is to provide the Common Lisp community with development resources and to work as a starting point for new programmers.

Successful Lisp (online book)
How to Understand and Use Common Lisp

Practical Common Lisp (online book)
This page, and the pages it links to, contain text of the Common Lisp book Practical Common Lisp published by Apress These pages now contain the final text as it appears in the book.

Common Lisp the Language, 2nd Edition (online book)
Written by the Vice-Chairman of X3J13 (the ANSI committee responsible for the standardization of Common Lisp) and co-developer of the language itself, the new edition contains the entire text of the first edition plus six completely new chapters. They cover: CLOS, the Common Lisp Object System, with new features to support function overloading and object-oriented programming, plus complete technical specifications. Loops, a powerful control structure for multiple variables. Conditions, a generalization of the error signaling mechanism. Series and generators. Plus other subjects not part of the ANSI standards but of interest to professional programmers. Throughout, you'll find examples, additional clarifications, warnings, and tips - all presented with the author's customary vigor and wit.

[ D Programming ]

The D Language Specifications
The official D language specification. is a site dedicated to the D programming language, providing you with code, software and help related to D.
This site serves as an open source community for the D Programming Language. Our goal is to provide an environment conducive to open-source development, including forums, source-code control, bug-tracking, and distribution. To further knowledge of programming in D, we also plan to host generously-donated tutorials, showing various techniques, differences from other languages, and best practices of D.

MKoD - D Programming Language
D Programming Language Resources.

D Programming (online wikiBook)
The goal for this book is to create a complete, free, open-content, well-organized online book for the D programming language.

A Beginner's Guide to D (online wikiBook)
This book will be a guide to people starting to program using the D programming language. It is intended for a range of audiences, from people new to programming to the seasoned programmer.

[ GNU/Linux ] Linux Devcenter

Blog about Linux-HA, DRBD and related subjects.

The Debian GNU/Linux project's website.
The Debian Project is an association of individuals who have made common cause to create a free operating system. This operating system is called Debian GNU/Linux, or simply Debian for short. Debian systems currently use the Linux kernel. Linux is a completely free piece of software started by Linus Torvalds and supported by thousands of programmers worldwide. Of course, the thing that people want is application software: programs to help them get what they want to do done, from editing documents to running a business to playing games to writing more software. Debian comes with over 20,000 packages (precompiled software that is bundled up in a nice format for easy installation on your machine) - all of it free. It's a bit like a tower. At the base is the kernel. On top of that are all the basic tools. Next is all the software that you run on the computer. At the top of the tower is Debian -- carefully organizing and fitting everything so it all works together.

The openSUSE project is a community program sponsored by Novell. Promoting the use of Linux everywhere, this program provides free, easy access to openSUSE, a complete Linux distribution. The openSUSE project has three main goals: make openSUSE the easiest Linux for anyone to obtain and the most widely used Linux distribution; leverage open source collaboration to make openSUSE the world's most usable Linux distribution and desktop environment for new and experienced Linux users; dramatically simplify and open the development and packaging processes to make openSUSE the platform of choice for Linux developers and software vendors.

Iptables Tutorial
This document was written to guide you through the setup process step by step and hopefully help you to understand some more about the iptables package.

[ Haskell ]
Haskell is an advanced purely functional programming language. The product of more than twenty years of cutting edge research, it allows rapid development of robust, concise, correct software. With strong support for integration with other languages, built-in concurrency, debuggers, profilers, rich libraries and an active community, Haskell makes it easier to produce flexible, maintainable high-quality software.

Programming in Haskell (online book)
Haskell is one of the leading languages for teaching functional programming, enabling students to write simpler and cleaner code, and to learn how to structure and reason about programs. This introduction is ideal for beginners: it requires no previous programming experience and all concepts are explained from first principles via carefully chosen examples. Each chapter includes exercises that range from the straightforward to extended projects, plus suggestions for further reading on more advanced topics.

Programming in Haskell (online book)
These are the teaching materials for the introductory programming course given at Chalmers University to computing students (excluding a small fraction which are still in Swedish), organised to make them easier to use for self-study.

Haskell (online wikibook) is a functional programming language. If you have programmed before and would like to see a little bit of how Haskell works and is different from other programming languages, you can get an overview./

Haskell The Craft of Functional Programming, Second Edition (online book)
Functional programming offers a high-level view of programming, giving its users a variety of features which help them to build elegant yet powerful and general libraries of functions. Central to functional programming is the idea of a function, which computes a result which depends on the values of its inputs.

Haskell Hacking
Haskell Hacking: a journal of Haskell programming

Haskell Programming
Articles about Haskell related issues.

Real World Haskell /
This is the online home of the book "Real World Haskell".

[ IT and Open Source ]

Internet FAQ Archives
This archive contains Usenet Frequently Asked Questions (FAQ) postings in HTML format and in text format.

DistroWatch is a popular Website which provides news, popularity rankings, and other general information about various Linux distributions as well as other free software/open-source operating systems such as OpenSolaris and BSD. It now contains information on several hundreds of distributions.

[ OCaml programming ]

The Caml language: Home
Caml is a general-purpose programming language, designed with program safety and reliability in mind. It is very expressive, yet easy to learn and use. Caml supports functional, imperative, and object-oriented programming styles. It has been developed and distributed by INRIA, France's national research institute for computer science, since 198

Introduction to the Objective Caml Programming Language (online PDF book)
This document is an introduction to ML programming, speci�cally for the Ob jective Caml (OCaml ) programming language from INRIA [3, 5]. OCaml is a dialect of the ML (Meta-Language ) family of languages, which derive from the Classic ML language designed by Robin Milner in 1975 for the LCF (Logic of Computable Functions) theorem prover.

Developing Applications With Objective Caml (online book)
This is a preliminary translation of the book Développement d'applications avec Objective Caml by Emmanuel Chailloux, Pascal Manoury and Bruno Pagano, published by O'Reilly France.

Objective CAML Tutorial
This website is a set of practical, detailed tutorials for people who want to learn Objective CAML (often known as just "OCaml").

[ PostgreSQL ]

PostgreSQL is the world's most advanced Open Source database. PostgreSQL is an object-relational database management system (ORDBMS). It is released under a BSD-style license and is thus free software. As with many other open-source programs, PostgreSQL is not controlled by any single company, but relies on a global community of developers and companies to develop it.

PostgreSQL Wiki
The PostgreSQL wiki contains user documentation, how-tos, and tips 'n' tricks related to PostgreSQL. It also serves as a collaboration area for PostgreSQL contributors.

Planet PostgreSQL

[ PHP Programming ]

PHP Net PHP Devcenter

Chris Shiflett
PHP and Web Application Security Blog

PHP Security Consortium
Founded in January 2005, the PHP Security Consortium (PHPSC) is an international group of PHP experts dedicated to promoting secure programming practices within the PHP community.

PHP in a Nutshell (online book)

Zend Developer Zone
Zend Developer Zone - an online community for professional PHP.

[ Programming ]

The Pragmatic Programmer List of Tips
Extracted From The Pragmatic Programmer by Andrew Hunt and David Thomas.

# Dev Shed
Open Source Web Development Tutorials

Computer Programming Language History

Programming Language Comparison
This is an unofficial language comparison page created for some member of the D newsgroup.

Secure Programming for Linux and Unix HOWTO (online book)
This book provides a set of design and implementation guidelines for writing secure programs for Linux and Unix systems. Such programs include application programs used as viewers of remote data, web applications (including CGI scripts), network servers, and setuid/setgid programs. Specific guidelines for C, C++, Java, Perl, PHP, Python, Tcl, and Ada95 are included.

How To Become A Hacker (online book)
There is a community, a shared culture, of expert programmers and networking wizards that traces its history back through decades to the first time-sharing minicomputers and the earliest ARPAnet experiments. The members of this culture originated the term â??hackerâ??. Hackers built the Internet. Hackers made the Unix operating system what it is today. Hackers run Usenet. Hackers make the World Wide Web work. If you are part of this culture, if you have contributed to it and other people in it know who you are and call you a hacker, you're a hacker.

99 Bottles of Beer
This Website holds a collection of the Song 99 Bottles of Beer programmed in different programming languages. Actually the song is represented in 1141 different programming languages and variations.

The Encyclopedia of Computer Languages
This site is all about why they did it - why people designed and implemented languages and what influenced them when they did so (historically, philosophically, politically as well as theoretically).

Syntax Across Languages
If you know one language and want to find the corresponding operator or function in another language.
Free Online Computer Science and Programming Books, Textbooks, and Lecture Notes

[ Python Programming ]

Python Programming Language
Python is a dynamic object-oriented programming language that can be used for many kinds of software development.

Python Documentation and references

Non-Programmer's Tutorial for Python (online wikibook)'s_Tutorial_for_Python/
Non-Programmer's Tutorial for Python is a featured book on Wikibooks because it contains substantial content, it is well-formatted, and the Wikibooks community has decided to feature it on the main page or in other places. Python Devcenter

Python FAQTS

Python Cookbook
Python Cookbook code is freely available for use and review. We encourage you to contribute recipes (code and discussion), comments and ratings.

Python Tutorial

(An Unofficial) Python Tutorial Wiki
This tutorial is an informal introduction to Python. It does not attempt to cover every single feature of the language, or even every commonly used feature, but it does try to introduce Pythonâ??s most noteworthy features and will give you a good idea of the languageâ??s flavor and style.

Another Python Tutorial

[ Useful stuff ]

The Berkeley Webcasts
Every semester, UC Berkeley webcasts select courses and events for on-demand viewing via the Internet.

MIT - Open Course Ware
Free lecture notes, exams, and videos from MIT. No registration required.

An intuitive online tool for learning, writing, and testing Regular Expressions.

The Open Web Application Security Project (OWASP) is a worldwide free and open community focused on improving the security of application software.

The IP-to-Country Database
You can think of the IP-to-Country Database as the Internet's telephone directory. It gives you information on the geographical location of an IP address based on Internet infrastructure information.

The Daily WTF
The Daily WTF, also known as "Worse than Failure" during most of 2007, is a humorous blog dedicated to "Curious Perversions in Information Technology". The blog offers living examples of code that invites the exclamation 'WTF!?' and recounts tales of disastrous development, from project management gone spectacularly bad to inexplicable coding choices. In addition to horror stories, The Daily WTF serves as a repository of knowledge and discussion forums for inquisitive web designers and developers and has introduced several anti-patterns, including Softcoding and the Inner-Platform Effect.

In computer network engineering, a request for comments (RFC) is a memorandum published by the Internet Engineering Task Force (IETF) describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.

European Organisation for Astronomical Research in the Southern Hemisphere. There have some incredible pictures of galaxies etc.

EncFS provides an encrypted filesystem in user-space. It runs without any special permissions and uses the FUSE library and Linux kernel module to provide the filesystem interface. You can find links to source and binary releases below.

IPTraf is a console-based network statistics utility for Linux. It gathers a variety of figures such as TCP connection packet and byte counts, interface statistics and activity indicators, TCP/UDP traffic breakdowns, and LAN station packet and byte counts.

Bandwidth Monitor NG
Bandwidth Monitor NG is a small and console-based live network and disk-io bandwidth monitor for Linux, BSD, Solaris, Mac OS X and others. features: output of KB/s, Kb/s, packets, errors, average, max and total sum; in curses, plain console, CSV or HTML. Exists in Debian under the package name bwm-ng.

CLOC counts blank lines, comment lines, and physical lines of source code in many programming languages. It is written entirely in Perl with no dependencies outside the standard distribution of Perl v5.6 and higher (code from some external modules is embedded within cloc) and so is quite portable. cloc is known to run on many flavors of Linux, Mac OS X, AIX, Solaris, IRIX, z/OS, and Windows.

SLOCCount is a set of tools for counting physical Source Lines of Code (SLOC) in a large number of languages of a potentially large set of programs.

Wireshark is an award-winning network protocol analyzer developed by an international team of networking experts. It is the a very popular network protocol analyzer.

GeSHi - Generic Syntax Highlighter
GeSHi is a syntax highlighter for HTML, written in PHP. Basically, you input the source you want to highlight and the name of the language you want to highlight it in, and GeSHi returns the syntax-highlighted result.

scponly is an alternative 'shell' (of sorts) for system administrators who would like to provide access to remote users to both read and write local files without providing any remote execution priviledges. Functionally, it is best described as a wrapper to the tried and true ssh suite of applications.

Open Source Testing Tools aims to boost the profile of open source testing tools within the testing industry, principally by providing users with an easy to use gateway to information on the wide range of open source testing tools available.

This is the main web site for flawfinder, a program that examines source code and reports possible security weaknesses (``flaws'') sorted by risk level. It's very useful for quickly finding and removing at least some potential security problems before a program is widely released to the public.

RATS - Rough Auditing Tool for Security
RATS - Rough Auditing Tool for Security - is an open source tool developed and maintained by Secure Software security engineers. Secure Software was recently acquired by Fortify Software, Inc. RATS is a tool for scanning C, C++, Perl, PHP and Python source code and flagging common security related programming errors such as buffer overflows and TOCTOU (Time Of Check, Time Of Use) race conditions.

Tor: anonymity online
Tor is a software project that helps you defend against traffic analysis, a form of network surveillance that threatens personal freedom and privacy, confidential business activities and relationships, and state security. Tor protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents somebody watching your Internet connection from learning what sites you visit, and it prevents the sites you visit from learning your physical location. Tor works with many of your existing applications, including web browsers, instant messaging clients, remote login, and other applications based on the Internet's TCP protocol.

A GUI to produce a multipage PDF from a scan. gscan2pdf should work on almost any Linux/BSD machine.

Search-This was created to provide webmasters with information on all aspects of the web, including: design, development and promotion. When you visit Search-This we hope that you find valuable information you can use to make your website better.
Jakob Nielsen's Website about usable information technology.

Full Web Building Tutorials - All Free. At W3Schools you will find all the Web-building tutorials you need, from basic HTML and XHTML to advanced XML, SQL, Database, Multimedia and WAP.