Softpanorama

May the source be with you, but remember the KISS principle ;-)
Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
(slightly skeptical) Educational society promoting "Back to basics" movement against IT overcomplexity and  bastardization of classic Unix

Typical Operations With the TEC Rulebase

News See also Recommended Links Creation Compiling Loading Testing
Compilation of the database Creating a New Ruleset Testing TEC rules Sending events to TEC from scripts System Heartbeats with TEC TEC and Oracle  

TEC Documentation

WRB command options TEC Rules Programming Consistency checking Tips Humor Etc

You can perform the following rule base operations:

The wrb command enables you to manage rule bases: create, view information, manipulate, delete, compile, load, and activate rule bases. The command's first option specifies its primary function. For example, to determine the current TEC rule base one can use the command:  wrb -lscurrb

wrb command has the main option (first argument,   -lscurrb  in the example above ) and option suboptions. The latter are valid only within the context of the first argument.  Formally wrb command syntax can be defined as:

wrb [ option [ suboption ]]

  1. List all existing rule bases
    • Simply list the rule bases

      # wrb -lsrb

    • List all rulebases and their file locations.
      bash$ wrb -lsrb -path
      Rule Base Name Directory
      -------------- -------------------------------------
      Default         nickelback:C:/PROGRA~1/Tivoli/bin/w32-ix86/TME/TEC/default_rb
      rbtmtp53        nickelback:/rulebase/rbtmtp53
      rbtmtp52        nickelback:/rulebase/rbtmtp52
      rbtmtpfp        nickelback:/rulebase/rbtmtpfp
      rbtmtp53new     nickelback:/rulebase/rbtmtp53new
      barocpatch      nickelback:/rulebase/barocpatch
      larry           nickelback:/rulebase/larry
      rbtmtp61        nickelback:C:\temp\new\
      rbtmtprca       nickelback:C:/rulebase
      rbtmtp60        nickelback:/rulebase/rbtmtp60
      test            nickelback:/rulebase/test
  2. To list the current rulebase.

    The command wrb -lscurrb reports the name of the current working rule base name. Tivoli provides a default rule base called Default.  You should not use it as your working database.
     

  3. To create rulebase: You need first to copy the rule base and then register it using the command ( use can also import exisitng rule, for example default). If you do not copy rulebase a basic rule base contains a singe ruleset

    wrb -crtrb -path d:/tivoli/rbs/production production

    See also Help -

    1. Create a new rulebase with the following command:
       wrb -crtrb -path / full_rulebase_path/ rulebaseName  

      Where full_rulebase_path is the path to where you want the rulebase files to reside and rulebaseName is the name of the rulebase. For example, wrb -crtrb -path /rulebase/rbtmtp rbtmtp

  4. To import the BAROC files using the following commands:

    wrb -imprbclass name.baroc <rulebasename>

  5. To compile the rule base use the command:
    wrb -comprules rulebasename
  6. To load the rule base into TEC (Loading a rule base recursively copies the entire ( TEC_CLASSES, TEC_RULES, and TEC_TEMPLATE ) directory structure into $DBDIR/tec/rb_dir.)
    wrb -loadrb ruleBaseName
  7. Stop and start the TEC server using the following commands (if you changed only rules and did not changed any BAROC files  you can avoid reloading of TEC by using the command wrb -loadrb -use rulebase   on the previous step, so in this case this step is unnecessary)
    wstopesvr && wstartesvr

Tips

Top Visited
Switchboard
Latest
Past week
Past month

Sample rulebase session

The following is a sample session using a rulebase named test. It shows the previously documented commands showing all the commands listed above along with the standard outputs. The sample session was performed on a Windows(R)-based Enterprise Console server.

Create the new rulebase.

bash$ wrb -crtrb -path /rulebase/test test 
Loading Classes 
Parsing C:\rulebase\test\TEC_CLASSES\root.baroc 
Parsing C:\rulebase\test\TEC_CLASSES\tec.baroc 
Loading Rule Sets Loading Rule Packs 
Loading RB Targets 
Parsing C:\rulebase\test\TEC_RULES\EventServer

Import in the Default rules.

bash$ wrb -cprb -o -f Default test

Import the TransPerf.baroc file.

bash$ wrb -imprbclass c:/temp/TransPerf.baroc test
Loading Classes
Parsing C:\rulebase\test\TEC_CLASSES\root.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tec.baroc
Parsing C:\rulebase\test\TEC_CLASSES\Tmw2k.baroc
Parsing C:\rulebase\test\TEC_CLASSES\hb_events.baroc
Parsing C:\rulebase\test\TEC_CLASSES\ebusiness.baroc
Parsing C:\rulebase\test\TEC_CLASSES\itmwas_dm_events.baroc
Parsing C:\rulebase\test\TEC_CLASSES\WebSphere_MQ_Channel.baroc
Parsing C:\rulebase\test\TEC_CLASSES\WebSphere_MQ_QueueManager.baroc
Parsing C:\rulebase\test\TEC_CLASSES\WebSphere_MQ_Queue.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2_Event.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2Agents.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2HostThroughput.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2CpuUtilization.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2DatabaseStatus.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2InstanceStatus.baroc
Parsing C:\rulebase\test\TEC_CLASSES\netview.baroc
Parsing C:\rulebase\test\TEC_CLASSES\dependency.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecadnw4.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_logfile.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_nt.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecados2.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_snmp.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_ov.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_hpov.baroc
Parsing C:\rulebase\test\TEC_CLASSES\sem_events.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_nv6k.baroc
Parsing C:\rulebase\test\TEC_CLASSES\as400msg.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_snaevent.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_nv390msg.baroc
Parsing C:\rulebase\test\TEC_CLASSES\TransPerf.baroc

Compile the new rulebase.

bash$ wrb -comprules test
Compiling test
Loading Classes
Parsing C:\rulebase\test\TEC_CLASSES\root.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tec.baroc
Parsing C:\rulebase\test\TEC_CLASSES\Tmw2k.baroc
Parsing C:\rulebase\test\TEC_CLASSES\hb_events.baroc
Parsing C:\rulebase\test\TEC_CLASSES\ebusiness.baroc
Parsing C:\rulebase\test\TEC_CLASSES\itmwas_dm_events.baroc
Parsing C:\rulebase\test\TEC_CLASSES\WebSphere_MQ_Channel.baroc
Parsing C:\rulebase\test\TEC_CLASSES\WebSphere_MQ_QueueManager.baroc
Parsing C:\rulebase\test\TEC_CLASSES\WebSphere_MQ_Queue.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2_Event.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2Agents.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2HostThroughput.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2CpuUtilization.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2DatabaseStatus.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2InstanceStatus.baroc
Parsing C:\rulebase\test\TEC_CLASSES\netview.baroc
Parsing C:\rulebase\test\TEC_CLASSES\dependency.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecadnw4.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_logfile.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_nt.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecados2.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_snmp.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_ov.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_hpov.baroc
Parsing C:\rulebase\test\TEC_CLASSES\sem_events.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_nv6k.baroc
Parsing C:\rulebase\test\TEC_CLASSES\as400msg.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_snaevent.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_nv390msg.baroc
Parsing C:\rulebase\test\TEC_CLASSES\TransPerf.baroc
Loading Rule Sets
Parsing C:\rulebase\test\TEC_RULES\maintenance_mode.rls
Parsing C:\rulebase\test\TEC_RULES\netview.rls
Parsing C:\rulebase\test\TEC_RULES\dependency.rls
Parsing C:\rulebase\test\TEC_RULES\ebusiness.rls
Parsing C:\rulebase\test\TEC_RULES\heartbeat.rls
Parsing C:\rulebase\test\TEC_RULES\cleanup.rls
Loading Rule Packs
Loading RB Targets
Parsing C:\rulebase\test\TEC_RULES\EventServer
Translating Rules
Translating C:\rulebase\test\TEC_RULES\maintenance_mode.rls.pro
Translating C:\rulebase\test\TEC_RULES\netview.rls.pro
Translating C:\rulebase\test\TEC_RULES\dependency.rls.pro
Translating C:\rulebase\test\TEC_RULES\ebusiness.rls.pro
Translating C:\rulebase\test\TEC_RULES\heartbeat.rls.pro
Translating C:\rulebase\test\TEC_RULES\cleanup.rls.pro
Compiling Rules
Compiling C:\rulebase\test\TEC_RULES\maintenance_mode.rls.pro
Compiling C:\rulebase\test\TEC_RULES\netview.rls.pro
Compiling C:\rulebase\test\TEC_RULES\dependency.rls.pro
Compiling C:\rulebase\test\TEC_RULES\ebusiness.rls.pro
Compiling C:\rulebase\test\TEC_RULES\heartbeat.rls.pro
Compiling C:\rulebase\test\TEC_RULES\cleanup.rls.pro
Building RB target EventServer
Compiling C:\rulebase\test\.rbtargets\EventServer\TEC_RULES\.load_rules.pro
Compilation Complete.

Load the new rulebase.

bash$ wrb -loadrb -use test
Loading Classes
Parsing C:\rulebase\test\TEC_CLASSES\root.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tec.baroc
Parsing C:\rulebase\test\TEC_CLASSES\Tmw2k.baroc
Parsing C:\rulebase\test\TEC_CLASSES\hb_events.baroc
Parsing C:\rulebase\test\TEC_CLASSES\ebusiness.baroc
Parsing C:\rulebase\test\TEC_CLASSES\itmwas_dm_events.baroc
Parsing C:\rulebase\test\TEC_CLASSES\WebSphere_MQ_Channel.baroc
Parsing C:\rulebase\test\TEC_CLASSES\WebSphere_MQ_QueueManager.baroc
Parsing C:\rulebase\test\TEC_CLASSES\WebSphere_MQ_Queue.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2_Event.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2Agents.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2HostThroughput.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2CpuUtilization.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2DatabaseStatus.baroc
Parsing C:\rulebase\test\TEC_CLASSES\DB2InstanceStatus.baroc
Parsing C:\rulebase\test\TEC_CLASSES\netview.baroc
Parsing C:\rulebase\test\TEC_CLASSES\dependency.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecadnw4.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_logfile.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_nt.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecados2.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_snmp.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_ov.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_hpov.baroc
Parsing C:\rulebase\test\TEC_CLASSES\sem_events.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_nv6k.baroc
Parsing C:\rulebase\test\TEC_CLASSES\as400msg.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_snaevent.baroc
Parsing C:\rulebase\test\TEC_CLASSES\tecad_nv390msg.baroc
Parsing C:\rulebase\test\TEC_CLASSES\TransPerf.baroc
Loading Rule Sets
Parsing C:\rulebase\test\TEC_RULES\maintenance_mode.rls
Parsing C:\rulebase\test\TEC_RULES\netview.rls
Parsing C:\rulebase\test\TEC_RULES\dependency.rls
Parsing C:\rulebase\test\TEC_RULES\ebusiness.rls
Parsing C:\rulebase\test\TEC_RULES\heartbeat.rls
Parsing C:\rulebase\test\TEC_RULES\cleanup.rls
Loading Rule Packs
Loading RB Targets
Parsing C:\rulebase\test\TEC_RULES\EventServer

Stop and restart the Enterprise Console server.

bash$ wstopesvr && wstartesvr
The Tivoli Enterprise Console Server is initializing...
The Tivoli Enterprise Console Server is running.

List the current rulebase.

bash$ wrb -lscurrb
The currently used rule base was loaded from the rule base named 'rbtmtp60'.

List status of the Enterprise Console server.

bash$ wstatesvr
The Tivoli Enterprise Console Server is running

List all rulebases and their file locations.

bash$ wrb -lsrb -path
Rule Base Name Directory
-------------- -------------------------------------
Default         nickelback:C:/PROGRA~1/Tivoli/bin/w32-ix86/TME/TEC/default_rb
rbtmtp53        nickelback:/rulebase/rbtmtp53
rbtmtp52        nickelback:/rulebase/rbtmtp52
rbtmtpfp        nickelback:/rulebase/rbtmtpfp
rbtmtp53new     nickelback:/rulebase/rbtmtp53new
barocpatch      nickelback:/rulebase/barocpatch
larry           nickelback:/rulebase/larry
rbtmtp61        nickelback:C:\temp\new\
rbtmtprca       nickelback:C:/rulebase
rbtmtp60        nickelback:/rulebase/rbtmtp60
test            nickelback:/rulebase/test

Options of wrb command

-comprules [-profile] [-trace] rule_base Compile the rules in the rule base specified by the rule_base argument into Prolog object files that the rule engine can process.
-cprb [-classes] [-rulesets] [-targets] [-delete | overwrite] [-force] source destination Copies an existing rule base to another existing rule base.
-crtrb [-path path][-force] rule_base Creates a rule base on the event server in the current Tivoli Management Region (TMR).
-import rule_set... The name of one or more optional rule sets to import into the new rule pack.
-crttarget target[-import { rule_set}...] rule_base Creates a rule base target in the rule base.
-import {rule_set}... The name of one or more optional rule rule sets to import
-delrb rule_base... Delete one or more rule bases from the event server.
-delrbclass class_set [-force] rule_base Deletes a class set from a rule base.
-delrbrule rule_set [-force] rule_base Deletes a rule set from a rule base.
-delrbtarget target rule_base Deletes a rule base target from a rule base.
-imprbclass class_file [-before class_set | -after class_set][-force] Imports a file of event class specifications (a.baroc file) into a rule base, appending it to the end of the class specifications unless otherwise specified with arguments.
-imprbrule rule_file [-force] rule_base Imports a rule set file into the rule base.
-loadrb [-use] rule_base Loads a rule base onto the event server.
-lscurrb Lists the name of the currently loaded rule base.
-lsrb [-path] [rule_base...] Lists the rule bases that are currently defined on the event server.
-lsrbclass [class_name...] [-detailed] rule_base Lists the event classes in the specified rule base.
-lsrbrule [rule_file...] rule_base Lists the names of the rule set files which have been imported into the specified rule base.
-lsrbtarget [target...] [-detailed] rule_base Lists the names of the rule base targets in the specified rule base.
-setrb [-name name][-path path [-force]] rule_base Sets properties of an existing rule base

NEWS CONTENTS

Old News ;-)

SendingEvents

www.princeton.edu

Sending a Tivoli event from a Unix script involves the following steps:

- Define an event class

- Generate events

- Choose a method for closing events

Defining an event class

Every event must have an class name that identifies it to the Tivoli Enterprise Console (TEC). By convention, we will use unix_<program name> for the events sent by programs or scripts on the Unix systems, and nt_<program name> for Window NT/2000. The ESM staff will set up the event classes as requested. Put a request in the ESM-Incoming queue in TPM or send e-mail to [email protected].

Generating events

Issue a wpostemsg command to send an event to the Tivoli Enterprise Console (TEC), which is the event correlation engine. The format of the command is as follows:

wpostemsg [-m message] [-r severity] [hostname=<host>] [value=<value>] [probe_arg=<probe-argument>] [response_level=reset] class source

The wpostemsg command requires that the proper environment be set up. The easiest way to do this is with the "tiv" script in /var/local/Tivoli/Princeton/bin. To issue a single command, just give the tiv command followed by the command. The tiv command with no arguments will start a shell with the environment set up.

Arguments:
  • message is a arbitrary text message explaining the meaning of the event.
  • severity is one of FATAL, CRITICAL, MINOR, HARMLESS, or WARNING
  • class is the class defined for this event.
  • source is "unix" or "windows_nt"
  • <host> is the unqualified name of the host for which the event is to be reported.
  • <value> is the value (if any) associated with this event.
  • <probe_argument> is any qualifier associated with the event, such as the disk, network interface, etc. to which the event applies. Use this to distinguish different events of the same class coming from the same host
  • <response_level> is an optional argument. If it is specified as "reset", then an open event with the same hostname, class and probe_arg values will be closed.

Examples:

/var/local/Tivoli/Princeton/bin/tiv wpostemsg -m 'Percent disk' -r WARNING hostname=isserver1 value=98 probe_arg='/tmp space' unix_dfwarn unix

/var/local/Tivoli/Princeton/bin/tiv wpostemsg -m 'Percent inodes' -r WARNING hostname=isserver1 value=98 probe_arg='/tmp inodes' unix_dfwarn unix

Recommended Links

Rule Bases and Rule Base Administration

  • Rule Base Directory
  • TEC_CLASSES Subdirectory
  • TEC_RULES Subdirectory
  • TEC_TEMPLATES Subdirectory
  • Rule Base Operations
  • Listing All Known Rule Bases
  • Listing the Current Rule Base
  • Listing All Rule Sets and Event Classes Contained in a Rule Base
  • Changing the Properties of a Rule Base
  • Creating a New Rule Base
  • Copying a Rule Base
  • Deleting a Rule Base
  • Adding a Rule Set to a Rule Base
  • Adding Class Definitions to a Rule Base
  • Compiling a Rule Base
  • Loading a Rule Base
  • Orb Data - Enterprise Console

    GulfBreeze Software Tivoli Training

    Related documentation

    Topic For More Information
    Sun Management Center Installation Sun Management Center User's Guide
    TEC adapters TME10 Event Integration Facility User's Guide
    Tivoli task libraries and tasks TME10 Framework User's Guide
    Tivoli BAROC file and rules TME10 Enterprise Console Rule Builder's Guide
    Tivoli Console and tasks TME10 Enterprise Console User's Guide

    Loading

    Only one rulebase can be active. The operation of making rulebase active is called loading of the rulebase:

    wrb -loadrb myrules

    Consistency checking

    Certain tasks performed with the wrb command require that the rule base be in a consistent state before the command completes. If the rule base is not consistent, the command displays an error message explaining the cause of the inconsistency. For a rule base to be consistent, the syntax of class sets and rule sets is verified, as well as references to those files in various rule base definition files. For a rule base to be in a consistent state, the following conditions must be true:

    Any command that checks rule base consistency will accept the -force argument to perform the task without checking rule base consistency first. When class set files (.baroc ) or rule set files (.rls ) are being imported into a rule base, the name of the file must be given. Once these objects have been imported into a rule base, you must use the logical name in any command options. When importing an object into a rule base (for example, rule sets, event classes, rule packs into rule base targets, and so forth), an object that already exists in the rule base must be deleted before you can replace it with a newer version of the object. Each command option below specifies whether you must specify the name of the file or the name of the object.



    Etc

    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 Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D


    Copyright © 1996-2021 by Softpanorama Society. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. 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 to buy a cup of coffee for authors of this site

    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 Softpanorama society. We do not warrant the correctness of the information provided or its fitness for any purpose. 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.

    Last modified: March 12, 2019