"For the great enemy of truth is very often not the lie -- deliberate, contrived and dishonest -- but the myth -- persistent, persuasive and unrealistic. Too often we hold fast to the clichés of our forebears. We subject all facts to a prefabricated set of interpretations. We enjoy the comfort of opinion without the discomfort of thought."

JFK  Yale University graduating class speech (June 11, 1962)
 

May the source be with you, but remember the KISS principle ;-)

Google   

Softpanorama
(slightly skeptical) Open Source Software Educational Society

This is a self-education oriented site that contains resources for the independent study in computer science and programming. The latter is the area were open source really shines: the academic value of open source software (OSS) cannot be overestimated ( "free as in education"  is important meaning of "free").

The main purpose of  the "slightly skeptical" approach (which is a signature of the site)  is to stimulate people to think about Unix administration and software development problems and to increase an understanding of the computer science history in general and, especially, open source history.   The importance of knowing computer science history is the leitmotiv of many pages and several e-books that the site contains. The quote "Those who cannot remember the past are condemned to repeat it"  is especially true in software engineering. The site also tries to help CS students to find better textbooks (and sometimes cheaper textbooks) as well as help to find suitable to self-education resources on the WEB. It also helps to survive of dullness of current CS curriculum with its OO and Java overload and a lot of detached from reality high level concepts but few interesting, exiting ideas: the key elements of the Unix culture are no longer taught. Some important skills like the ability to use the full spectrum of Unix tools with pipes are actually dying and can and should be saved.

We should also understand that open source is not a panacea and that overcomplexity is the cancer of open source: it defeats the idea of open source much better then any real or imaginable opponent. The key to successful programming is not "source code", it's "understanding". When and if complexity is out of hand it badly affect the ability of people to understand the codebase and thus reliability and maintainability of the code base. This classic Greek tragedy theme of open source -- the same qualities that ensure the initial success of the hero later predetermines his downfall in played in many areas  but Linux is probably one of the most visible victim of its success.  It became Microsoft of Unix with a typical distribution like RHEL or Suse overloaded with arcane and complex subsystems and pretty resource hungry kernel. In a way it now matter less and less whether particular component is open source or not as fewer and fewer people can benefit from the availability of the codebase.

This site is one of the few that raises red flags about overcomplexity in software as well as important side effect of deterioration of the quality and architectural integrity of codebase. We need to figure out how to design our software systems to not produce "more staff", but more elegantly produce enough. Design is measured not by quantity, but by quality. That's were Unix tradition comes into play, but recently it was distorted by competition with Microsoft, which in a way is "The king of software overcomplexity", the company which stripped IBM from this title (although IBM still desperately clings for the title as we can see in Tivoli, Webshere is other products ;-). Sometimes good point can be brought home more easily in the form of humor; for that purpose we created Softpanorama IT Slackers Society with its own manifest and ten commandments

There is also an important social dimension of the "overcomplexity trap": first we build the system that we cannot understand and as an unanticipated side effect to the management ranks are promoted people who cannot understand anything at all and for whom self-serving deception and creating virtual reality for their bosses, in best Potemkin villages style is the normal way of life :-).  We feel that this side social effect of overcomplexity contributed to dilbertalization of IT and stimulated rise to power of micromanagers  as one of the most prolific brand of corporate sociopaths. Unfortunately, there are not only common, they became a real and dangerous epidemics in IT and software development.  This realistic and somewhat pessimistic view might help students deeply interested in software technologies better grasp the pitfalls, trade offs and compromises of modern corporate IT environment, especially software development environment. It's far from a "paradise for creative minds" and it drastically changed to the worse for the last decade...

Another sign of deterioration of the IT environment  (especially in large corporations) is IT obscurantism with it manifesto "IT Doesn't Matter". It was written by Nicholas Carr, a former executive editor of the Harvard Business Review (who never was a programmer and has a degree in English studies).  Despite lipstick on the pig in a form of Harvard Business Review respectability, his article is a perfect example of anti-intellectualism tradition. It's only junk ("Dilbertilized') IT which does not matter. In this sense Carr's ideas are "the most dangerous advice to CEOs has come from people who either had no idea of what they didn't know, or from those who pretended to know what they didn't. "  As such they were pretty well received in corporate boardrooms as a philosophical justification of outsourcing.

As for the development side of the IT we stress that currently only scripting languages can provide some shelter from overcomplexity. That's why the site treats Java and OO with skepticism they deserve. Both stimulate codebase bloat. We feel that any IT student who respects himself should learn  classic Unix shell (as well as visual shell environment as exemplified by OFM and command line automation as exemplified by classic Unix utilities and pipes as well as by Expect and TCL.  Also one of the "P" family of scripting languages is a necessary part of any serious programmer of system administrator arsenal (and the list of "P" languages actually includes languages with names which do not start from the letter "P", for example Ruby which can viewed as Perl 6 :-).  While there is no silver bullet in fighting overcomplexity  the usage of scripting languages (or any VHLL languages) permit hiding complexity on compiler/interpreter level (pushing it on the level of abstract machine that the language implements,  where due to more static nature of such abstraction it can be better contained). Scripting language also permit cleaner separation of "programming in the large" from "programming in the small" and best of them permit smooth integration of lower language fragments (for example Java or C).  That's why scripting languages represent the most important area of open source development.

Unlike most OSS sites this site believes that Unix is much more important then Linux and we are not overly excited about this poster child of open source movement.  Moreover we feel that a tandem of Windows desktop and Unix server on a virtual machine is a more productive environment that any single OS environment be it Windows, Linux or Solaris.  The author generally prefers Solaris as the most stable and mature open flavor of Unix and "Unixified Windows" as a client. The latter has an amazing free tool SFU 3.5 ( funny enough in 2004 it was nominated as a finalist for the LinuxWorld Product Excellence Awards in the Best System Integration Solution category; in a way this is Microsoft's "Linux for Windows"). We also hold very high opinion about major BSD flavors (this site is running on a FreeBSD server). As for Linux the most important segments of Linux OS development are community distributions like Debian and Gentoo as well as minidistributions like Knoppix. 

The site rejects "cargo cult software engineering" like Capability Maturity  Model (CMM) and links such phenomena with old and dangerous science disease called Lysenkoism. We also have a strong anti "cult of personality" stance (see "slightly skeptical" biographies of Richard Stallman and Linux Torvalds ).  Freedom is overused and often abused word. You need to use the best tool if you can afford, not the cheapest one. There is little freedom (besides zero price) in using complex open software unless you want to risk your sanity by modifying (and possibly maintaining your fork of ) huge codebase. Scriptability does matter and a product with built-in macro-language often is better then open source product without :-).  Paradoxically Stallman never managed to understand the value of scriptability despite being the author of Emacs. That's why many GNU-tools are so backward in this respect.

The site promotes deeper understanding of open source development viewing it as a special type of academic research (with the same pitfalls and limitations involved) and understands "free" mainly as in "free education". For students it might be better limited to the initial stages of their career of programmers, the stage on which they can demonstrate to themselves and the world the level of their talent before moving on.  It rejects romantic ideas inherent in both Stallmanism and Raymondism

We also try to promote usage of old proven command-line tools like Orthodox file managers (OFM), Orthodox editors like "eastern orthodox editors" (Xedit, Kedit, THE, etc) and western orthodox editors (vi, vim, etc), as well as classic Unix utilities. Special attention is devoted to pipes as a glue for classic Unix tools.

Warning: Web is now a dangerous place. For your protection you are strongly advised using a separate instance of Windows on Microsoft Virtual PC or VMware if you use a Windows-based WEB browser.

In view of the recent wave of Malicious iframe attacks it is important to understand that in case you see a pop-up that asks to install any plug-in, often misleadingly claimed to be from a reputable software vendor like Microsoft more often then not it means that the particular page was hacked. Never install any ActiveX plug-ins on prompt -- go to the vendor site and do it manually. Analysis of approximately 4,000 compromised sites delivering the malicious IFRAMES code has shown that the overwhelming majority -- 98% -- were running the Apache Web server
[Sophos2007].  This is typical for budget Web hosting providers and this statistics may reflect the fact that attack target them. As such this site is not immune.

Pages on this site do not require any plug-ins or ActiveX controls but please note that since May of 2007 Google started using rich content ads which for some pages lead to requests to download ActiveX controls. If you are not working in a separate instance of Windows under VM it is safer to ignore such requests.
 
 
Bookshelf
 
Classic CS booksExcel books Algorithms  :  Compilers : Red Hat : : Perl Books : Shell Books
Assembler : MS Word : Windows_registry  : Solaris : DebuggingUnix : C++ : CISSP CD_bookshelf : Pascal ArchitectureTesting : OS_design : Open Source : SE : Network Security  : Tcp/ip : Javascript : Toxic_managers : AWK  :  Unix securityVBS : Apache  : ToolsDNS Micromanagers : Frontpage  :  Overload  :  Sociology_of_organizations : Suse   :  Social_Trends  :
 
Switchboard -- Links, Links, Links...
 
Algorithms : Links : Certification : Databases : Editors : OS design : Languages : Networking : Mail : Orthodox File Managers : Open Source Software Problems : Scripting  : Skepticism : Security : Software Engineering : Social : Solaris : System Administration : Unix Tools : Unixification of Windows : WWW
 
Humor -- the best medicine against conformism, stress, toxic managers (including micromanagers) and overload.
 
BSD logo story : Cuckoo Egg Review  : Hired Magazine Interviews Good Software Group Founder : Hoax Quiz : Linux sucks collection : Twenty-five Signs of a Completely Americanized Russian Programmer
 
Top visited pages:

Unix Find TutorialUnix sort command : Unix cut command : Windows XP Slow Startup and Shutdown : VNC on SolarisVNC on Linux : Sorting Algorithms : AWK Programming : Free Registry tools Norton Ghost Windows Resource Kit Algorithms Microsoft Registry Tools Unix_system_calls AWKVNC on LinuxSolaris vs LinuxAssembler Orthodox_File_Managers Scripting_Page Windows Process ViewersSolaris zonesDual_boot Editors find VNCWindows Command Line ToolsUnix dd utilityCompilers Skeptical Antivirus/Malware Page Shells PipesSkeptics :   Decompilation :  

Recent updates:

bash Control Structures : Loops in Shell : if statements : Pipes and Coroutines in Shell : Bash  : Social Dynamics of Free Software Licenses  : Skeptical view on financial news : Tivoli : TECTFMITM : Suse : Yast : Sudo : Suse installation : Literate Programming : Malware Defense Strategy : Malicious iframe attack : Hosting : Solaris vs LinuxTCP Protocol Layers : Micromanagers : Network Troubleshooting Tivoli Redbooks Solaris vs Linux : A Slightly Skeptical View on Scripting Languages : Peephole Refactoring : Program Slicing : The History of Development of Norton Commander IT Outsourcing SkepticLog Auditing VNC  :  Softpanorama Society Orthodox File Managers Site  : Windows Process Viewers :   

 

New articles:



Copyright © 1996-2007 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. Submit comments This document is an industrial compilation designed and created exclusively for educational use and is placed under the copyright of the Open Content License(OPL). Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Standard disclaimer: The statements, views and opinions presented on this web page are those of the author 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.

Created: May 16, 1996; Last modified: May 04, 2008