Softpanorama

May the source be with you, but remember the KISS principle ;-)
Contents Bulletin Scripting in shell and Perl Network troubleshooting History Humor

Softpanorama C bulletin, 2000

[Nov 11, 2000] C Programming Notes by Steve Summit were added to the University courses section. This is an excellent online course that contains both notes(based on K&R book -- one of the few not-so-boring books on C ;-) and assignments (Introductory course Assignments.  and Intermediate C Programming Assignments). Very knowledgeable and generous author.  Highly recommended.

[Nov 4, 2000] C++ 5.5 is now free from Borland...

The Free Borland C++Builder Compiler, a blazingly fast 32-bit ANSI C++ optimizing compiler for Windows, is the core of Inprise/Borland's C++ compiler technology and the complete award winning Borland C++Builder 5 development system. It includes the latest ANSI/ISO C++ language support including the RTL, the STL framework with C++ template support. And now, the Borland C++Builder Compiler is available as a free download!

Under The C++Builder Hood
The Free Borland C++Builder Compiler is the foundation for Borland's fully integrated C++ development environment - Borland C++Builder 5. C++Builder seamlessly integrates the Borland C++ Compiler, taking full advantage of the high-speed ANSI/ISO C++ technology and adds a high-productivity development environment that will take your Internet, distributed computing and Windows applications to market fast. When you are ready to move up to the ultimate in complete C++ visual development productivity, move to Borland C++Builder 5.

Proven C++ Compiler Technology
For years, millions of developers worldwide have relied on the speed and quality of the Borland C/C++ compiler technology. Over a decade of development has gone into the creation of this latest, best of breed, high-performance, C++ compiler, making the Borland C++Builder Compiler the most flexible and scalable in the world. Millions of world-class commercial software applications, mission-critical corporate applications and embedded systems have been built using Borland's C++ compiler technology. And now this revolutionary C++ compiler is freely available to C++ developers worldwide.

Download the Borland C++Builder Compiler now and be sure to check out the latest features in the full C++Builder Professional and Enterprise development environments!

After you download the Free Borland C++Builder Compiler, click here to download the Free Turbo Debugger.

[Oct 10, 2000] Developing Embedded Software in C -- Jonathan W. Valvano

[Sep 30, 2000] Linux PR OpenWatcom.org to Use Perforce the Fast Software Configuration Management System

The Open Watcom project requires an industrial strength source control system, that's why we selected Perforce for the job.

ALAMEDA, Calif., Sept. 29 /PRNewswire/ -- Perforce Software, Inc. today announced that SciTech Software has selected the Perforce source code control system to manage the Open Watcom source code base. The Perforce software will enable the large team of developers participating in the Open Watcom worldwide to have up-to-the-minute access to the latest Open Watcom source code via the Internet.

"Perforce itself has benefited tremendously from Open Source software, and we feel it is only fitting that we return the favor. We're especially happy to be supporting the Watcom C++ compiler, which powers a number of our platforms," said Christopher Siewald, president and chief technology officer of Perforce Software.

Perforce Software makes its Fast Software Configuration Management System available at no charge to bona fide organizations developing freely available software, such as OpenWatcom.org. The Open Watcom code base consists of nearly three million lines of code.

"The Open Watcom project requires an industrial strength source control system, that's why we selected Perforce for the job," said Kendall Bennett, Director of Engineering at SciTech Software, Inc. "SciTech uses Perforce for internal projects, so we know that it can handle the massive demands that the Open Watcom project is going to place on a distributed source control system."

Developers wishing to access the Open Watcom Perforce system can register at Open Watcom's web site ( http://www.openwatcom.org ) to be automatically notified when it comes online.

About Open Watcom

Open Watcom is the result of the Open Source release of the Sybase Watcom C/C++ and Fortran compilers. The Open Watcom products are the first mass market, proprietary compilers to be open sourced and, weighing in at nearly three million lines of source code, represent one of the largest pools of commercial source code of any type ever released under an Open Source license. Sybase, Inc. developed the original Watcom code and SciTech Software, Inc. is the official maintainer of the project. The project has already stirred tremendous interest among thousands of developers worldwide, who will use and contribute to its further development. Open Watcom supports software development in Windows, DOS, OS/2, Netware, QNX, and other operating systems. A Linux version of Open Watcom is planned. The Open Watcom web address is http://www.openwatcom.org.

About SciTech Software, Inc.

SciTech Software, Inc. is the leading supplier of PC graphics utilities, drivers, and tools for high-performance graphics applications, including computer games. SciTech's products help users fix graphics hardware problems and allow software developers to achieve maximum performance from PC graphics hardware. SciTech's products include SciTech Display Doctor, the only universal display driver, SciTech GLDirect, an OpenGL to Direct3D driver and SciTech MGL, an Open Source, professional graphics library used to develop some of today's most popular software programs. SciTech products support the Windows, Linux, OS/2, DOS, QNX, and SMX operating systems. Many major software companies and hardware companies license portions of SciTech's technology for incorporation in their products. SciTech is privately held and the company's Web address is http://www.scitechsoft.com.

About Perforce Software, Inc.

Perforce is a comprehensive software configuration management (SCM) system that includes version control, workspace management, atomic change transactions, and a unique and powerful branching model. While it is a high-powered SCM system, Perforce also is easy to use, enabling developers to get up to speed in less than a day. The product's client/server architecture manages workspaces that reside on local disks, so that a network outage never cuts users off from their work. Perforce's high availability database provides for online backups, resulting in virtually zero downtime for companies, no matter where they operate.

Perforce Software develops, markets and supports Perforce, the Fast SCM System. Headquartered in Alameda, Calif., Perforce Software has international operations in Europe. Its customers include computer software and e-commerce companies such as Intel, Commerce One, Lycos, SAP AG, and Google as well as companies representing a variety of other industries, including Aetna Healthcare, Merrill Lynch, and Hewlett-Packard.

For additional information, call Perforce Software on 510-864-7400 (U.S.) or 44-118-989-3200 (Europe), or via e-mail at info@perforce.com. The company's Web address is http://www.perforce.com.

SOURCE Perforce Software, Inc

[Aug 22, 2000] PRNewswire: Sybase to Open Source Watcom C/C++ and Fortran Compilers

EMERYVILLE, Calif., Aug. 22 /PRNewswire/ -- Sybase, Inc. (Nasdaq: SYBS) today announced that it plans to release the source code for the Sybase(R) Watcom(TM) C/C++ and Watcom Fortran compilers under an Open Source license agreement. This move is designed to allow existing customers to continue to evolve the Watcom compiler products for their own use.

"We've had tremendous interest from our customers in Open Source versions of our Watcom compiler products," said Rob Veitch, director of Business Development, Sybase, Inc. "Sybase feels that leveraging the tremendous talent pool in the Open Source community is the best way to enable customers to continue to support and evolve these products into the future."

Sybase has selected SciTech Software, Inc. as the official maintainer of the Watcom compiler source code, which is planned to be released under the "Open Watcom" moniker. SciTech was selected due to its heavy use of Watcom products, its extensive cross platform experience and its record of Open Source involvement; SciTech released its commercial SciTech MGL graphics library to the Open Source community in 1997. Among its duties as official maintainer, SciTech will manage the Open Watcom web site (http://www.openwatcom.org), which will host the project source code, bug tracking database, developer discussion groups, and official binaries for free download. SciTech will also be heavily involved in the continued development of Open Watcom products.

"SciTech is a long time user of Watcom products and considers them among the best compilers around," said Kendall Bennett, Director of Engineering at SciTech Software, Inc. "We are ecstatic to be involved in a project that breathes new life into such awesome products and harnesses the creative energies of the entire 'Net community to enhance them into the future."

The Open Watcom compiler products are the first and only mass-market commercial compilers to be open sourced and, with more than a million lines of source code, the Watcom compiler products represent one of the largest pools of commercial source code of any type ever released under an Open Source license. Sybase plans to release the code under an Open Source license that will comply with the Open Source Definition (version 1.7), published by the Open Source Initiative (http://www.opensource.org).

"As a member of Team Sybase supporting Watcom compiler products, this shows that Sybase listens to their Watcom compiler customers and has their best interests at heart," said Stephen Howe, a member of the Team Sybase online support group. "I am delighted for all Sybase Watcom customers regarding this announcement."

SciTech Software and a select group of external developers will initially create and distribute a binary patch upgrade release (11.0c) on the Open Watcom web site. This binary patch will be available free of charge to existing Watcom C/C++ and Fortran customers and will include bug fixes developed by Sybase since the last commercial update of the product (11.0b). Following the binary patch release, the source for the Open Watcom compiler products will be released on the Open Watcom web site, so that any developer will be able to use and modify the code.

About Sybase, Inc.

Headquartered in Emeryville, CA, Sybase, Inc., is one of the largest global independent software companies. Sybase helps businesses integrate, manage and deliver applications, content and data anywhere they are needed. The company's products, combined with its world-class professional services and partner technologies, provide a comprehensive platform for integrated, end-to-end solutions in mobile and embedded computing, data warehousing and Web environments. Sybase focuses especially on Enterprise Portal (EP) solutions, which give businesses the ability to extend their enterprise to customers, partners and suppliers by converting stored data into useful information, that can be organized, integrated and personalized for use anywhere at anytime. Sybase customers represent the industries leading the global economy, with strong concentrations in financial services, public sector, telecommunications and healthcare. The company's Web address is http://www.sybase.com.

About SciTech Software, Inc.

SciTech Software, Inc. is the leading supplier of PC graphics utilities, drivers, and tools for high-performance graphics applications, including computer games. SciTech's products help users fix graphics hardware problems and allow software developers to achieve maximum performance from PC graphics hardware. SciTech's products include SciTech Display Doctor, the only universal display driver, SciTech GLDirect, an OpenGL to Direct3D driver and SciTech MGL, an Open Source, professional graphics library used to develop some of today's most popular software programs. SciTech products support the Windows, Linux, OS/2, DOS, QNX, and SMX operating systems. Many major software companies and hardware companies license portions of SciTech's technology for incorporation in their products. SciTech is privately held and the company's Web address is http://www.scitechsoft.com.

Sybase and Watcom are trademarks or registered trademarks of Sybase Inc. or its subsidiaries. All other company and product names mentioned may be trademarks or registered trademarks of the respective companies with which they are associated.

SOURCE Sybase, Inc.

/CONTACT: Shirley Macbeth of Sybase, 978-287-2734, or
smacbeth@sybase.com, or Tom Ryan of SciTech Software, 530-894-8400, or
tomr@scitechsoft.com/

/Web site: http://www.scitechsoft.com /

/Web site: http://www.sybase.com /

 

[Aug 19, 2000] Introduction to Programming in C/C++  with Vim  Written By: Kmj

... ... ...

Ctags is a program that comes with vim. Basically, it's purpose is to help a programmer get to various parts of his program with relative ease. The typical method of running ctags is by simply typing the following in your source directory:

[/home/someuser/src]$ ctags *

This will create a 'tags' file in you current directory with the following information for all C or C++ files in you directory. This file contains a listing of the following objects:

Vim then uses this file to help you locate these tagged items. This can be done in a few ways. First, one can open vim to the location of a tagged object. To do this, run vim with the '-t' flag and the tag-name as an argument. For example:

[/home/someuser/src]$ vi  -t  foo_bar

would open to the file containing the definition of foo_bar at that line.

If you are already in vi, you can enter the command by the tag-name:

:ta foo_bar

This may take you out of the file you are currently in, unless the 'autowrite' option is enabled. (It  is off by default.) For more information on autowrite, type ':h autowrite' from with vi command-mode.

The final way to jump to a tagged location is by typing 'Ctrl-]'  in command mode while the cursor is on a specific word. For example, if you are  looking at my program, and you come across a point where I call foo_bar(), you can type 'Ctrl-]', while the cursor is somewhere on that word, and it will jump to that definition. Note that 'Ctrl-]' is the escape character for telnet, so this may cause some issues if your editing files remotely. Type ':h^]' for more information.

Ctags can also be used with other languages (java, fortran, ...and more) and editors (emacs, NEdit, ...and more). When set up properly, this tool can make  your job tremendously easier, especially when you have to jump into a large ongoing project head-first.

For more information: View the man page, man ctags, or view the vim help, :h ctags.

c-style indenting

Vi has various methods of implementing auto-indenting. The best for C and C++ programmers is, obviously, cindent mode. This is a very versatile tool which gives the programmer much control over the look and feel of his source code, without any effort (except the effort of initial setup, of course). To enable c-indenting, just type ':set cindent' from the command mode.  The most important thing to note is that cindenting makes use of shiftwidth, not tabstops. The default shiftwidth is 8. In order to change this,  enter ':set shiftwidth=x' where x is the desired number of spaces to shift.

The default cindent options tend to be nice, but if you find your program indenting in some way that is annoying, you can modify the behaviour. To set the cindent options, type ':set cino=<string>', where <string> is a list defining exactly how you want your cindent options to behave. There are quite a few different types of indenting which can be done, and vim's help does a good job explaining them, so I won't go over them here. To view the help for the possible values of cinoptions, type ':h cinoptions-values'. To view the current values, simply type ':set cino'. Most likely there will be none, since everything starts at a default value.

For more information, check out the following: ':h shiftwidth', ':h cindent', ':h cinoptions', ':h cinoptions-values', ':h cinkeys', and ':h cinwords'.

syntax highlighting

Programmers who are used to integrated development environments know the beauty of syntax highlighting. It doesn't just make your code more readable; it also helps prevent annoying commenting and string errors. Vim has syntax highlighting for a number of languages, including C and C++ of course. To enable it, type ':syntax on'. Using it is as simple as that if you're happy with the default values.  Vim's syntax highlighting tools can be quite complex, with a number of different things to play around with. To view information on syntax hilighting, type ':h syntax', which will lead you to vim's extensive help system. Syntax hilighting with color terminals and with gvim is nice, but if you don't have color, vim uses underlining, boldface, etc. To me, this is pretty ugly.

For more information:  ':h syntax', ':h syn-qstart', ':h syntax-printing'

edit-compile-edit, a.k.a. Quickfix

This is a really nifty feature.  Basically, by typing one command, you can cause vim to attempt to make the program you're working on, then open to whatever file first compiler error is in at the line of that error. The command to execute is ':mak' (or ':make'). Vim will run whatever program is denoted by the value of 'makeprg'. The default value for 'makeprg' is 'make'. You can change this, if you wish, by typing ':set makprg=<string>', where <string> denotes the desired command. Vim uses the 'errorformat' value to figure out how to understand the output from the compiler. Since different compilers have different output format's, you'll probably have to enter the format string. The method used is rather similar to C-style formatting with scanf. The most important format specifiers are %f, meaning filename, %l, meaing line-number, and %m, meaning message.

GCC's format string: %f:%l:\%m

This can become quite complex with different compilers, but fortunately, vim has a world of information in their help at ':h errorformat'.

For more information, check out: ':h quickfix', ':h mak', ':h makeprg',  ':h errorfile', ':h errorformat'.

useful keystrokes

There are certain command-mode keystrokes that are especially useful for programmers. Below is a small subset of these:

Moving around within functions:
    [ [   = Go to previous first-column '{';   equivalent to ?^{
    ] ]   = Go to next first-column '{';   equivalent to /^{
    [ ]   = Go to previous first-column '}';   equivalent to ?^}
    ] ]   = Go to next first-column '}';   equivalent to /^}

    {   = Go to previous blank line.
   }   = Go to next blank line.

    gd   = Go to definition of current local variable  (current = cursor is on it)
    *   = Go to next instance of current word
    #   = Go to previous instance of current word
    ''   = Go to location where last search was started.

Parenthesis Matching:
%   Takes you to the matching parenthesis, curly brace, or bracket, depending on what you are on. This always comes in handy as a quick double-check.

Substution:
Vim has powerful substition capabilities,  with a very simple interface.  No annoying GUI to get in the way (though you may need to keep a cheat-sheet handy). To search for and replace text, use the following command:
:  [address] s/<pattern>/<string>/[g|c|N] (where N is an integer value).

This finds one (or more) instance of the grep-style regular expression represented by <pattern>, and substitutes it with <string>.  'address', 'g', and 'N' are modifiers which determine which and how many occurances of <pattern> are replaced.
g = Global:    Replace all occurances of <pattern> on the line.
c = Cond.      Ask before making each replacement.
N = Nth    Replace only the Nth occurance of <pattern> on the line.
(No modifier implies N=1, the first occurance on that line)

[address values]    -May be one specifier or two seperated by a comma.  (below,  x represents an integer).
. = The current line
$ = The last line in the file
% = Entire file
x = The xth line of the file
+x = x lines after the current line
-x = x lines before the current line

The comma may seperate any of the above in order to specify a range. All lines within the given range will undergo the substitution. The best reference I have found for  subsituting can be found at the Vi Helpfile, linked below.

Miscellany

Vim has so many nifty little things, it would be impossible to list them all. Here are a few more things that are worth taking a look at.

[Jul 29, 2000] Slashdot Are Buffer Overflow Sploits Intel's Fault -- interesting discussion about problems with C

The unsafe C library (Score:4, Interesting)
by Animats (slashdot-replies@animats.com) on Saturday July 29, @11:20PM EDT (#351)
(User #122034 Info) http://www.animats.com
One particular problem with C is a history of unsafe standard library functions, such as sprintf, strcat, and such, which just happily output into an array of char with no checking whatsoever. Those functions were deprecated back in the 1980s, and there are safe versions with output size limits like sprintf, but there is still far too much code that uses the old ones.

They need to be deprecated more forcefully. All the unsafe functions should be pulled from the standard C library and moved to something like "deprecated_unsafe_library.h". All set-UID programs need to be purged of those functions. Now. Any manufacturer shipping a system with those functions in a security-critical program should be sued for gross negligence.

Linux.DaveCentral.com Programming - C-C++, Page 1

SCO release Cscope tool under BSD licence Cscope is a developer's tool for browsing program code. The cscope code has been released as Open Source by Santa Cruz Operation, Inc. (SCO) under the BSD license. Curses based (text screen). An information database is generated for faster searches and later reference. The fuzzy parser supports C, but is flexible enough to be useful for C++ and Java. Supports a command line mode for inclusion in scripts or as a backend to a GUI/frontend. Allows searching code for:

C Coroutines

CORO(2)                    C Coroutines                   CORO(2)

NAME
       co_create, co_call, co_resume, co_delete, co_exit_to,
       co_exit - C coroutine management


SYNOPSIS
       #include <coro.h>

       extern struct coroutine *co_current;
       extern struct coroutine co_main[];

       struct coroutine *co_create(void *func, void *stack, int stacksize);
       void co_delete(struct coroutine *co);
       void *co_call(struct coroutine *co, void *data);
       void *co_resume(void *data);
       void *co_exit_to(struct coroutine *co, void *data);
       void *co_exit(void *data);
DESCRIPTION
       The coro library implements the low level functionality
       for coroutines.  For a definition of the term coroutine
       see The Art of Computer Programming by Donald E. Knuth.
       In short, you may think of coroutines as a very simple
       cooperative multitasking environment where the switch from
       one task to another is done explicitly by a function call.
       And, coroutines are fast.  Switching from one coroutine to
       another takes only a couple of assembler instructions more
       than a normal function call.

       This document defines an API for the low level handling of
       coroutines i.e. creating and deleting coroutines and
       switching between them.  Higher level functionality
       (scheduler, etc.) is not covered here.

 

[Mar 5 2000] Linux Gazette: Process Cloning in C


"What system file modifications must be made to a remote machine in order to make it amenable to your request to run a copy of your active process? Let's examine the issues surrounding what we call process cloning."

 

[Jan 28, 2000] DDJ: C PROGRAMMING by Al Stevens

Al has a thing or two to say about book publishers and programming books, then he turns his attention to this month's project -- TYFC, a framework to "Teach Yourself Framework Classes." Additional resources include cpro1199.zip (source code).

 

[Jan 9, 2000]redhat.com support An Introduction to C Development on Linux  by Nathan Thomas    <nthomas@redhat.com>

Switching to Linux for your development projects can seem like a daunting task at first but given a little direction, you will find that the development environment is both powerful and easy to use.

This paper is designed as an introduction to development under Linux, and will help you get your feet wet with all of the tools that you will need for a large scale development project. For now, the scope of this tutorial is writing a program in C, and includes information on text editing, compiling, debugging, and version control.

 Overview
Setting Up Your Shell
Developing a Simple C Program with vi and gcc
Using gdb to Debug a C Program
Compiling Multiple .c and .h Files
Using make to Simplify the Build Process
Using the Concurrent Versions System for Source Management
Final Thoughts and Resources

[Jan 3, 2000] Chapter 1 Philosophy Matters -- good rehash of programming style issues with usual for Eric Raymond doze of moralizing (could be skipped -- go directly to the second part ;-). Some point are questionable but this is an early version and it's too early to criticize it for that. For critique of Eric Raymond views on opensource see my OSS page

[Sept. 1, 1999]  Important: TurboC 2.01 is now free from Borland -- see link to Zip file here ! This is a great compiler with IDE for DOS environment. Simply great...

[Sept. 1, 1999] Programmers Heaven - C C++ Zone - Compiler Filelist -- very good list. BTW TurboC 2.01 is now free from Borland -- see link to Zip file on this page !

[Sept. 1, 1999] Programmers Heaven - C C++ Zone - CC++ Links -- good

[July 31, 1999] DLGCC HOWTOs

[July 31, 1999] Public-Access Compiler Service

[July 31, 1999] C Library Reference

[July 31, 1999]  GNU Manuals

[July 14, 1999] C VM-ESA Language Reference CONTENTS via IBM BookManager BookServer

[June 24, 1999] ISO C9X  -- info on the ISO C9X standard for the C language. 

[June 22, 1999] C Programming Language Information by J Blustein.

[June 11, 1999] StudyWeb: programming in C

[May 15, 1999] The Standard C Library for Linux Part 6  -- one can find other parts from this link

[May 15, 1999] C and C++ tutorials

[April 20, 1999] NEW EBOOK AVAILABLE IN THE PERSONAL BOOKSHELF
Sams Teach Yourself C in 24 Hours ISBN: 0672310686 -> http://www.mcp.com/personal/

GLib 1.1.7
GLib is a library containing many useful C routines for things such as trees, hashes, and lists. GLib was previously distributed with the GTK+ toolkit, but has been split off as of the developers' version 1.1.0.

WorkShop 4.0 Documentation -- good doc for DBX


Etc

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes.   If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. 

ABUSE: IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days. Multiple types of probes increase this period.  

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least


Copyright © 1996-2016 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: February 11, 2017