Softpanorama

Home Switchboard Unix Administration Red Hat TCP/IP Networks Neoliberalism Toxic Managers
May the source be with you, but remember the KISS principle ;-)
Skepticism and critical thinking is not panacea, but can help to understand the world better

Macrorecoders and Keyloggers

News Windows Keyboard and Mouse Utilities Recommended Links Programmable Keyboards Microsoft IntelliType AutoHotkey
Clipboard managers ArsClip Expect Mousekeys Microsoft Windows shortcuts Keyloggers
Techniques for 'driving' Windows applications Microsoft Windows shortcuts Keyboard remapping How to pipe text from shell to windows cut and paste buffer Humor Etc

A macro recorder is a software utility that allow recording of user actions and stored them as a macro in some special purpose language (or general scripting language such as TCL). This macro can then be played back at any time using either hotkey or direct invocation (if macro extension is associated with macro recorder). The main advantage of using a macro recorder is that it allows a universal method of automation of repetitive actions, the method that is application independent. The name has come from the name of Windows 3.1 utility Macro Recorder (recorder.exe). It allowed recording a series of mouse clicks and keystrokes and then play them back from any application. Windows 95 discarded this useful application.

The most popular replacement of this functionality in later version of Windows was AutoHotkey a free, open-source utility for Windows. With it, you can:

See also Techniques for 'driving' Windows applications It mentions several technologies each with multiple implementations:

[Technologies]:

Note:

For Unix expect is a great program with the capabilities unmatched in the Windows world. It uses TCL as a scripting language. There is O'Reilly book about Expect. Windows port is availble from Active State.


Top Visited
Switchboard
Latest
Past week
Past month

NEWS CONTENTS

Old News ;-)

[Sep 14, 2012 ] Macro Recorder, Macro Program, Keyboard Macros & Mouse Macros

  • record macros of your routine tasks
  • or create macros from scratch using the macro editor and built-in commands like "open file", "shutdown", "launch website" and even for-loops and if-statements like in "big" programming languages. Make your own programs and macros - no programming skills required.

    Why Jitbit Macro Recorder?

    Benefits:

    And all the features a macro recorder should have

    Free Macro Recorder

    There are ways to get a free Macro Recorder for you Details here.

    Affordable Lite Version Available

    Consider a cheaper LITE version for a basic mouse & keyboard recorder. See the comparison table below for more info:

    Macro Recorder Macro Recorder LITE
    Mouse & Keyboard macro recorder + +
    Binding macros to hotkeys + +
    Stealth mouse & keyboard recording + +
    "SMART-Rec" mouse coordinates recording + +
    Advanced macro editor +
    Custom scripting commands ("open file", "launch program", "shutdown computer", "show message", "close window" and MANY others) +
    EXE-compiler +
    IF-THEN conditional statements +
    REPEAT X TIMES blocks +
    GOTO commands +
    Speed macro playback +
    "Breakpoints" and many other debugging options +
    Import/export +
    Clipboard support +
  • [Sep 14, 2012 ] Automating Desktop Tasks in XP by Mitch Tulloch

    04/12/2005 O'Reilly Media
    Back in days of yore, when Windows 3.1 ruled the land, one utility I found incredibly useful was Macro Recorder (recorder.exe). This simple tool let you record a series of mouse clicks and keystrokes and play them back, and it provided a simple method for performing repetitive tasks. I found I could be a lot more productive in certain aspects of my work when I used Recorder, and when Windows 95 came out I was dismayed to find that Recorder was no more.

    Fortunately, over the years a number of third-party replacements for Recorder have emerged; most of these are powerful tools that can do much more than the original Recorder utility. Using these tools, you can create whole collections of macros, nest macros from within other macros, assign hot key combinations for triggering them, limit their operation to specific programs, schedule times when these macros will automatically run, specify that they run when certain conditions are fulfilled, launch batch files and scripts from macros, allow user input during a macro's operation, and much more.

    I frequently use several of these programs to speed and simplify certain tasks such as changing the screen resolution or color depth for my display, changing skins for programs and themes for my desktop, selecting a new default printer from the network, switching between different folder options when using Windows Explorer, accessing deeply nested menu options in Microsoft Office programs, and generally doing just about anything that requires lots of steps or that can't easily be done from the command line. I also find the programs useful in performing standard IT tasks such as copying data into databases, importing or exporting data into spreadsheets, generating reports, testing applications and web sites, and so on.

    Below, in no particular order, is a list of five macro recording tools for Windows that I've tried at various times. I've included brief descriptions of their notable features; all of them support the creation of basic mouse click/keystroke macros (and usually a whole lot more). I'd be interested in your comments in regard to which of these tools, if any, you use on a regular basis, and what you use them for.

    That's a quick overview of what I've tried in the field of desktop automation for my Windows XP workstation. Feel free to use the Talkback feature at the end of this article to mention other macro tools that have helped you be more productive, and let me know some of the tasks for which you find such tools useful.

    I still miss Macro Recorder sometimes....

    Mitch Tulloch is the author of Windows Server Hacks

    [Jul 31, 2012] vTask Studio - Features

    vTask Studio includes all the features you need to automate your computer, such as launching apps, mouse actions, and loops. Of course, it goes beyond the basics, and also includes advanced automation capabilities such as checkpoints and database queries.

    However, what really sets vTask apart are its unique features like image matching and an integrated EXE compiler. And all of that functionality is contained inside of a program that is only 1 megabyte in size! vTask is very efficiently written, something we're proud of.

    [Jul 31, 2012] vTask Studio - Support

    TinyTask 1.50

    Our most popular freeware, TinyTask provides quick & easy automation by recording/playback. It is a case study in minimalist programming: the entire program is only 33k -- and over 14k are graphics, which means the executable portion is very small and efficient. It is used as the test harness for the "Recording" feature of vTask Studio.

    New: now includes an EXE compiler! Turn your recordings into standalone programs. If you were stranded on a deserted island, this is the one program you would want.

    There's no installer, required files, or anything unnecessary; just a tiny program, which doesn't touch your registry or system folders. Enjoy!

    TyperTask 1.20

    Increase your efficiency by automating your keyboard with TyperTask! This tool simulates keyboard typing, and can be used to instantly type common phrases. Use it to automate chat conversations, website logins, programming code blocks, HTML tags, or anything else you can imagine.

    It even has advanced automation features, including launching programs, window activation, delays, and mouse clicks, so it's capable of performing complex tasks. Configuration is easy with simple text files. It has vTask's powerful keyboard simulation engine, so it can handle international codes and system keys such as <Control>.

    The included help file demonstrates many TyperTask uses. No installation required.

    [Nov 11, 2008] AutoHotkey - Free Mouse and Keyboard Macro Program with Hotkeys and AutoText

    AutoHotkey is a free, open-source utility for Windows. With it, you can:

    Getting started might be easier than you think. Check out the quick-start tutorial.

    [Apr 18, 2008] CoScripter

    A useful Firefox plug-in

    CoScripter is a system for recording, automating, and sharing processes performed in a web browser such as printing photos online, requesting a vacation hold for postal mail, or checking flight arrival times. Instructions for processes are recorded and stored in easy-to-read text here on the CoScripter web site, so anyone can make use of them. If you are having trouble with a web-based process, check to see if someone has written a CoScript for it!

    Keyboard shortcut to paste clipboard content into command prompt window (Win XP) - Stack Overflow

    personally use a little AutoHotkey script to remap certain keyboard functions, for the console window (CMD) I use:
    ; Redefine only when the active window is a console window  
    #IfWinActive ahk_class ConsoleWindowClass 
     
    ; Close Command Window with Ctrl+w 
    $^w:: 
    WinGetTitle sTitle 
    If (InStr(sTitle, "-")=0) {  
            Send EXIT{Enter} 
    } else { 
            Send ^w 
    } 
     
    return  
     
     
    ; Ctrl+up / Down to scroll command window back and forward 
    ^Up:: 
    Send {WheelUp} 
    return 
     
    ^Down:: 
    Send {WheelDown} 
    return 
     
     
    ; Paste in command window 
    ^V:: 
    ; Spanish menu (Editar->Pegar, I suppose English version is the same, Edit->Paste) 
    Send !{Space}ep 
    return 
     
    #IfWinActive 
    

    Microsoft Windows 2000 Scripting Guide - Sending Keystrokes to a Program

    Sending Keystrokes to a Program

    Microsoft® Windows® 2000 Scripting Guide

    By providing scripts with access to most COM objects, WSH enables you to automate applications that have a COM-based object model. Unfortunately, some applications, especially older ones, do not have a COM-based object model. To automate these applications, WSH provides a way to send keystrokes to these applications.

    When you use the WshShell SendKeys method to send keystrokes to an application, your script mimics a human typing on the keyboard. To send a single keyboard character, you pass SendKeys the character itself as a string argument. For example, "x" to send the letter x. To send a space, send the string " ". This is exactly what a user would do if he or she was working with the application: to type the letter x, the user would simply press the x key on the keyboard.

    When you use the SendKeys method, special keys that do not have a direct text representation (for example, CTRL or ALT) are represented by special characters. Table 3.16 lists these SendKeys representations for commonly used keys.

    Table 3.16 SendKeys Representations of Common Keys

    Key SendKeys Representation

    BACKSPACE

    {BACKSPACE}, {BS}, or {BKSP}

    BREAK

    {BREAK}

    CAPS LOCK

    {CAPSLOCK}

    DEL or DELETE

    {DELETE} or {DEL}

    DOWN ARROW

    {DOWN}

    END

    {END}

    ENTER

    {ENTER} or ~

    ESC

    {ESC}

    HELP

    {HELP}

    HOME

    {HOME}

    INS or INSERT

    {INSERT} or {INS}

    LEFT ARROW

    {LEFT}

    NUM LOCK

    {NUMLOCK}

    PAGE DOWN

    {PGDN}

    PAGE UP

    {PGUP}

    PRINT SCREEN

    {PRTSC}

    RIGHT ARROW

    {RIGHT}

    SCROLL LOCK

    {SCROLLLOCK}

    TAB

    {TAB}

    UP ARROW

    {UP}

    SHIFT

    +

    CONTROL

    ^

    ALT

    %

    BACKSPACE

    {BACKSPACE}, {BS}, or {BKSP}

    All function keys, like F1, are represented by the button name contained within braces for example, {F1} for the F1 button and {F2} for the F2 button.

    For example, the following script starts Notepad and then types the sentence, "This is a test."

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run "Notepad.exe"
    Do Until Success = True
        Success = objShell.AppActivate("Notepad")
        Wscript.Sleep 1000
    Loop
    objShell.SendKeys "This is a test."
    

    When the script runs, Notepad will open, and the sample sentence will be typed in, as shown in Figure 3.12.

    Figure 3.12 Controlling Notepad by Using SendKeys

    See full-sized image.

    Note

    You can send repeated keystrokes by using the SendKeys method. For example, to send the letter a ten times, you send the string "{a 10}". You must include a space between the keystroke and the number. SendKeys allows you to send only repeated single keystrokes. You cannot send multiple characters using repeated keystrokes; for example, this command will fail: {dog 10}.

    You should be aware that sending keystrokes to an application is not the optimal method for automating a procedure. If you have an application in your enterprise that you need to automate and it has no COM-based object model, you might consider this technique. However, you should first examine whether other methods exist for automating that particular application.

    Although SendKeys can be used effectively, there are several potential problems with this approach:

    The script might have difficulty determining which window to send the keystrokes to.
    Because the application runs in GUI mode, a user might close the application prematurely. Unfortunately, this will not terminate the script, and the script could end up sending keystrokes to the wrong application.
    The script might have difficulty synchronizing with the application.

    This timing issue is especially troublesome, simply because scripts tend to run much faster than GUI applications. For example, this simple script, which starts Calculator and then tries to type the number 2 into the application, is coded correctly but will likely fail when run (Calculator will start, but the number 2 will not be entered):

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run "Calc.exe"
    objShell.AppActivate "Calculator"
    objShell.SendKeys "2"
    

    The script fails not because of a syntax issue but because of a timing issue. As quickly as it can, the script issues commands to:

    1. Start Calculator.
    2. Switch the focus to Calculator (using the AppActivate method).
    3. Send the number 2 to Calculator.

    Unfortunately, the script runs faster than Calculator can load. As a result, the number 2 is sent, and the script terminates, before Calculator can finish loading and start accepting keystrokes.

    There are at least two ways of working around this problem. First, you might be able to estimate how long it will take an application to load and then pause the script for that amount of time. For example, in this script the Run method is called, and then the script pauses for 5 seconds, giving Calculator time to load:

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run "Calc.exe"
    Wscript.Sleep 5000
    objShell.AppActivate "Calculator"
    objShell.SendKeys "2"
    

    Of course, is some cases it might be difficult to estimate how long it will take before an application is loaded and ready to accept keystrokes. In that case, you can call the AppActivate method and check the return value.

    Using AppActivate

    Before sending keystrokes to an application, you must first ensure that the application is running and that the focus is on the application (that is, the application is running in the active window). You can use the AppActivate method to set the focus on an application. The AppActivate method brings the specified window to the foreground so that you can then start using the WshShell SendKeys method to send keystrokes to the application.

    The AppActivate method takes a single parameter that can be either a string containing the title of the application as it appears in the title bar or the process ID of the application. The AppActivate method returns a Boolean value that indicates whether the procedure call has been successful. If the value is False, AppActivate has failed, usually because it was unable to find the application (possibly because that application had not finished loading).

    You can place your script in a loop, periodically calling AppActivate until the return value is True. At that point, the application is loaded and prepared to accept keystrokes.

    For example, this script checks the return value for AppActivate. If this value is False, the script pauses for 1 second and then checks the value again. This continues until the return value is True, meaning that the application is loaded and ready for use. At that point, the script continues.

    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run "Calc.exe"
    Do Until Success = True
        Success = objShell.AppActivate("Calculator")
        Wscript.Sleep 1000
    Loop
    objShell.SendKeys "2"
    

    When the script is determining which application to activate, the given title is compared to the title of each window visible on-screen. If no exact match exists, the AppActivate method sets the focus to the first window whose title begins with the given text. If a window still cannot be found, the first window whose title string ends with the text is given the focus. The partial matching with the leading and trailing text of title bars ensures that AppActivate works with applications, such as Notepad, that display the name of the currently opened document on the title bar. (For example, when you first start Notepad, the window title is Untitled - Notepad, not Notepad.)

    This means that when setting the focus to the Calculator, you can use one of the following lines of code:

    objShell.AppActivate "Calculator"
    objShell.AppActivate "Calc"
    objShell.AppActivate "C"
    

    Of course, this shortcut method of referring to a window can cause problems. For example, suppose you use this line of code:

    objShell.AppActivate "Calc"
    

    If you happen to be working on a Microsoft Word document named Calculations.doc, the keystrokes might be sent to the Word document instead of Calculator.

    The script in Listing 3.30 demonstrates a more practical use of the SendKeys method: It starts and sets focus to the Microsoft Management Console (MMC) and then sends keystrokes that cause the Add/Remove Snap-in and Add Standalone Snap-in dialog boxes to be displayed. The script automates the first part of the common task of constructing custom MMC snap-in tools.

    Listing 3.30 Sending Keystrokes to a GUI Application

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    Const iNormalFocus = 1
    Set objShell = WScript.CreateObject("WScript.Shell")
    objShell.Run "mmc.exe",iNormalFocus
    
    Wscript.Sleep 300
    
    objShell.AppActivate "Console1"
    Wscript.Sleep 100
    objShell.SendKeys "^m"
    Wscript.Sleep 100
    objShell.SendKeys "{TAB}"
    Wscript.Sleep 100
    objShell.SendKeys "{TAB}"
    Wscript.Sleep 100
    objShell.SendKeys "{ENTER}"
    

    AutoIt v3 - Automate and Script Windows Tasks - For Free!

    AutoIt v3 is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained and will run on all versions of Windows out-of-the-box with no annoying "runtimes" required!

    AutoIt was initially designed for PC "roll out" situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops and everything else that veteran scripters would expect.

    Features:

    AutoIt has been designed to be as small as possible and stand-alone with no external .dll files or registry entries required making it safe to use on Servers. Scripts can be compiled into stand-alone executables with Aut2Exe.

    Also supplied is a combined COM and DLL version of AutoIt called AutoItX that allows you to add the unique features of AutoIt to your own favourite scripting or programming languages!

    Best of all, AutoIt continues to be FREE - but if you want to support the time, money and effort spent on the project and web hosting then you may donate using the link to your left in the menu.

    [Apr 18, 2008] CoScripter

    A useful Firefox plug-in

    CoScripter is a system for recording, automating, and sharing processes performed in a web browser such as printing photos online, requesting a vacation hold for postal mail, or checking flight arrival times. Instructions for processes are recorded and stored in easy-to-read text here on the CoScripter web site, so anyone can make use of them. If you are having trouble with a web-based process, check to see if someone has written a CoScript for it!

    [Feb 29, 2008] Project details for Key Scripter

    freshmeat.net

    About:
    Key Scripter listens to key press/release events from a keyboard device and sends fake key events to an X display. It supports gaming keypads such as the Nostromo SpeedPad and allows the creation and usage of complicated key scripts for games and other applications.

    Release focus: Major feature enhancements

    Changes:
    This release also supports Windows. A Win32 binary has been added to the download packages. To compile the source files on Windows, the latest release of MinGW is required. Additionally, this release fixes a few memory allocation bugs, adds support for wildcard binds, and provides improvements to debug messages. The example configuration file has been extended with extra features.

    Author:
    Andrei Romanov [contact developer]

    [Nov 25, 2007] AutoHotkey - Free Mouse and Keyboard Macro Program with Hotkeys and AutoText Nice addition to windows.

    AutoHotkey is a free, open-source utility for Windows. With it, you can:

    Getting started might be easier than you think. Check out the quick-start tutorial.

    More About Hotkeys

    AutoHotkey unleashes the full potential of your keyboard, joystick, and mouse. For example, in addition to the typical Control, Alt, and Shift modifiers, you can use the Windows key and the Capslock key as modifiers. In fact, you can make any key or mouse button act as a modifier. For these and other capabilities, see Advanced Hotkeys.

    Other Features

    License: GNU General Public License

    Free Workspace Macro Pro

    Automate & schedule tasks easily. Reliable macro program & Windows automation software with macro scripting & task scheduler. Record keyboard & mouse or write macro scripts to create macros. User-friendly macro recorder & task automation tool. Features unique SMART macro technology, macro editing, repeat options, easy macro language, Turbo-speed replay, IE plug-in & customizable UI.

    Use it to automate and schedule routine business processes like checking inventory, importing data into Excel or generating reports. Use advanced editing capabilities to optimize recorded macro scripts. Use it to perform system maintenance functions, test applications and web pages, automate data entry at high-speeds, intelligently copy data from one application to another etc. All with just a single click! The possibilities are endless. Rely on this 'Record once & play anytime' macro automation utility.

    Use the add-on program Launch-n-Go to launch automation macros using hotkeys or keywords.

    ShortKeys 98 Lite

    A free keyboard-macro creator for all your Windows application, for saving repetitive keystrokes.

    AutoMate Pro

    Put your PC on autopilot by programming it to execute a variety of repetitive tasks. Automatically check e-mail, scan for viruses, back up files, and much more with this powerful utility. AutoMate lets you send keystrokes, button clicks, mouse movements, and positioning info on any specified schedule or trigger.

    Macro Scheduler

    Schedule programs to run at predefined times, and use the macro recorder facility to send keystrokes or mouse clicks that automate the task. Macro Scheduler features over 100 built-in commands that will make it easy for you to record macros and provide some level of automation that fits your program execution needs.

    Recommended Links



    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-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and 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 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.

    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.

    Created Jan 2, 1997. Last modified: April 18, 2018