May the source be with you,
but remember the KISS principle ;-)
Key Softpanorama Topics
|About||Contents||Top Updates||Top Visited|
|Bulletin||Selected Papers||Softpanorama Bookshelf||History|
|News||Buzz||Softpanorama Statistics||HTTP Servers Log Analyses|
|Operating Systems_mix for Softpanorama||Browsers Mix for Softpanorama||Countries Mix for Softpanorama||Zombies with PHP scanners|
Simplicity is the ultimate sophistication
-- Leonardo da Vinci
There are features that should not be used.
there are concepts that should not be exploited.
There are problems that should not be solved.
There are programs that should not be written.
Softpanorama is a very simple in layout, almost primitive site that does not use any Web 2.0 technologies. It's primary focus is self-education and in this area content is the king. Layout is of secondary importance. So due to limited resources we have sophisticated layout was sacrificed. All pages have a single comunb layout with width the can be regulated by width of broser window. There is auto regulation of width for the site so "dafault layout on 19" monitors is way too wide.
Pages are structured into three main sections
Simple table at the top contain major anchors and links for the topic in question.
The site is a rare breed of "compiled' web sites where target pages are not generated on request, but are precompiled when a change arrives.
In 2012 open source is a really old concept and computer science education that once was flourishing, now is a neglected area in deep crisis. That indirectly suppresses the site as funds available for its development (with partial contribution of Google AdLinks advertisements) dramatically shrunk.
Few people remember the fact that computer science (CS) education is an area were open source was born and the area where open source really shines: the academic value of simple (note the word "simple") open source software (OSS) cannot be overestimated.
"Free/open for education" is one of the most important meanings of "free software". This 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 for education".
Open source like love is a very complex subject and we reject romantic ideas inherent in both Stallmanism and Raymondism. For example, I see nothing wrong with using open source development as a career jumpstart, the stage on which talented programmers can demonstrate to themselves and the world the level of their talent before moving on to other, possibly closed source, projects. And vice versa, after such person works in corporate environment for several years, the frustration can reach level when some level of participation in related to work environment open source project might be a good safety valve, the best way to preserve sanity :-).
The truth is that due to outsourcing inside cubicles of IT departments fear, sycophantism, hypocrisy and paranoia reign free, leaving demoralized, fearful cripples. Like in high demand cults, the corporate workplace culture obfuscates cruel or stupid actions of management with the barrage of "corporate speak". Another important danger for talented people entering IT field is the danger of authoritarians and psychopathic managers. Unfortunately, they not only common, they became a dangerous epidemics in IT, as the popularity of Dilbert cartoons attests. Any software engineering student should be well acquainted with this new menace -- most probably he will deal with several of immediately after entering workplace or, at best case, at some later stage of his/her career. That means that to survive graduates need not only know their specialty but also should understand (and strive to improve this understanding) of the social environment in which programmers and sysadmin live, especially the theater of absurd of IT departments of large corporations.
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 and system administrator environments. Those are now far from a "paradise for creative minds" they used to be. Many large and "mature" IT departments don't look that different from the stagnant communist countries like USSR -- breakdown/suppression of feedback loops, favoritism and elite detachment, widespread disengagement, and keeping one's mouth shut except in trusted circles. You can survive and even succeed in this environment, but you need to know the real rules of the game. 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.
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 real computer science history (not some kind of falsification that is presented as history) 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. Not 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 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. Unfortunately 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 as components interconnected using pipes along with usage of scripting languages 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 as probably 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 this sense true linux is minimal distributions. 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 ;-).
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 in IT brand of corporate sociopaths.
Another sign of deterioration of the IT environment (especially in large corporations) is IT obscurantism with a catchy slogan "IT Doesn't Matter". As Alfred A. Knopf noted obscurantism an abstruse style characterized by deliberate vagueness tries to mask absence of ideas by usage of fancy new terms and false analogies, it "... states the obvious in terms of the incomprehensible". The father of "IT obscurantism" is Nicholas Carr, a former executive editor of the Harvard Business Review (who never was a programmer and has just a degree in English studies). Despite lipstick on the pig in a form of Harvard Business Review respectability, his HBR article and the book is a perfect example of frivolous treatment of history in best 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, OO, Linux, cloud computing with skepticism they deserve. Obsessive push for fads in IT reminds of women fashion. For example, Java and OO both are "one step forward, two steps back" technologies as they stimulate codebase bloat and are inferior to scripting languages as the software implementation tools. Cloud computing, in essence, is nothing more then a return to centralized mainframe model on a new technological level, the fact that is conveniently swiped under the carpet (obscured) in MSM publications on the topic. We feel that instead of following fads, 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" such as Ruby :-). 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. 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 ). "Free software" is overused and often abused term. Open codebase is important only for a relatively small project. Starting from a certain size codebase effectively self-close even if source code and available. And often it make sense to use the best tool that you can afford, not the cheapest one. I doubt that users of Emacs can boast superior productivity in comparison with users of Slickedit, or that FrontPage users are inferior to users of, say, Komodo 6 or KompoZer. 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 a similar open source product without :-). Paradoxically Stallman never managed to understand the value of scriptability despite being the author of Emacs. That's why most GNU-tools are so backward in this respect.
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.
As a person who lived in Kiev during the tragic days of Chernobyl catastrophe I wish the best to my Japanese readers. I hope that situation will, eventually, improve ! We should never lose hope.
Dr Nikolai Bezroukov
|Bulletin||Latest||Past week||Past month||
Both can be used is access to softpanorama.org is slow. softpanorama.info is probably the fastest way to access Softpanorama content.
Pages are structured into three main sections
- Tutorial/Intoductory article
- News section
- Recommended Links Section
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 : C++ Humor : ARE YOU A BBS ADDICT? : Object oriented programmers of all nations : C Humor : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : 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 : The Most Comprehensive Collection of Editor-related Humor : Microsoft plans to buy Catholic Church : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor : Best Russian Programmer Humor : Russian Musical Humor : The Perl Purity Test : Politically Incorrect Humor : GPL-related Humor : OFM Humor : IDS Humor : Real Programmers Humor : Scripting Humor : Web Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor :
The Last but not Least
|You can use PayPal to make a contribution, supporting hosting of this site with different providers to distribute and speed up access. Currently there are two functional mirrors: softpanorama.info (the fastest) and softpanorama.net.|
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: October 26, 2013