"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 ;-)

Softpanorama Search

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/open for education"  is one of the most important meanings of "free software".)

The main purpose of the "slightly skeptical" approach (which is a signature of the site)  is to stimulate critical thinking about  software development and Unix administration problems. The site emphasizes the importance of understanding of the computer science history in general and, especially, open source history. The quote "Those who cannot remember the past are condemned to repeat it"  is especially true in software engineering. The importance of knowing computer science history (and knowing it well) is the leitmotiv of many pages and several e-books that the site contains.

The layout is really Spartan and the motto is: forget about perfection and slick layout, just make the pages informative. Pages are noise-filtered. Feedback is used in a limited way: if you want substance, you need few useful inputs from friends and supporters. No fancy layout and forums with hundreds of messages from strangers. Those have its place, just not when you're looking for in-depth stuff. That also makes search more efficient.

The site also tries to help CS students to to survive of dullness of the 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 sharing of programming ideas is not "source code", it's "understanding". When and if complexity is out of hand it badly affects the ability of people to understand the codebase and thus reliability and maintainability of the code base. This is a classic Greek tragedy theme of open source -- the same qualities that ensure the initial success of the hero later predetermines his downfall. This tragedy theme was played in many open source projects with Linux is probably as one of the most visible.  Conversion of Linux from a small elegant system into "Microsoft of Unix" with a typical distribution like RHEL or Suse overloaded with arcane and complex subsystems and pretty resource-hungry kernel is an interesting story in itself. In a way it now matter less and less whether particular Linux component is open source or not as fewer and fewer people can benefit from the availability of the codebase. Paradoxically closed source products with open API and internal scripting language like Microsoft Office (which includes such amazing products as FrontPage and Excel) are in some respects more open then a large C-written open source product which does not support internal macro language.

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 the codebase with the growth of the complexity of the product. We need to figure out how to design simpler software systems. Design is measured not by quantity, but by quality. That's were Unix traditions come into play, but recently they were 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 fights for the title as we can see in Tivoli, WebSphere and several other products ;-). Sometimes good points 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 IT management ranks are promoted people who cannot understand anything at all and for whom self-serving deception and creating of virtual reality for their bosses ( in best Potemkin villages style ) is the normal way of life :-).  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 they became a dangerous epidemics in IT as popularity of Dilbert cartoons attests and any software engineering student should be well acquainted with this new menace -- most probably he will deal with one. This realistic and somewhat pessimistic view might help students deeply interested in software technologies better grasp the pitfalls, 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 a catchy slogan "IT Doesn't Matter". The father of "IT obscurantism" is 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 HBR article is a perfect example of frivolous treatment of history and anti-intellectualism tradition. It's only junk ("Dilbertalised') 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 ;-).

For software developers currently only scripting languages can provide some shelter from overcomplexity. That's why the site treats Java and OO with skepticism they deserve. Both are "one step forward, two steps back" technologies as they stimulate codebase bloat. We feel that any IT student 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 TCL and 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 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 separate or a virtual machine is a more productive environment then any single OS environment be it Windows, Linux or Solaris.  The author generally prefers "Unixified Windows" as a client. The latter has an amazing free tools as Cygwin, Uwin and SFU 3.5 (the latter is now outdated, but, 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. 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 exporting browser from Linux via Cygwin/X or using a separate instance of Windows via Microsoft Virtual PC or VMware.

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.


In case of broken links please try to use Google search. If you find the page please notify us about new location
Custom Search

Softpanorama Switchboard

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:

Tivoli TWS : Multimedia : VOIP  : Working with computer sound : SUSE 10 SP2  Installation Checklist : Linux multipath : Unix Find Tutorial/Finding files using file name or path  : Ten Commandments of the IT Slackers SocietyCygwin : Teraterm  :  FileZilla  : Linux Performance TuningLVM :  Linux Disk Management : SLES Registration :   Suse installation : SuseFinancial Blogorama : Financial HumorSAT : 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 : TECTFMITMYast : SudoLiterate 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 :   

 

Recent articles:



Copyright © 1996-2009 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). Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

Disclaimer:

Created: May 16, 1996; Last modified: January 13, 2010