Linux2.txt

Absmag

Calculate absolute magnitude from visual magnitude and radial distance in light-years


 * 1) !/usr/bin/python

import math sys

Mvis = float(sys.argv[1 Dist = float(sys.argv[2                    ])

Vabs = Mvis - 5 (math.log10(Dist / 3.2616) -1)

print round(Vabs,3)

Apropos

hexchat - IRC Client add-apt-repository - Adds a repository into the /etc/apt/sources.list or /etc/apt/sources.list.d or removes an existing one aecat - display an aewan document aewan - File format documentation alpine - an Alternatively Licensed Program for Internet News and Email alsa-info.sh - command-line utility to gather information about the ALSA subsystem alsabat - command-line sound tester for ALSA sound card driver alsactl - advanced controls for ALSA soundcard driver alsactl_init - alsa control management - initialization alsaloop - command-line PCM loopback alsamixer - soundcard mixer for ALSA soundcard driver * american-english - a list of English words amixer - command-line mixer for ALSA soundcard driver anacron - runs commands periodically aplay - command-line sound recorder and player for ALSA soundcard driver apt-add-repository - Adds a repository into the /etc/apt/sources.list or /etc/apt/sources.list.d or removes an existing one apt-cache - query the APT cache apt-cdrom - APT CD-ROM management utility apt-get - APT package handling utility - - command-line interface apt-mark - show arecord - command-line sound recorder and player for ALSA soundcard driver arecordmidi - record Standard MIDI Files aspell - interactive spell checker awk - pattern scanning and processing language baobab - A graphical tool to analyze disk usage basename - strip directory and suffix from filenames bc - An arbitrary precision calculator language bcmp - compare byte sequences * bcopy - copy byte sequence bison - GNU Project parser generator bitmap - bitmap editor and converter utilities for the X Window System bwbasic - Bywater BASIC interpreter/shell bzcat - decompresses files to stdout bzcmp - compare bzip2 compressed files bzdiff - compare bzip2 compressed files bzegrep - search possibly bzip2 compressed files for a regular expression bzexe - compress executable files in place bzfgrep - search possibly bzip2 compressed files for a regular expression bzgrep - search possibly bzip2 compressed files for a regular expression bzip2 - a block-sorting file compressor bzip2recover - recovers data from damaged bzip2 files bzless - file perusal filter for crt viewing of bzip2 compressed text bzmore - file perusal filter for crt viewing of bzip2 compressed text cacaview - ASCII image browser caiksaurus - English-language thesaurus cc - GNU project C and C++ compiler cdw - front-end for cdrecord cfdisk - display or manipulate a disk partition table chdir - change working directory gnuchess - GNU Chess chfn - change real user name and information chgpasswd - update group passwords in batch mode * chgrp - change group ownership chmem - configure memory chmod - change file mode bits chmod - change permissions of a file * chown - change file owner and group chown - change ownership of  a file chown32 - change ownership of a file chpasswd - update passwords in batch mode chroot - change root directory chroot - run command or interactive shell with special root directory * chrt - manipulate the real-time attributes of a process chsh - change login shell chvt - change foreground virtual terminal clear - clear the terminal screen clear_console - clear the console clearenv - clear the environment clearerr - check and reset stream status cmail - X graphical user interface for chess cmus - C* Music Player cmus-tutorial - C* Music Player tutorial cmus-remote - control cmus colormgr - Color Manager Testing Tool colrm - remove columns from a file column - columnate lists cpp - The C Preprocessor cpp-7 - The C Preprocessor dc - an arbitrary precision calculator dd - convert and copy a file df - report file system disk space usage dict - DICT Protocol Client diff - compare files line by line diff3 - compare three files line by line e2freefrag - report free space fragmentation information e2fsck - check a Linux ext2/ext3/ext4 file system e2fsck.conf - Configuration file for e2fsck e2image - Save critical ext2/ext3/ext4 filesystem metadata to a file e2label - Change the label on an ext2/ext3/ext4 filesystem e4crypt - ext4 filesystem encryption utility ecryptfs - an enterprise-class cryptographic filesystem for linux eaccess - check effective user's permissions for a file editor - Nano's ANOther editor * editres - a dynamic resource editor for X Toolkit applications * egrep - print lines matching a pattern eject - eject removable media elf - format of Executable and Linking Format emacs - GNU project Emacs editor factor - factor numbers ffmpeg - ffmpeg video converter free - allocate and free dynamic memory fsck - check and repair a Linux filesystem fstab - static information about the filesystems fsynth - an Ncurses based signal generator program gcalccmd - a console calculator * gcc - GNU project C and C++ compiler gimp-console - an image manipulation and paint program. gnome-calculator - a desktop calculator gnome-character-map - Unicode character picker and font browser gnome-disk-image-mounter - Attach and mount disk images gnome-disks - the GNOME Disks application gnome-help - browse system documentation gnome-keyring - The gnome-keyring commandline tool gnome-keyring-3 - The gnome-keyring commandline tool gnuchessu - Start GNU Chess in UCI mode. gnuchessx - Plays a game of chess grep - print lines matching a pattern * gunzip - compress or expand files gzip - compress or expand files info - read Info documents info - readable online documentation infobrowser - read Info documents mc - Visual shell for Unix-like systems. mcat - dump raw disk image mcd - change MSDOS directory mplayer - movie player mprotect - set protection on a region of memory mpx - unimplemented system calls mq_close - close a message queue descriptor mq_notify - register for notification when a message is available mq_notify - register for notification when a message is available mq_receive - receive a message from a message queue mq_timedreceive - receive a message from a message queue mq_timedreceive - receive a message from a message queue mrd - remove an MSDOS subdirectory mscompress - compress data using LZ77 algorithm msexpand - decompress data compressed using mscompress(1) or COMPRESS.EXE msgattrib - attribute matching and manipulation on message catalog msgcat - combines several message catalogs msgcmp - compare message catalog and template msgcomm - match two message catalogs msgconv - character set conversion for message catalog msgctl - System V message control operations msgen - create English message catalog msgexec - process translations of  message catalog msgfilter - edit translations of message catalog msgfmt - compile message catalog to binary format msggrep - pattern matching on message catalog msginit - initialize a  message catalog msgmerge - merge message catalog and template * msgrcv - System V message queue operations msgunfmt - uncompile message catalog from binary format msguniq - unify duplicate translations in message catalog mshowfat - shows FAT clusters allocated to file msr - x86 CPU MSR access device msync - synchronize a file with a memory map mt - control magnetic tape drive operation mt-gnu - control magnetic tape drive operation * mtools - utilities to access DOS disks in Unix. mtools - mtools configuration files mtools.conf - mtools configuration files * mtoolstest - tests and displays the configuration mtr - a network diagnostic tool mtr-packet - send and receive network probes * mtrace - interpret the malloc trace log mtrace - malloc tracing * mtype - display contents of an MSDOS file mugshot - lightweight user configuration utility munlock - lock and unlock memory munlockall - lock and unlock memory munmap - map or unmap files or devices into memory muntrace - malloc tracing mxtar - Wrapper for using GNU tar directly from a floppy disk mzip - change protection mode and eject disk on Zip/Jaz drive nameif - name network interfaces based on MAC addresses namespace.conf - the namespace configuration file namespaces - overview of  Linux namespaces nano - Nano's ANOther editor nanorc - GNU nano's configuration file nawk - pattern scanning and processing language nc - arbitrary TCP and UDP connections and listens nc.openbsd - arbitrary TCP and UDP connections and listens * nc_openbsd - arbitrary TCP and UDP connections and listens ncal - displays a calendar and the date of Easter ncdu - NCurses Disk Usage neqn - format equations for ascii output netdevice - low-level access to Linux network devices netkit-netrc - user configuration for ftp netlink - Netlink macros netlink - communication between kernel and user space netplan - YAML network configuration abstraction for various backends netrc - user configuration for ftp netscsid - write data to optical disk media netstat - Print network connections network_namespaces - overview of Linux network namespaces networkctl - Query the status of network links networkd-dispatcher - Dispatcher service for systemd-networkd connection status changes networkd.conf - Global Network configuration files networkd.conf.d - Global Network configuration files NetworkManager.conf - NetworkManager configuration file newlocale - create newusers - update and create new users in batch nfsservctl - syscall interface to  kernel nfs daemon ngettext - translate message and choose plural form ngettext - translate message and choose plural form * nice - run a program with modified scheduling priority nice - change process priority nl_langinfo - query language and locale information nl_langinfo_l - query language and locale information nm - list symbols from object files nm-applet - network monitor and control GUI applet nm-connection-editor - network connection editor for NetworkManager nm-online - ask NetworkManager whether the network is connected nm-settings - Description of  settings and properties of NetworkManager connection profiles * nm-settings-keyfile - Description of keyfile settings plugin * nm-system-settings.conf - NetworkManager configuration file * nmblookup - NetBIOS over TCP/IP client used to lookup NetBIOS names nmcli - command-line tool for controlling NetworkManager nmcli-examples - usage examples of nmcli nmtui - Text User Interface for controlling NetworkManager nmtui-connect - Text User Interface for controlling NetworkManager nmtui-edit - Text User Interface for controlling NetworkManager nmtui-hostname - Text User Interface for controlling NetworkManager nn - efficient net news interface nnacct - news accounting and access authorization nnbatch - nn in batch mode. nncheck - check for unread articles nngoback - make news articles unread on a day-by-day basis nnpost - post news articles * nnspew - subject database manager nnstats - display nnmaster collection and expire statistics nntidy - tidy your personal .newsrc file nnusage - display nn usage statistics nohup - run a command immune to hangups notifier - cups notification interface notify-send - a program to send desktop notifications nproc - print the number of processing units available nroff - emulate nroff command with groff nsenter - run program with namespaces of other processes nseq - create or examine a  Netscape certificate sequence nslookup - query Internet name servers interactively nss - Name Service Switch configuration file nss-myhostname - Provide hostname resolution for the locally configured system hostname. nss-systemd - Provide UNIX user and group name resolution for dynamic users and groups. *  nsswitch.conf - Name Service Switch configuration file nstat - network statistics tools. nsupdate - Dynamic DNS update utility ntfscat - print NTFS files and streams on the standard output ntfsclone - Efficiently clone ntfscluster - identify files in a specified region of an NTFS volume. ntfscmp - compare two NTFS filesystems and tell the differences ntfscp - copy file to an NTFS volume. ntfsdecrypt - decrypt or update NTFS files encrypted according to EFS ntfsfallocate - preallocate space to  a file on an NTFS volume ntfsfix - fix common errors and force Windows to check NTFS ntfslabel - display/change the label on  an ntfs file system ntfsls - list directory contents on an NTFS filesystem ntfsrecover - Recover updates committed by Windows on an NTFS volume ntfssecaudit - NTFS Security Data Auditing * ntfstruncate - truncate a file on an NTFS volume ntfsundelete - recover a deleted file from an NTFS volume. ntfswipe - overwrite unused space on an NTFS volume ntohl - convert values between host and network byte order ntohs - convert values between host and network byte order ntp-keygen - Create a NTP host key ntp-wait - Wait for ntpd to stabilize the system clock * ntp.conf - Network Time Protocol ntp.keys - NTP symmetric key file format ntp_adjtime - tune kernel clock ntp_gettime - get time parameters ntp_gettimex - get time parameters ntpdc - vendor-specific NTPD control program ntptrace - Trace peers of  an NTP server numa - overview of Non-Uniform Memory Architecture numa_maps - overview of Non-Uniform Memory Architecture numfmt - Convert numbers from/to human-readable strings nvlc - the VLC media player oakdecode - Decode an OAKT printer stream into human readable form. obex-data-server - D-Bus service providing OBEX functionality objcopy - copy and translate object files * objdump - display information from object files. oclock - round X clock ocsp - Online Certificate Status Protocol utility od - dump files in octal and other formats offsetof - offset of a  structure member oldolduname - get name and information about current kernel olduname - get name and information about current kernel on_ac_power - test whether computer is running on AC power onboard - On-screen Keyboard onboard-settings - On-screen Keyboard open - open and possibly create a file open_memstream - open a dynamic memory buffer stream open_wmemstream - open a dynamic memory buffer stream openat - open and possibly create a file opendir - open a directory openssl - OpenSSL command line tool openssl-c_rehash - Create symbolic links to  files named by the hash values openssl-ca - sample minimal CA  application openssl-ciphers - SSL cipher display and cipher list tool openssl-cms - CMS utility openssl-crl - CRL utility openssl-crl2pkcs7 - Create a PKCS#7 structure from a CRL and certificates openssl-dsa - DSA key processing openssl-ec - EC key processing openssl-ecparam - EC parameter manipulation and generation openssl-enc - symmetric cipher routines * openssl-errstr - lookup error codes openssl-nseq - create or examine a Netscape certificate sequence openssl-ocsp - Online Certificate Status Protocol utility openssl-passwd - compute password hashes openssl-pkcs12 - PKCS#12 file utility openssl-pkcs7 - PKCS#7 utility openssl-pkcs8 - PKCS#8 format private key conversion tool openssl-pkey - public or private key processing tool openssl-pkeyparam - public key algorithm parameter processing tool openssl-pkeyutl - public key algorithm utility openssl-rehash - Create symbolic links to files named by  the hash values openssl-req - PKCS#10 certificate request and certificate generating utility openssl-rsa - RSA key processing tool openssl-s_client - SSL/TLS client program openssl-s_time - SSL/TLS performance timing program openssl-speed - test library performance openssl-spkac - SPKAC printing and generating utility openssl-ts - Time Stamping Authority tool openssl-tsget - Time Stamping HTTP/HTTPS client openssl-verify - Utility to verify certificates openssl-x509 - Certificate display and signing utility openvpn - secure IP tunnel daemon. operator - C  operator precedence and order of evaluation opldecode - Decode a Raster Object optarg - Parse command-line options opterr - Parse command-line options optind - Parse command-line options optopt - Parse command-line options orbd - Enables clients to locate and call persistent objects on servers in the CORBA environment. orca - a scriptable screen reader ordchr - convert characters to strings and vice versa org.debian.apt - the main interface of aptdaemon org.debian.apt.transaction - the main interface of an aptdaemon transaction os-release - Operating system identification ownership - Compaq ownership tag retriever p11-kit - Tool for operating on configured PKCS#11 modules * p7zip - Wrapper on 7-Zip file archiver with high compression ratio pacat - Play back or record raw or encoded audio streams on a  PulseAudio sound server pack200 - Packages a JAR file into a  compressed pack200 file for web deployment. packet - packet interface on device level pacmd - Reconfigure a PulseAudio sound server during runtime pactl - Control a running PulseAudio sound server paperconfig - configure the system default paper size * papersize - specify preferred paper size paplay - Play back or  record raw or encoded audio streams on a PulseAudio sound server parec - Play back or record raw or encoded audio streams on a  PulseAudio sound server parecord - Play back or record raw or  encoded audio streams on a PulseAudio sound server parsechangelog - parse Debian changelogs and output them in other formats * partprobe - inform the OS of partition table changes partx - tell the kernel about the presence and numbering of on-disk partitions passwd - change user password passwd - compute password hashes passwd2des - RFS password encryption patch - apply a diff file to an original pathchk - check whether file names are valid or portable pathconf - get configuration values for files * pavucontrol - A volume control for the PulseAudio sound server * pax11publish - PulseAudio X11 Credential Utility pcap-filter - packet filter syntax pccardctl - PCMCIA card control utility * pciconfig_iobase - pci device information handling pciconfig_read - pci device information handling pciconfig_write - pci device information handling pcimodules - List kernel driver modules available for all currently plugged in PCI devices pclose - pipe stream to or from a process pcrepattern - Perl-compatible regular expressions pdf2dsc - generate a PostScript page list of a PDF document pdf2ps - Ghostscript PDF to PostScript translator * pdfdetach - Portable Document Format pdffonts - Portable Document Format pdfimages - Portable Document Format pdfinfo - Portable Document Format pdfseparate - Portable Document Format pdfsig - Portable Document Format pdftocairo - Portable Document Format pdftohtml - program to convert PDF files into HTML pdftoppm - Portable Document Format pdftops - Portable Document Format * pdftotext - Portable Document Format pdfunite - Portable Document Format peekfd - peek at file descriptors of running processes perf_event_open - set up performance monitoring perfmonctl - interface to IA-64 performance monitoring unit perlivp - Perl Installation Verification Procedure personality - set the process execution domain pf2afm - Make an AFM file from Postscript * pfbtopfa - Convert Postscript .pfb fonts to .pfa format using ghostscript pgrep - look up or signal processes based on name and other attributes phar - PHAR phar.phar - PHAR phar.phar7.2 - PHAR phar7.2 - PHAR php - PHP Command Line Interface 'CLI' * php7.2 - PHP Command Line Interface 'CLI' phys - unimplemented system calls pic - compile pictures for troff or TeX pico - Nano's ANOther editor piconv - - iconv(1) pid_namespaces - overview of Linux PID namespaces pidof - find the process ID of  a running program. pinentry-curses - PIN or pass-phrase entry dialog for GnuPG ping - send ICMP ECHO_REQUEST to network hosts ping4 - send ICMP ECHO_REQUEST to network hosts ping6 - send ICMP ECHO_REQUEST to network hosts pipe - create pipe pipe2 - create pipe pivot_root - change the root filesystem pivot_root - change the root filesystem pkaction - Get details about a  registered action pkcheck - Check whether a process is authorized pkcon - PackageKit console client pkcs11.conf - Configuration files for PKCS#11 modules pkcs12 - PKCS#12 file utility pkcs7 - PKCS#7 utility pkcs8 - PKCS#8 format private key conversion tool pkexec - Execute a command as another user pkey - public or private key processing tool pkey_alloc - allocate or free a  protection key pkey_free - allocate or free a protection key * pkey_mprotect - set protection on a region of memory pkeyparam - public key algorithm parameter processing tool pkeys - overview of Memory Protection Keys pkeyutl - public key algorithm utility pkg-config - Return metainformation about installed libraries pkill - look up or signal processes based on name and other attributes pklocalauthority - PolicyKit Local Authority pkmon - PackageKit console client pkttyagent - Textual authentication helper pldd - display dynamic shared objects linked into a  process plipconfig - fine tune PLIP device parameters plog - starts up plymouth - Send commands to plymouthd plymouth - A  graphical boot system and logger pm-action - Suspend or Hibernate your computer pm-hibernate - Suspend or Hibernate your computer * pm-powersave - Put your computer into low power mode pm-suspend - Suspend or Hibernate your computer pm-suspend-hybrid - Suspend or Hibernate your computer pmap - report memory map of a process Pnews - a program for posting news articles pnm2ppa - convert portable anymap pod2html - convert .pod files to .html files * pod2man - Convert POD data to formatted *roff input pod2text - Convert POD data to formatted ASCII text pod2usage - print usage messages from embedded pod docs in files podboat - a podcast download manager for text terminals podchecker - check the syntax of POD format documentation files podselect - print selected sections of pod documentation on standard output poff - starts up tc-police - policing action polkitd - PolicyKit daemon poll - wait for some event on a file descriptor pon - starts up popen - pipe stream to or from a process posix_fadvise - predeclare an access pattern for file data posix_fallocate - allocate file space posix_madvise - give advice about patterns of memory usage posix_memalign - allocate aligned memory posix_openpt - open a pseudoterminal device posix_spawn - spawn a process * posix_spawnp - spawn a process POST - Simple command line user agent poweroff - Halt ppdc - cups ppd compiler ppdcfile - cups ppd compiler source file format ppdhtml - cups html summary generator ppdi - import ppd files ppdmerge - merge ppd files ppdpo - ppd message catalog generator ppmtolss16 - Convert a PPM to an LSS16 image ppoll - wait for some event on a file descriptor pppconfig - configure pppd to connect to the Internet pppd - Point-to-Point Protocol Daemon pppd-radius - RADIUS authentication plugin for pppd pppdump - convert PPP record file to readable format pppoe-discovery - perform PPPoE discovery * pppoeconf - configures a PPPoE pppstats - print PPP statistics pptpsetup - Point-to-Point Tunneling Protocol setup pr - convert text files for printing prctl - operations on a process * pread - read from or write to a file descriptor at a given offset pread64 - read from or write to a file descriptor at a given offset precat - prefix delta compressor for Aspell preconv - convert encoding of input files to something GNU troff understands preunzip - prefix delta compressor for Aspell prezip - prefix delta compressor for Aspell prezip-bin - prefix zip delta word list compressor/decompressor print - execute programs via entries in the mailcap file printafm - Print the metrics from a  Postscript font in AFM format using ghostscript printer-profile - Profile using X-Rite ColorMunki and Argyll CMS printers.conf - printer configuration file for cups printf - formatted output conversion prlimit - get and set process resource limits prlimit - get/set resource limits prlimit64 - get/set resource limits proc - process information pseudo-filesystem * process-keyring - Per-process shared keyring process_vm_readv - transfer data between process address spaces process_vm_writev - transfer data between process address spaces procfs - process information pseudo-filesystem prof - unimplemented system calls * profil - execution time profile program_invocation_name - obtain name used to invoke calling program program_invocation_short_name - obtain name used to invoke calling program projects - persistent project root definition projid - the project name mapping file protocols - protocols definition file prtstat - print statistics of a process ps - report a snapshot of the current processes. ps2ascii - Ghostscript translator from PostScript or PDF to ASCII ps2epsi - generate conforming Encapsulated PostScript ps2pdf - Convert PostScript to PDF using ghostscript ps2pdf12 - Convert PostScript to PDF 1.2 ps2pdf13 - Convert PostScript to PDF 1.3 ps2pdf14 - Convert PostScript to  PDF 1.4 ps2pdfwr - Convert PostScript to PDF without specifying CompatibilityLevel ps2ps - Ghostscript PostScript "distiller" * psc - prepare sc files pselect6 - synchronous I/O multiplexing psfaddtable - add a Unicode character table to a console font * psfgettable - extract the embedded Unicode character table from a console font psfstriptable - remove the embedded Unicode character table from a console font psfxtable - handle Unicode character tables for console fonts psicc - little cms PostScript converter. pslog - report current logs path of a process * pstree - display a tree of processes pstree.x11 - display a  tree of processes ptardiff - program that diffs an extracted archive against an unextracted one ptargrep - Apply pattern matching to the contents of files in a tar archive ptrace - process trace ptx - produce a permuted index of file contents * pty - pseudoterminal interfaces pulse-cli-syntax - PulseAudio Command Line Interface Syntax pulse-client.conf - PulseAudio client configuration file pulse-daemon.conf - PulseAudio daemon configuration file putenv - change or add an environment variable putmsg - unimplemented system calls putpmsg - unimplemented system calls puts - output of characters and strings pututline - access utmp file entries pututxline - access utmp file entries putwc - write a wide character to a FILE stream putwchar - write a wide character to standard output pvalloc - allocate aligned memory pvchange - Change attributes of physical volume(s) pvck - Check the consistency of physical volume(s) pvcreate - Initialize physical volume(s) for use by LVM pvdisplay - Display various attributes of physical volume(s) pvmove - Move extents from one physical volume to another pvremove - Remove LVM label(s) from physical volume(s) pvresize - Resize physical volume(s) pvs - Display information about physical volumes * pvscan - List all physical volumes pwck - verify integrity of  password files pwconv - convert to and from shadow passwords and groups pwd - print name of current/working directory pwdx - report current working directory of a process pwrite - read from or write to a file descriptor at a given offset pwrite64 - read from or write to a file descriptor at a given offset pwunconv - convert to and from shadow passwords and groups pxelinux-options - utility to set PXELINUX hard-coded options. py3clean - removes .pyc and .pyo files py3compile - byte compile Python 3 source files pyclean - removes .pyc and .pyo files pycompile - byte compile Python source files pydoc - the Python documentation tool pydoc2.7 - the Python documentation tool pydoc3 - the Python documentation tool pydoc3.6 - the Python documentation tool python - an interpreted python2 - an interpreted * python2.7 - an interpreted python3 - an interpreted python3.6 - an interpreted python3.6m - an interpreted python3m - an interpreted qecvt - convert a floating-point number to a  string qecvt_r - convert a floating-point number to a string * qfcvt - convert a floating-point number to a string qfcvt_r - convert a floating-point number to a string qgcvt - convert a  floating-point number to a string qpdldecode - Decode a QPDL stream into human readable form. qt-faststart - utility for Quicktime files qt5ct - Qt5 Configuration Utility quotactl - manipulate disk quotas qvlc - the VLC media player raise - send a signal to the caller ram - ram disk device random - kernel random number source devices random - overview of interfaces for obtaining randomness randverse - Displays a randomly selected verse from scripture ranlib - generate index to archive. raw - Linux IPv4 raw sockets raw - bind a Linux raw character device * rawmemchr - scan memory for a character rbash - restricted bash rcmd - routines for returning a stream to a remote command * rcmd_af - routines for returning a stream to a remote command rcp - secure copy rctest - RFCOMM testing rdma-dev - RDMA device configuration rdma-link - rdma link configuration read - read from a file descriptor readahead - initiate file readahead into page cache readdir - read directory entry readdir - read a  directory readdir - directory input parser for gawk readdir_r - read a directory readfile - return the entire contents of a  file as a string readlink - print resolved symbolic links or  canonical file names readlink - read value of a symbolic link readlinkat - read value of a symbolic link readom - read or  write data Compact Discs realloc - allocate and free dynamic memory realpath - return the canonicalized absolute pathname * reboot - reboot or enable/disable Ctrl-Alt-Del reboot - Halt * recno - record number database access method recode - converts files between character sets recode-sr-latin - convert Serbian text from Cyrillic to Latin script recountdiff - recompute patch counts and offsets recv - receive a message from a socket * recvfrom - receive a message from a socket recvmmsg - receive multiple messages on a socket recvmsg - receive a message from a socket rediff - fix offsets and counts of a hand-edited diff redland - Resource Description Framework redshift - set color temperature of display according to time of day redshift-gtk - set color temperature of display according to time of day * rehash - Create symbolic links to files named by the hash values reiserfsck - The checking tool for the ReiserFS filesystem. *  remap_file_pages - create a nonlinear file mapping remove - remove a file or directory remove-default-ispell - remove default ispell dictionary rename - change the name or location of a file renameat - change the name or location of a file renameat2 - change the name or location of a file rendercheck - simple tests of the X Render extension. renice - alter priority of running processes renum - Bywater BASIC interpreter/shell repertoiremap - map symbolic character names to Unicode code points req - PKCS#10 certificate request and certificate generating utility * request-key - Handle key instantiation callback requests from the kernel request-key.conf - Instantiation handler configuration file request_key - request a key from the kernel's key management facility res_nsearch - resolver routines res_search - resolver routines resizecons - change kernel idea of the console size resolv.conf - resolver configuration file resolved.conf - Network Name Resolution configuration files resolved.conf.d - Network Name Resolution configuration files resolver - resolver configuration file restart_syscall - restart a system call after interruption by a stop signal rev - reverse lines characterwise revtwoway - Reverse strings sample two-way processor extension rewinddir - reset directory stream rexec - return stream to a  remote command rexec_af - return stream to a remote command * rfcomm - RFCOMM configuration utility rfkill - tool for enabling and disabling wireless devices rgrep - print lines matching a  pattern rhythmbox - music player and library for tagged files using GStreamer rhythmbox-client - controls a running instance of rhythmbox rindex - locate character in string rlogin - OpenSSH SSH client rm - remove files or directories rmdir - remove empty directories rmdir - delete a directory rmid - Starts the activation system daemon that enables objects to be  registered and activated in a Java Virtu... rmiregistry - Starts a remote object registry on the specified port on the current host. rmt - remote magnetic tape server rmt-tar - remote magnetic tape server rpc - RPC program number data base rpmatch - determine if the answer to a question is affirmative or negative * rresvport - routines for returning a stream to a remote command * rresvport_af - routines for returning a stream to a remote command rsa - RSA key processing tool rsh - OpenSSH SSH client rstart - a sample implementation of a Remote Start client rsync - a  fast rsyncd.conf - configuration file for rsync in daemon mode rsyslog.conf - rsyslogd(8) configuration file rt_sigaction - examine and change a signal action rt_sigprocmask - examine and change blocked signals rt_sigreturn - return from signal handler and cleanup stack frame rt_sigtimedwait - synchronously wait for queued signals rtacct - network statistics tools. *  rtc - real-time clock rtcwake - enter a system sleep state until specified wakeup time rtfm - an interface to the on-line reference manuals rtime - get time from a remote machine * rtkitctl - Realtime Policy and Watchdog daemon control rtld-audit - auditing API for the dynamic linker rtnetlink - macros to  manipulate rtnetlink messages rtnetlink - Linux IPv4 routing socket rtpr - replace backslashes with newlines. rtstat - unified linux network statistics run-mailcap - execute programs via entries in the mailcap file run-parts - run scripts or  programs in a directory run-with-aspell - script to help use GNU Aspell as an ispell replacement runcon - run command with specified security context runlevel - Print previous and current SysV runlevel runuser - run a command with substitute user and group ID ruserok - routines for returning a stream to a remote command ruserok_af - routines for returning a stream to a remote command rvlc - the VLC media player s390_pci_mmio_read - transfer data to/from PCI MMIO memory page s390_pci_mmio_write - transfer data to/from PCI MMIO memory page s390_runtime_instr - enable/disable s390 CPU run-time instrumentation s390_sthyi - emulate STHYI instruction s_client - SSL/TLS client program s_time - SSL/TLS performance timing program safe_finger - finger client wrapper that protects against nasty stuff from finger servers samba - A Windows AD and SMB/CIFS fileserver for UNIX samba-regedit - ncurses based tool to manage the Samba registry sane - Scanner Access Now Easy: API for accessing scanners sane-abaton - SANE backend for Abaton flatbed scanners sane-agfafocus - SANE backend for AGFA Focus flatbed scanners * sane-apple - SANE backend for Apple flatbed scanners sane-artec - SANE backend for Artec flatbed scanners sane-artec_eplus48u - SANE backend for the scanner Artec E+ 48U and re-badged models * sane-as6e - SANE backend for using the Artec AS6E parallel port interface scanner. sane-avision - SANE backend for original Avision and Avision OEM scanners sane-bh - SANE backend for Bell+Howell Copiscan II series document scanners sane-canon - SANE backend for Canon SCSI scanners sane-canon630u - SANE backend for the Canon 630u USB flatbed scanner sane-canon_dr - SANE backend for Canon DR-series scanners sane-canon_pp - SANE backend for Canon CanoScan Parallel Port flatbed scanners sane-cardscan - SANE backend for Corex CardScan usb scanners sane-config - get information about the installed version of  libsane sane-coolscan - SANE backend for Nikon film-scanners * sane-coolscan2 - SANE backend for Nikon Coolscan film scanners * sane-coolscan3 - SANE backend for Nikon Coolscan film scanners sane-dc210 - SANE backend for Kodak DC210 Digital Camera * sane-dc240 - SANE backend for Kodak DC240 Digital Camera * sane-dc25 - SANE backend for Kodak DC20/DC25 Digital Cameras * sane-dll - SANE dynamic backend loader sane-dmc - SANE backend for the Polaroid Digital Microscope Camera sane-epjitsu - SANE backend for Epson-based Fujitsu USB scanners. sane-epson - SANE backend for EPSON scanners sane-epson2 - SANE backend for EPSON scanners sane-epsonds - SANE backend for EPSON ESC/I-2 scanners sane-find-scanner - find SCSI and USB scanners and their device files sane-fujitsu - SANE backend for Fujitsu flatbed and ADF scanners sane-genesys - SANE backend for GL646 sane-gphoto2 - SANE backend for gphoto2 supported cameras sane-gt68xx - SANE backend for GT-68XX based USB flatbed scanners sane-hp - SANE backend for HP ScanJet scanners sane-hp3500 - SANE backend for Hewlett-Packard ScanJet 3500 series scanners sane-hp3900 - SANE backend for RTS8822 chipset based scanners sane-hp4200 - SANE backend for Hewlett-Packard 4200 scanners sane-hp5400 - SANE backend for Hewlett-Packard 54XX scanners sane-hp5590 - SANE backend for Hewlett-Packard 4500C/4570C/5500C/5550C/5590/7650 Workgroup/Document scanners sane-hpljm1005 - SANE backend for Hewlett-Packard LaserJet M1005 MFP Scanner sane-hpsj5s - SANE backend for HP ScanJet 5S sheet-fed scanner sane-hs2p - SANE backend for Ricoh SCSI flatbed/ADF scanners sane-ibm - SANE backend for IBM and Ricoh SCSI flatbed scanners sane-kodak - SANE backend for big Kodak flatbed and ADF scanners sane-kodakaio - SANE backend for Kodak aio printer / scanners sane-kvs1025 - SANE backend for Panasonic KV-S102xC USB ADF scanners. sane-kvs20xx - SANE backend for Panasonic KV-S20xxC USB/SCSI ADF scanners. *  sane-kvs40xx - SANE backend for Panasonic KV-S40xxC USB/SCSI ADF scanners. sane-leo - SANE backend for LEO Technologies scanners * sane-lexmark - SANE backend for Lexmark X1100/X1200 Series scanners sane-ma1509 - SANE backend for Mustek BearPaw 1200F USB scanner * sane-magicolor - SANE backend for KONICA MINOLTA magicolor scanners sane-matsushita - SANE backend for Panasonic KV-SS high speed scanners sane-microtek - SANE backend for Microtek scanners * sane-microtek2 - SANE backend for Microtek scanners with SCSI-2 command set sane-mustek - SANE backend for Mustek SCSI flatbed scanners sane-mustek_pp - SANE backend for Mustek parallel port flatbed scanners sane-mustek_usb - SANE backend for Mustek USB flatbed scanners sane-mustek_usb2 - SANE backend for SQ113 based USB flatbed scanners sane-nec - SANE backend for NEC scanners * sane-net - SANE network backend sane-niash - SANE backend for scanners based on the NIASH chipset. sane-p5 - SANE backend for the Primax PagePartner sane-pie - SANE backend for PIE * sane-pieusb - SANE backend for USB-connected PIE PowerSlide and Reflecta DigitDia/CrystalScan/ProScan slide scanners sane-pint - SANE backend for scanners that use the PINT device driver * sane-pixma - SANE backend for Canon Multi-Function Printers and CanoScan Scanners sane-plustek - SANE backend for LM983[1/2/3] based USB flatbed scanners sane-plustek_pp - SANE backend for Plustek parallel port flatbed scanners sane-pnm - SANE PNM image reader pseudo-backend sane-qcam - SANE backend for Connectix QuickCam cameras sane-ricoh - SANE backend for Ricoh flatbed scanners sane-rts8891 - SANE backend for rts8891 based scanners sane-s9036 - SANE backend for Siemens 9036 flatbed scanners * sane-sceptre - SANE backend for SCEPTRE scanners sane-scsi - SCSI adapter tips for scanners sane-sharp - SANE backend for SHARP scanners sane-sm3600 - SANE backend for Microtek scanners with M011 USB chip sane-sm3840 - SANE backend for Microtek scanners with SCAN08 USB chip sane-snapscan - SANE backend for AGFA SnapScan flatbed scanners sane-sp15c - SANE backend for Fujitsu ScanPartner 15C flatbed scanner sane-st400 - SANE backend for Siemens ST/Highscan flatbed scanners sane-stv680 - SANE backend for STV680 camera's sane-tamarack - SANE backend for Tamarack flatbed scanners sane-teco1 - SANE backend for TECO / RELISYS scanners sane-teco2 - SANE backend for TECO / RELISYS scanners * sane-teco3 - SANE backend for TECO / RELISYS scanners sane-test - SANE backend for testing frontends sane-u12 - SANE backend for Plustek USB flatbed scanners sane-umax - SANE backend for UMAX scanners sane-umax1220u - SANE backend for the UMAX Astra 1220U and similar scanners sane-umax_pp - SANE backend for Umax Astra parallel port flatbed scanners sane-usb - USB configuration tips for SANE sane-xerox_mfp - SANE backend for Xerox Phaser 3200MFP device et al. sbattach - UEFI secure boot detached signature tool sbrk - change data segment size sbsiglist - Create EFI_SIGNATURE_LIST signature databases sbsign - UEFI secure boot signing tool sbvarsign - UEFI authenticated variable signing tool sbverify - UEFI secure boot verification tool sc - spreadsheet calculator scalb - multiply floating-point number by integral power of radix scalbf - multiply floating-point number by  integral power of radix scalbl - multiply floating-point number by integral power of radix scalbln - multiply floating-point number by integral power of radix scalblnf - multiply floating-point number by integral power of radix scalblnl - multiply floating-point number by integral power of radix scalbn - multiply floating-point number by integral power of radix * scalbnf - multiply floating-point number by integral power of  radix scalbnl - multiply floating-point number by integral power of radix scandir - scan a directory for matching entries scandirat - scan a directory for matching entries scanf - input format conversion scanimage - scan an image sched - overview of CPU scheduling sched_get_priority_max - get static priority range sched_get_priority_min - get static priority range sched_getaffinity - set and get a thread's CPU affinity mask sched_getattr - set and get scheduling policy and attributes sched_getcpu - determine CPU on which the calling thread is  running sched_getparam - set and get scheduling parameters * sched_getscheduler - set and get scheduling policy/parameters sched_rr_get_interval - get the SCHED_RR interval for the named process sched_setaffinity - set and get a thread's CPU affinity mask sched_setattr - set and get scheduling policy and attributes sched_setparam - set and get scheduling parameters * sched_setscheduler - set and get scheduling policy/parameters * sched_yield - yield the processor scp - secure copy scr_dump - format of curses screen-dumps. screendump - dump the contents of  a virtual console to stdout script - make typescript of terminal session scriptreplay - play back typescripts sd - driver for SCSI disk drives sdiff - side-by-side merge of file differences * sdptool - control and interrogate SDP servers seccomp - operate on Secure Computing state of the process secure_getenv - get an  environment variable securetty - file which lists terminals from which root can log in security - unimplemented system calls see - execute programs via entries in the mailcap file seekdir - set the position of the next readdir call in the directory stream. select - synchronous I/O multiplexing select-default-ispell - select default ispell dictionary select-default-iwrap - Selects the user default ispell dictionary for use with ispell-wrapper * select-default-wordlist - select default wordlist select-editor - select your default sensible-editor from all installed editors select_tut - synchronous I/O multiplexing sem_close - close a  named semaphore sem_post - unlock a semaphore sem_timedwait - lock a semaphore sem_trywait - lock a semaphore sem_wait - lock a semaphore semctl - System V semaphore control operations send - send a message on a socket sendfile - transfer data between file descriptors sendfile64 - transfer data between file descriptors sendmmsg - send multiple messages on a socket * sendmsg - send a message on a socket sendto - send a message on a  socket sensors-conf-convert - sensors configuration conversion * sensors-detect - detect hardware monitoring chips sensors.conf - libsensors configuration file sepermit.conf - configuration file for the pam_sepermit module seq - print a sequence of numbers servertool - Provides an easy-to-use interface for developers to register service - run a System V init script services - Internet network services list services-admin - Services Administration Tool session-installer - allows applications to  easily install and remove software session-keyring - Session shared process keyring sessreg - manage utmpx/wtmpx entries for non-init clients set_mempolicy - set default NUMA memory policy for a thread and its children set_thread_area - set a GDT entry for thread-local storage setarch - change reported architecture in new program environment and set personality flags setcap - set file capabilities setcifsacl - Userspace helper to alter an ACL in a security descriptor for Common Internet File System setcontext - get or set the user context setcontext - get or  set the user context setegid - set effective user or group ID setenv - change or add an environment variable seteuid - set effective user or group ID setfacl - set file access control lists setfattr - set extended attributes of filesystem objects setfont - load EGA/VGA console screen font setfsgid - set group identity used for filesystem checks setfsgid32 - set group identity used for filesystem checks setfsuid - set user identity used for filesystem checks setfsuid32 - set user identity used for filesystem checks sethostid - get or set the unique identifier of the current host sethostid - get or set the unique identifier of the current host setjmp - performing a nonlocal goto setkey - encrypt 64-bit messages setkey_r - encrypt 64-bit messages setkeycodes - load kernel scancode-to-keycode mapping table entries setlocale - set the current locale * setlogcons - Send kernel messages to console N setmntent - get filesystem descriptor file entry setns - reassociate thread with a namespace setpci - configure PCI devices setpgid - set/get process group setpgrp - set/get process group setpriority - get/set program scheduling priority setprotoent - get protocol entry setregid - set real and/or effective user or group ID * setregid32 - set real and/or effective user or group ID setresgid - set real setresgid32 - set real setresuid - set real * setresuid32 - set real setreuid - set real and/or effective user or group ID setreuid32 - set real and/or effective user or group ID setrlimit - get/set resource limits setrpcent - get RPC entry setservent - get service entry setsid - creates a session and sets the process group ID setsockopt - get and set options on sockets setup - setup devices and filesystems setupcon - sets up the font and the keyboard on the console * setutent - access utmp file entries setutxent - access utmp file entries setvesablank - Turn VESA screen blanking on or off setvtrgb - customize the console color map setvtrgb - set the virtual terminal RGB colors sftp - secure file transfer program sg - execute command as different group ID sgdisk - Command-line GUID partition table sh - command interpreter sh.distrib - command interpreter sha1pass - Create a SHA1 password hash sha1sum - compute and check SHA1 message digest * sha224sum - compute and check SHA224 message digest sha256sum - compute and check SHA256 message digest sha384sum - compute and check SHA384 message digest sha512sum - compute and check SHA512 message digest shadowconfig - toggle shadow passwords on and off shasum - Print or Check SHA Checksums shm_open - create/open or unlink POSIX shared memory objects shm_unlink - create/open or unlink POSIX shared memory objects shmctl - System V shared memory control shmget - allocates a System V  shared memory segment showconsolefont - Show the current EGA/VGA console screen font showkey - examine the codes sent by the keyboard showrgb - display an rgb color-name database shred - overwrite a file to hide its contents shutdown - shut down part of a full-duplex connection shutdown - Halt sigaction - examine and change a signal action sigaltstack - set and/or get signal stack context sigblock - BSD signal API sigevent - structure for notification from asynchronous routines siggen - an  Ncurses based signal generator program siggen.conf - the siggen configuration files siginterrupt - allow signals to interrupt system calls siglongjmp - performing a nonlocal goto signal - ANSI C signal handling signalfd - create a file descriptor for accepting signals signalfd4 - create a file descriptor for accepting signals significand - get mantissa of floating-point number significandf - get mantissa of floating-point number * significandl - get mantissa of floating-point number sigpause - atomically release blocked signals and wait for interrupt * sigprocmask - examine and change blocked signals sigqueue - queue a signal and data to a process sigqueue - queue a signal and data to a process sigreturn - return from signal handler and cleanup stack frame sigsetjmp - performing a nonlocal goto sigstack - set and/or get signal stack context sigtimedwait - synchronously wait for queued signals sigvec - BSD signal API * sigwaitinfo - synchronously wait for queued signals simple-scan - Scanning utility size - list section sizes and total size. *  skill - send a signal or report process status slabinfo - kernel slab allocator statistics slabtop - display kernel slab cache information in real time slattach - attach a network interface to a serial line sleep - delay for a specified amount of time sleep - sleep for a specified number of seconds sleep.conf.d  - Suspend and hibernation configuration file slick-greeter - distro agnostic LightDM greeter slick-greeter-check-hidpi - distro agnostic LightDM greeter slick-greeter-set-keyboard-layout - switch keyboard layout SLIST_FOREACH - implementations of  singly-linked lists sln - create symbolic links slogin - OpenSSH SSH client slrn_getdescs - weekly update of newsgroups descriptions file slxdecode - Decode a SLX stream into human readable form. smartpqi - Microsemi Smart Family SCSI driver * smb.conf - The configuration file for the Samba suite smbpasswd - The Samba encrypted password file smbpasswd - change a user's  SMB password snice - send a signal or report process status * snmp.conf - configuration files for the Net-SNMP applications snmp_config - handling of Net-SNMP configuration files * snmpd.examples - example configuration for the Net-SNMP agent * snmpd.internal - internal configuration of the Net-SNMP agent * snprintf - formatted output conversion sock_diag - obtaining information about sockets sockatmark - determine whether socket is at out-of-band mark socket - create an endpoint for communication socket - Linux socket interface Socket6 - IPv6 related part of the C socket.h defines and structure manipulators socketcall - socket system calls socketpair - create a  pair of connected sockets software-properties-gtk - Software Sources List editor software-properties-kde - Software Sources List editor software-sources - Software Sources List editor * sort-dctrl - sort Debian control files soundinfo - Describes parts of the Linux Sound system support sources.list - List of  configured APT data sources spd-conf - A simple tool for basic configuration of Speech Dispatcher and problem diagnostics * spd-say - send text-to-speech output request to speech-dispatcher speaker-test - command-line speaker test tone generator for ALSA speech-dispatcher - server process managing speech requests in  Speech Dispatcher speed - test library performance spellintian - simple spellchecker based on Lintian's data files spkac - SPKAC printing and generating utility splice - splice data to/from a  pipe split - split a file into pieces splitdiff - separate out incremental patches splitfont - extract characters from an  ISO-type font. sprintf - formatted output conversion sprof - read and display shared object profiling data spu_create - create a new spu context spu_run - execute an SPU context ss - another utility to investigate sockets sscanf - input format conversion ssh - OpenSSH SSH client ssh-add - adds private key identities to the authentication agent ssh-agent - authentication agent * ssh-argv0 - replaces the old ssh command-name as hostname handling ssh-copy-id - use locally available keys to authorise logins on a remote machine ssh-keygen - authentication key generation ssh-keyscan - gather ssh public keys ssh-keysign - ssh helper program for host-based authentication ssh-pkcs11-helper - ssh-agent helper program for PKCS#11 support ssh_config - OpenSSH SSH client configuration files ssignal - software signal facility st - SCSI tape device STAILQ_CONCAT - implementations of singly-linked lists STAILQ_FOREACH - implementations of singly-linked lists standards - C and UNIX Standards * start-pulseaudio-x11 - PulseAudio Sound Server X11 Startup Script * startxfce4 - initialize an Xfce session statfs - get filesystem statistics statfs64 - get filesystem statistics statvfs - get filesystem statistics statvfs - get filesystem statistics stdbuf - Run COMMAND stdio_ext - interfaces to stdio FILE structure stpcpy - copy a string returning a pointer to its end stpncpy - copy a fixed-size string strace - trace system calls and signals strace-log-merge - merge strace - ff - tt output strcasecmp - compare two strings ignoring case strcasestr - locate a substring strcat - concatenate two strings strchr - locate character in string strchrnul - locate character in  string strcmp - compare two strings strcoll - compare two strings using the current locale strcpy - copy a string * strcspn - get length of a prefix substring strdup - duplicate a string strdupa - duplicate a string streamripper - rip shoutcast radio streams to mp3 files strerror - return string describing error number strerror_l - return string describing error number strerror_r - return string describing error number * strfmon - convert monetary value to a string strfmon_l - convert monetary value to a string strfromd - convert a floating-point value into a string strfromf - convert a floating-point value into a string strfroml - convert a floating-point value into a string strings - print the strings of printable characters in files. strip - Discard symbols from object files. strlen - calculate the length of a string strncasecmp - compare two strings ignoring case strncat - concatenate two strings * strncmp - compare two strings strncpy - copy a string strndup - duplicate a string strndupa - duplicate a string strpbrk - search a string for any of a set of bytes strptime - convert a  string representation of time to a time tm structure strrchr - locate character in string strsep - extract token from string strsignal - return string describing signal strstr - locate a substring strtod - convert ASCII string to floating-point number strtof - convert ASCII string to floating-point number * strtoimax - convert string to integer strtok - extract tokens from strings strtok_r - extract tokens from strings strtol - convert a string to a long integer strtold - convert ASCII string to floating-point number strtoll - convert a string to a long integer strtoq - convert a string to a long integer strtoul - convert a string to an unsigned long integer strtoull - convert a string to an unsigned long integer strtoumax - convert string to integer strtouq - convert a string to an unsigned long integer strverscmp - compare two version strings stty - change and print terminal line settings stty - unimplemented system calls su - change user ID or become superuser subpage_prot - define a subpage protection for an address range subscriptions.conf - subscription configuration file for cups sudo - execute a  command as another user sudo.conf - configuration for sudo front end sudo_root - How to run administrative commands sudoedit - execute a command as another user sudoers - default sudo security policy plugin sum - checksum and count the blocks in  a file svipc - System V interprocess communication mechanisms vlc - the VLC media player swab - swap adjacent bytes * swapcontext - manipulate user context swaplabel - print or  change the label or UUID of a swap area swapoff - start/stop swapping to file/device swapoff - enable/disable devices and files for paging and swapping swapon - start/stop swapping to file/device swapon - enable/disable devices and files for paging and swapping sweepgen - an Ncurses based sweep generator program swgen - a simple swept frequency signal generator switch_root - switch to another filesystem as the root of  the mount tree swprintf - formatted wide-character output conversion symcryptrun - Call a simple symmetric encryption tool symlink - symbolic link handling synaptic - graphical management of software packages synaptics - touchpad input driver sync - Synchronize cached writes to persistent storage * sync - commit filesystem caches to disk sync-available - sync dpkg's available database with apt's database sync_file_range - sync a file segment with disk sync_file_range2 - sync a file segment with disk syncfs - commit filesystem caches to disk * synclient - commandline utility to query and modify Synaptics driver options. syndaemon - a program that monitors keyboard activity and disables the touchpad when the keyboard is being used. syscall - indirect system call syscalls - Linux system calls sysconf - get configuration information at run time * sysctl - read/write system parameters sysctl - configure kernel parameters at runtime sysctl.conf - sysctl preload/configuration file sysctl.d - Configure kernel parameters at boot sysfs - a filesystem for exporting kernel objects syslinux-legacy - install the SYSLINUX bootloader on a FAT filesystem syslinux2ansi - converts a syslinux-format screen to pc-ansi syslog - read and/or clear kernel message ring buffer; set console_loglevel system - execute a shell command system-config-printer - configure a CUPS server system-config-printer-applet - print job manager system-tools-backends - message dispatcher for system-tools-backends system.conf.d - System and session service manager configuration files systemctl - Control the systemd system and service manager sysusers.d - Declarative allocation of system users and groups sysv_signal - signal handling with System V semantics t1ascii - convert PostScript Type 1 font from binary to ASCII t1asm - assemble PostScript Type 1 font t1binary - convert PostScript Type 1 font from ASCII to binary t1disasm - disassemble PostScript Type 1 font t1mac - translate a PFA or PFB PostScript Type 1 font into Macintosh format t1unmac - translate a Mac PostScript Type 1 font into PFA or PFB format tac - concatenate and print files in reverse TAILQ_CONCAT - implementations of singly-linked lists TAILQ_FOREACH - implementations of singly-linked lists TAILQ_FOREACH_REVERSE - implementations of singly-linked lists tar - an archiving utility tarcat - concatenates the pieces of a GNU tar multi-volume archive taskset - set or  retrieve a process's CPU affinity tbl-dctrl - generate tabular representations of data in dctrl format tc - show / manipulate traffic control settings tc-bfifo - Packet limited First In * tc-bpf - BPF programmable classifier and actions for ingress/egress queueing disciplines tc-cbq - Class Based Queueing tc-drr - deficit round robin scheduler tc-flow - flow based traffic control filter tc-flower - flow based traffic control filter * tc-fq - Fair Queue traffic policing tc-fq_codel - Fair Queuing tc-fw - fwmark traffic control filter tc-hfsc - Hierarchical Fair Service Curve tc-htb - Hierarchy Token Bucket tc-ife - encapsulate/decapsulate metadata tc-mirred - mirror/redirect action tc-mqprio - Multiqueue Priority Qdisc tc-nat - stateless native address translation action tc-netem - Network Emulator tc-pedit - generic packet editor action tc-pfifo - Packet limited First In tc-pfifo_fast - three-band first in tc-pie - Proportional Integral controller-Enhanced AQM algorithm tc-prio - Priority qdisc tc-red - Random Early Detection tc-route - route traffic control filter tc-sample - packet sampling tc  action tc-sfb - Stochastic Fair Blue tc-sfq - Stochastic Fairness Queueing tc-simple - basic example action tc-skbedit - SKB editing action tc-skbmod - user-friendly packet editor action tc-stab - Generic size table manipulations tc-tbf - Token Bucket Filter tc-tcindex - traffic control index filter * tc-tunnel_key - Tunnel metadata manipulation tc-u32 - universal 32bit traffic control filter tc-vlan - vlan manipulation module tc-xt - tc iptables action tcdrain - get and set terminal attributes tcflow - get and set terminal attributes tcflush - get and set terminal attributes tcgetattr - get and set terminal attributes tcgetpgrp - get and set terminal foreground process group tcgetsid - get session ID tclsh - Simple shell containing Tcl interpreter tclsh8.6 - Simple shell containing Tcl interpreter tcp - TCP protocol tcpd - access control facility for internet services tcpdchk - tcp wrapper configuration checker tcpdmatch - tcp wrapper oracle tcpdump - dump traffic on a network tcsendbreak - get and set terminal attributes * tcsetattr - get and set terminal attributes tcsetpgrp - get and set terminal foreground process group tee - duplicating pipe content telinit - Change SysV runlevel telldir - return current location in directory stream telnet - user interface to  the TELNET protocol telnet.netkit - user interface to the TELNET protocol tempfile - create a temporary file in a safe manner * tempnam - create a name for a temporary file term - format of  compiled term file. term - conventions for naming terminal types termcap - terminal capability database terminal-colors.d - Configure output colorization for various utilities terminfo - terminal capability data base termio - System V terminal driver interface termios - get and set terminal attributes * test - check file types and compare values testparm - check an  smb.conf configuration file for internal correctness textdomain - set domain for future gettext calls tgz - makes a gzip'd  tar archive thermal-conf.xml - Configuration file for thermal daemon thunar - File Manager for the Xfce Desktop Environment thunar-settings - display thunar(1) preferences dialog * thunar-volman - controls configuration of thunar's removable media thunar-volman-settings - controls configuration of thunar's  removable media thunderbird - thunderbird - Mail User Agent tic - the terminfo entry-description compiler tificc - little cms ICC profile applier for TIFF. time - run programs and summarize system resource usage time - get time in seconds time.conf - configuration file for the pam_time module timedatectl - Control the system time and date timegm - inverses of gmtime and localtime timelocal - inverses of gmtime and localtime timeout - run a command with a time limit timer_create - create a POSIX per-process timer timer_delete - delete a POSIX per-process timer timer_getoverrun - get overrun count for a POSIX per-process timer timer_gettime - arm/disarm and fetch state of POSIX per-process timer timer_settime - arm/disarm and fetch state of POSIX per-process timer timerclear - timeval operations * timercmp - timeval operations timerfd_create - timers that notify via file descriptors timerfd_gettime - timers that notify via file descriptors timerfd_settime - timers that notify via file descriptors times - get process times timesyncd.conf - Network Time Synchronization configuration files timesyncd.conf.d - Network Time Synchronization configuration files timezone - initialize time conversion information timidity - MIDI-to-WAVE converter and player timidity.cfg - configure file of TiMidity++ tipc - a TIPC configuration and management tool tipc-bearer - show or modify TIPC bearers tipc-link - show links or modify link properties tipc-media - list or modify media properties tipc-nametable - show TIPC nametable tipc-node - modify and show local node parameters or list peer nodes tipc-peer - modify peer information tipc-socket - show TIPC socket * tis-620 - ISO 8859-11 character set encoded in octal tload - graphic representation of system load average tmpfile - create a temporary file tmpfiles.d - Configuration for creation * tmpnam - create a name for a temporary file tmpnam_r - create a name for a temporary file tnameserv - Interface Definition Language toascii - convert character to ASCII tolower - convert uppercase or lowercase tolower_l - convert uppercase or  lowercase tomboy - A simple note-taking application for Gnome top - display Linux processes touch - change file timestamps toupper - convert uppercase or lowercase toupper_l - convert uppercase or lowercase towctrans - wide-character transliteration towlower - convert a wide character to lowercase towlower_l - convert a wide character to lowercase towupper - convert a wide character to uppercase towupper_l - convert a wide character to uppercase tr - translate or delete characters tracepath - traces path to a network host discovering MTU along this path * traceroute6 - traces path to a network host traceroute6.iputils - traces path to a network host transicc - little cms ColorSpace conversion calculator. transmission-gtk - a bittorrent client transset - Set transparency on a window tree - list contents of directories in a tree-like format. trn-artchk - check a news article's validity trn4-Pnews - a program for posting news articles trn4-strn - scanning threaded read news program * trn4-trn-artchk - check a news article's validity troff - the troff processor of the groff text formatting system TRUE - do  nothing trunc - round to integer truncate - shrink or extend the size of a file to the specified size truncate - truncate a  file to a specified length truncate64 - truncate a file to a  specified length truncf - round to integer truncl - round to  integer trust - Tool for operating on the trust policy store * try-from - test program for the tcp_wrapper ts - Time Stamping Authority tool tsearch - manage a binary tree tsget - Time Stamping HTTP/HTTPS client tsort - perform topological sort tty - print the file name of the terminal connected to standard input tty - controlling terminal tty_ioctl - ioctls for terminals and serial lines ttyslot - find the slot of the current user's  terminal in some file ttytype - terminal device to default terminal type mapping tuxcall - unimplemented system calls * tweeper - web scraper to convert supported websites tzname - initialize time conversion information tzselect - view timezones tzselect - select a timezone tzset - initialize time conversion information ua - Enable or disable Ubuntu Advantage offerings from Canonical. ualarm - schedule signal after given number of microseconds ubuntu-advantage - Enable or disable Ubuntu Advantage offerings from Canonical. ucf - Update Configuration File: preserve user changes in configuration files ucf.conf - site-wide configuration file for ucf ucfq - query the ucf database ucfr - Update Configuration File Registry: associate packages with configuration files ucs2any - generate BDF fonts containing subsets of ISO 10646-1 codepoints udev - Dynamic device management udev.conf - Configuration for device event managing daemon udisks2.conf - The udisks2 configuration file udisksctl - The udisks command line tool udp - User Datagram Protocol for IPv4 udplite - Lightweight User Datagram Protocol ugetrlimit - get/set resource limits ulckpwdf - get shadow password file entry ulockmgr_server - Lock Manager Server for FUSE filesystems umask - set file mode creation mask umax_pp - SANE backend for Umax Astra parallel port flatbed scanners * umount.ecryptfs - eCryptfs umount helper. umount.ecryptfs_private - eCryptfs private unmount helper. uname - get name and information about current kernel uncompress - compress or expand files unexpand - convert spaces to tabs ungetc - input of  characters and strings ungetwc - push back a wide character onto a FILE stream unicode - universal character set unicode_start - put keyboard and console in unicode mode unicode_stop - revert keyboard and console from unicode mode unimplemented - unimplemented system calls units - decimal and binary prefixes * unix - sockets for local interprocess communication unix_chkpwd - Helper binary that verifies the password of the current user unlockpt - unlock a pseudoterminal master/slave pair unlzma - Compress or decompress .xz and .lzma files unmkinitramfs - extract content from an initramfs image unopkg - LibreOffice Extension Manager unpack200 - Transforms a packed file produced by pack200(1) into a JAR file for web deployment. unrar - extract files from rar archives unrar-nonfree - extract files from rar archives unsetenv - change or add an environment variable unshare - run program with some namespaces unshared from parent unshare - disassociate parts of the process execution context unshield - extract CAB files from an InstallShield installer archive unsquashfs - tool to uncompress squashfs filesystems unwrapdiff - demangle word-wrapped patches unxz - Compress or decompress .xz and .lzma files unzip - list * unzipsfx - self-extracting stub for prepending to ZIP archives * update-alternatives - maintain symbolic links determining default commands update-ca-certificates - update /etc/ssl/certs and ca-certificates.crt update-catalog - create or update entry in SGML catalog file update-cracklib - Regenerate cracklib dictionary update-default-aspell - rebuild aspell database and emacsen stuff update-default-ispell - update default ispell dictionary update-desktop-database - Build cache database of MIME types handled by desktop files update-dictcommon-aspell - rebuild aspell database and emacsen stuff update-dictcommon-hunspell - rebuild hunspell database and emacsen stuff update-fonts-alias - compile fonts.alias files update-fonts-dir - compile fonts.dir files update-fonts-scale - generate fonts.scale files update-gconf-defaults - generate GConf defaults shipped in Debian packages update-grub - stub for grub-mkconfig * update-grub-gfxpayload - update /boot/grub/gfxblacklist.txt update-grub2 - stub for grub-mkconfig update-icon-caches - Update wrapper script for the icon caches update-inetd - create update-info-dir - update or create index file from all installed info files in directory update-initramfs.conf - configuration file for update-initramfs update-leap - leap-seconds file manager/updater update-locale - Modify global locale settings update-mime - create or update MIME information update-mime-database - a program to build the Shared MIME-Info database cache update-motd - dynamic MOTD generation update-passwd - safely update /etc/passwd update-pciids - download new version of the PCI ID list update-rc.d - install and remove System-V style init script links update-xmlcatalog - maintain XML catalog files updatedb - update a database for mlocate updatedb.mlocate - update a database for mlocate upower - UPower command line tool urandom - kernel random number source devices ureadahead - Read files in advance during boot uri - uniform resource identifier url - uniform resource identifier urn - uniform resource identifier usb-devices - print USB device details usb_modeswitch - control the mode of 'multi-state' USB devices usb_modeswitch_dispatcher - Linux wrapper for usb_modeswitch usbhid-dump - dump USB HID device report descriptors and streams usbmuxd - Expose a socket to multiplex connections from and to iOS devices. uselocale - set/get the locale for the calling thread user-dirs.conf - configuration for xdg-user-dirs-update user.conf.d - System and session service manager configuration files user_caps - user-defined terminfo capabilities user_namespaces - overview of Linux user namespaces useradd - create a new user or update default new user information userdel - delete a user account and related files * userfaultfd - create a file descriptor for handling page faults in user space usermod - modify a user account users - print the user names of users currently logged in to the current host usleep - suspend execution for microsecond intervals ustat - get filesystem statistics utf-8 - an ASCII compatible multibyte Unicode encoding utf8 - an ASCII compatible multibyte Unicode encoding utime - change file last access and modification times utimensat - change file timestamps with nanosecond precision * utimes - change file last access and modification times utmp - login records utmpname - access utmp file entries utmpx - login records utmpxname - access utmp file entries uuidgen - create a new UUID value uz - gunzips and extracts a gzip'd  tar'd archive va_copy - variable argument lists validlocale - Test if a given locale is available valloc - allocate aligned memory variables - Format of specifying variable names to SNMP tools. vasprintf - print to allocated string vcs - virtual console memory vcsa - virtual console memory vcstime - Show time in upper right hand corner of the console screen vdir - list directory contents vdprintf - formatted output conversion vdso - overview of the virtual ELF dynamic shared object * verify - Utility to verify certificates veritysetup - manage dm-verity versionsort - scan a directory for matching entries verve-focus - Focus the xfce4-verve-plugin input area vesa - Generic VESA video driver veth - Virtual Ethernet Device vfork - create a child process and block parent vfprintf - formatted output conversion vfscanf - input format conversion vfwprintf - formatted wide-character output conversion vgcfgbackup - Backup volume group configuration(s) vgcfgrestore - Restore volume group configuration vgchange - Change volume group attributes vgck - Check the consistency of volume group(s) vgconvert - Change volume group metadata format vgcreate - Create a volume group * vgextend - Add physical volumes to a volume group vgimportclone - Import a VG from cloned PVs vgmknodes - Create the special files for volume group devices in /dev vgreduce - Remove physical volume(s) from a volume group vgscan - Search for all volume groups vgsplit - Move physical volumes into a new or existing volume group vhangup - virtually hangup the current terminal viewres - graphical class browser for Xt vimdiff - edit two vlc-wrapper - a wrapper to drop privileges with VLC vlimit - get/set resource limits vmsplice - splice user pages into a  pipe vmstat - Report virtual memory statistics vpddecode - VPD structure decoder vprintf - formatted output conversion vscanf - input format conversion vserver - unimplemented system calls vsnprintf - formatted output conversion vsock - Linux VSOCK address family vsprintf - formatted output conversion vsscanf - input format conversion vswprintf - formatted wide-character output conversion vtimes - get resource usage vwprintf - formatted wide-character output conversion w.procps - Show who is logged on and what they are doing. w3mman - an interface to  the on-line reference manuals via w3m(1) wacom - Wacom input driver wait - wait for process to change state wait3 - wait for process to change state wait4 - wait for process to change state waitid - wait for process to change state waitpid - wait for process to change state watch - execute a program periodically watchgnupg - Read and print logs from a socket wavelan - AT&T GIS WaveLAN ISA device driver wc - print newline wcpcpy - copy a wide-character string wcpncpy - copy a fixed-size string of wide characters wcrtomb - convert a wide character to  a multibyte sequence wcscasecmp - compare two wide-character strings wcscat - concatenate two wide-character strings wcschr - search a wide character in a wide-character string wcscmp - compare two wide-character strings wcscpy - copy a wide-character string wcscspn - search a wide-character string for any of a  set of wide characters wcsdup - duplicate a wide-character string wcslen - determine the length of a wide-character string wcsncasecmp - compare two fixed-size wide-character strings wcsncat - concatenate two wide-character strings wcsncmp - compare two fixed-size wide-character strings wcsncpy - copy a  fixed-size string of wide characters wcsnlen - determine the length of a fixed-size wide-character string wcsnrtombs - convert a wide-character string to a multibyte string wcspbrk - search a wide-character string for any of a set of wide characters * wcsrchr - search a wide character in a wide-character string * wcsrtombs - convert a wide-character string to a multibyte string wcsspn - advance in a wide-character string wcsstr - locate a substring in a wide-character string wcstoimax - convert wide-character string to integer wcstok - split wide-character string into tokens wcstombs - convert a wide-character string to a multibyte string wcstoumax - convert wide-character string to integer wcswidth - determine columns needed for a fixed-size wide-character string wctob - try to represent a wide character as a single byte wctomb - convert a wide character to a multibyte sequence wctrans - wide-character translation mapping wctype - wide-character classification wcwidth - determine columns needed for a wide character wdctl - show hardware watchdog status * wget - The non-interactive network downloader. whatis - display one-line manual page descriptions whereis - locate the binary * which - locate a command whiptail - display dialog boxes from shell scripts whoami - print effective userid wildmidi.cfg - Config file for libWildMidi wipefs - wipe a signature from a  device wmctrl - interact with a EWMH/NetWM compatible X Window Manager. wmemchr - search a wide character in a wide-character array wmemcmp - compare two arrays of wide-characters wmemcpy - copy an array of wide-characters wmemmove - copy an array of  wide-characters wmempcpy - copy memory area wmemset - fill an array of wide-characters with a constant wide character * wodim - write data to optical disk media word-list-compress - word list compressor/decompressor for GNU Aspell wordgrinder - console-based word processor wpa_action - wpa_cli action script wpa_background - Background information on Wi-Fi Protected Access and IEEE 802.11i wpa_cli - WPA command line client * wpa_passphrase - Generate a WPA PSK from an ASCII passphrase for a SSID wpa_supplicant - Wi-Fi Protected Access client and IEEE 802.1X supplicant wpa_supplicant.conf - configuration file for wpa_supplicant wprintf - formatted wide-character output conversion write - write to a file descriptor wtmp - login records www-browser - lynx-like alternative character mode WWW browser x-session-manager - initialize an Xfce session * x-window-manager - Window manager for Xfce x11perf - X11 server performance test program x11perfcomp - X11 server performance comparison program x25 - ITU-T X.25 / ISO-8208 protocol interface. x509 - Certificate display and signing utility * x509 - X.509 certificate handling x509v3_config - X509 V3  certificate extension configuration format xargs - build and execute command lines from standard input xboard - X graphical user interface for chess xcalc - scientific calculator for X xcircuit - Draw circuit schematics or almost anything; make circuit netlists from schematics. xclipboard - X clipboard client xclock - analog / digital clock for X xcmsdb - Device Color Characterization utility for X Color Management System XCompose - X client mappings for multi-key input sequences xconsole - monitor system console messages with X XConsortium - X Consortium information xcrypt - RFS password encryption xcursorgen - create an X cursor file from a collection of PNG images xcutsel - interchange between cut buffer and selection xdecrypt - RFS password encryption xdg-desktop-icon - command line tool for * xdg-desktop-menu - command line tool for xdg-email - command line tool for sending mail using the user's preferred e-mail composer xdg-icon-resource - command line tool for xdg-mime - command line tool for querying information about file type handling and adding descriptions for new fil... xdg-open - opens a file or URL in the user's preferred application xdg-screensaver - command line tool for controlling the screensaver xdg-user-dirs-update - Update XDG user dir configuration xdr_accepted_reply - library routines for remote procedure calls xdr_authunix_parms - library routines for remote procedure calls xdr_callhdr - library routines for remote procedure calls xdr_callmsg - library routines for remote procedure calls xdr_char - library routines for external data representation xdr_opaque_auth - library routines for remote procedure calls xdr_pmap - library routines for remote procedure calls xdr_pmaplist - library routines for remote procedure calls xdr_reference - library routines for external data representation xdr_rejected_reply - library routines for remote procedure calls xdr_replymsg - library routines for remote procedure calls xdr_u_char - library routines for external data representation xdr_vector - library routines for external data representation xdriinfo - query configuration information of DRI drivers xdrmem_create - library routines for external data representation xdrrec_create - library routines for external data representation xdrrec_endofrecord - library routines for external data representation xdrrec_eof - library routines for external data representation xdrrec_skiprecord - library routines for external data representation xdrstdio_create - library routines for external data representation xencrypt - RFS password encryption xev - print contents of X events xfce4-accessibility-settings - Accessibility settings for Xfce xfce4-appearance-settings - Appearance settings for Xfce xfce4-appfinder - Xfce 4 Appfinder xfce4-dict - a client program to query different dictionaries xfce4-display-settings - Display settings for Xfce xfce4-keyboard-settings - Keyboard settings for Xfce xfce4-kiosk-query - Queries Xfce4 kiosk capabilities xfce4-mime-settings - MIME settings for Xfce xfce4-mouse-settings - Mouse settings for Xfce * xfce4-notifyd-config - configuration GUI for xfce4-notifyd xfce4-panel - A panel for the Xfce4 desktop environment * xfce4-popup-menu - shows the Xfce Menu xfce4-popup-whiskermenu - shows Whisker Menu xfce4-popup-windowlist - shows the Xfce window list applet popup xfce4-power-information - Find information about your computer's power usage xfce4-power-manager - The Xfce 4 Power manager xfce4-power-manager-settings - Settings dialog for the Xfce 4 Power manager xfce4-screenshooter - manual page for xfce4-screenshooter: Cannot open display: xfce4-session - Starts up the Xfce Desktop Environment xfce4-session-logout - Logs out from Xfce xfce4-session-settings - Session settings for Xfce xfce4-settings-editor - Settings editor for Xfce xfce4-settings-manager - Settings manager for Xfce * xfce4-taskmanager - a task xfce4-terminal - A Terminal emulator for X xfce4-volumed - Pulseaudio volume keys daemon for the Xfce desktop environment xfconf-query - Command line utility for xfconf system xfd - display all the characters in an X font xfdesktop - The Xfce 4 Desktop Environment's desktop manager * xfdesktop-settings - Desktop settings for Xfce xfontsel - point and click selection of X11 font names xfpm-power-backlight-helper - control the brightness from the command line xfrun4 - Xfce 4 Appfinder xfs_admin - change parameters of an XFS filesystem * xfs_bmap - print block mapping for an XFS file xfs_copy - copy the contents of an XFS filesystem xfs_estimate - estimate the space that an XFS filesystem will take xfs_freeze - suspend access to an XFS filesystem xfs_metadump - copy XFS filesystem metadata to a file xfs_mkfile - create an XFS file xfs_ncheck - generate pathnames from i-numbers for XFS xfs_rtcp - XFS realtime copy command xfsettingsd - XSettings daemon for Xfce xfwm4 - Window manager for Xfce xfwm4-settings - General settings for Xfce window manager xfwm4-tweaks-settings - Advanced settings for Xfce window manager xfwm4-workspace-settings - Workspace settings for Xfce window manager xgamma - Alter a monitor's  gamma correction through the X server xgc - X graphics demo * xgettext - extract gettext strings from source xhost - server access control program for X xinput - utility to configure and test X input devices xkbcomp - compile XKB keyboard description xkbprint - print an XKB keyboard description xkbwatch - XKB extension user utility xkeyboard-config - XKB data description files xkill - kill a client by its X resource xlsclients - list client applications running on a display xmag - magnify parts of  the screen xmessage - display a message or query in a window

xmountains - A fractal landscape generator. xorg.conf - configuration files for Xorg X server xorg.conf.d - configuration files for Xorg X server XProjectTeam - X.Org Group information xprt_register - library routines for remote procedure calls xprt_unregister - library routines for remote procedure calls xqxdecode - Decode a XQX stream into human readable form. xrandr - primitive command line interface to    RandR extension xrdb - X server resource database utility * xreader - A Document Viewer xreader-previewer - show print preview for a document xreader-thumbnailer - create png thumbnails from xreader supported documents xrefresh - refresh all or part of an X screen Xsecurity - X display access control Xsession.options - configuration options for Xsession xset - user preference utility for X xsetmode - set the mode for an X Input device xsetpointer - set an X Input device as the main pointer xsetwacom - commandline utility to query and modify wacom driver settings. XStandards - X Window System Standards and Specifications xstdcmap - X standard colormap utility xsubpp - compiler to convert Perl XS code into C    code Xwrapper.config - Xorg X server binary wrapper xz - Compress or decompress .xz and .lzma files xzcat - Compress or decompress .xz and .lzma files xzcmp - compare compressed files xzdiff - compare compressed files xzegrep - search compressed files for a regular expression xzfgrep - search compressed files for a regular expression xzgrep - search compressed files for a regular expression xzless - view xz or    lzma compressed xzmore - view xz or lzma compressed yacc - GNU Project parser generator yelp - browse system documentation zcat - compress or expand files zcmp - compare compressed files zdiff - compare compressed files zegrep - search possibly compressed files for a regular expression zfgrep - search possibly compressed files for a regular expression * zforce - force a '.gz' extension on all gzip files zgrep - search possibly compressed files for a regular expression zic - timezone compiler zip - package and compress zipcloak - encrypt entries in a zipfile zipdetails - display the internal structure of zip files zipgrep - search files in a ZIP archive for lines matching a pattern zipinfo - list detailed information about a ZIP archive zipnote - write the comments in zipfile to stdout zjsdecode - Decode a ZjStream into human readable form. zless - file perusal filter for crt viewing of    compressed text zlib-flate - raw zlib compression program * zmore - file perusal filter for crt viewing of compressed text * znew - recompress .Z files to .gz files

Arclen2

Arc length of a parabola


 * 1) !/usr/bin/python3

import math

h = float(input("Enter parabola height w = float(input("Enter   : ")) parabola width                                                   : "))

l = math.log(((4 h) + math.sqrt(w**2+ 16 h**2)) / w) w**2 / (8 * h) + (mat h.sqrt((w**2 + 16 h **2))) / 2

print(f"Parabola arc length = {l}")

ArcLen

Arc length of a parabola


 * 1) !/usr/bin/python3

import math

h = float(input("Enter parabola height w = float(input("Enter   : ")) parabola width                                                   : "))

l = math.log(((4 h) + math.sqrt(w**2+ 16 h**2)) / w) w**2 / (8 * h) + (mat h.sqrt((w**2 + 16 h **2))) / 2

print(f"Parabola arc length = {l}")

As-easy-as

I am the only person in the world still using DOS, and my  spreadsheets are DOS spreadsheets. To be sure, there is Gnumeric and Open Office under Hacky Linux, and I use Excel at work, but for home finances, dieting, and stuff like that I use AsEasyAs, which is a shareware clone of Lotus 1-2-3. "As Easy As 1-2-3" get it?

I also have a DOS implementation of VisiCalc, which was the very first spreadsheet ever and only 15Kb, but it is simply too primitive to use. I don't like how you can't see where you're at  with a bit-inverted cell at the cursor location like with AsEasyAs, and there's no help menu built in. You need to use a card provided by Apple for the commands. I keep it as a museum piece.

In the same way that VisiCalc was the "killer app" that sold a lot of Apple IIe's back around 1979-80, Lotus 1-2-3 was the killer app that sold the IBM-PC in the 1981-83 time frame. AsEasyAs actually improved on Lotus by introducing drop-down menus, and it was one-tenth of the cost. Now, of course, it is "abandonware" and is  free, and why the hell not? The MS-DOS era is long over. But I'm  Taoist. I turn back to examine closely what the crowd has passed by.

In the same way I boot Hacky Linux from a Live CD that incrementally improves, I boot DOS from a floppy disk that also incrementally improves as I trim unneeded utilities and add new ones. AsEasyAs is included in my boot floppy, as well as  the latest copy of my budget spreadsheet. About once a week I  remaster my FreeDOS boot floppy by using the command diskcopy a: a:. This allows me to recover from any mistakes as I change my config.sys and autoexec.bat. I have a phobia of actually installing an OS to a hard drive and relying on it to always work, whether it is Linux or DOS. To me, a hard drive is only used (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Audacity

This is Audacity 1.3.7 running natively on Puppy Linux. Previously I had only been able to get it to run in the Windows version under Wine. To get it to work I needed to install libiconv.1.13 and jack 0.116.1. Audacity is a great audio editor, but on this computer, I  cannot use it to record anything I generate on my soundcard because this piece of crap $300 Compaq doesn't have a loopback circuit on  the sound card. That will soon be remedied by installing a USB external sound card.

Audacity can be used to convert .WAV files to .MP3 and vice versa, but one must go to Preferences and get it to find the MP3 codec in the lib directory. I use lame. Audacity is totally free. One time in my bad old Windows Days I paid actual money for Voyetra's  AudioSurgeon, which nagged the hell out of me with an activation code every time I reinstalled it (which was every time my old  computer crapped out or Windows 98 itself had to be reinstalled) and eventually this activation server was shut down. Other audio software allowed .WAV to .MP3 conversions but it counted how many times you did it, and when you hit twenty conversions, you had to  (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

AverageBetweenLimits

Averages data that falls between two values

A B C 1 0.261343169 0.3 =Lower 2 0.462286934 0.7 =Upper 3 0.791963602 0.473285608 '{=AVERAGE(IF((A1:A20>=B1)*(A1:A20<=B2),A1:A20))} 4 0.202557268 5 0.726110355 6 0.628643135 7 0.466398855 8 0.957031574 9  0.343330185 10 0.287912948 11 0.870341809 12 0.743512969 13   0.599798917 14 0.726693896 15 0.545753423 16 0.352334225 17   0.965770905 18 0.829624978 19 0.047689822 20 0.387739195

Awk

Contents

[6]1 Average two values in scientific notation [7]2 Calculate the Lorentz factor for any velocity as a fraction of c (the    speed of light) [8]3 Center text in a terminal window of any size [9]4 Count all MP3 files under your home directory and report total disk usage [10]5 Count processes running as each user: [11]6 Get a one-line description for all the files in a    directory, delete lines that have no description [12]7 List actual files referenced by library symbolic links [13]8 List all processes by owner, sort on PID, omit header [14]9 List directories [15]10 List only non-blank lines in a file [16]11    Print all lines with exactly 40 characters [17]12 Print all prime numbers between 1 and 5000 [18]13 Print a random line from a file of unknown length [19]14 Print a short list of    your most recently-used commands [20]15 Print lines with only four letter words (or less) [21]16 Print number of processes running as each user [22]17 Print sizes of files in current directory with commas for readability [23]18 Print the first sixteen binary numbers using awk to align the data [24]19 Print the unique commands in your history by removing duplicate lines in place without an alphabetical sort [25]20 Print working directory file permissions, sizes, and names, formatted with awk [26]21 Print your command history, omitting duplicates [27]22    Print your top fifteen most frequently-used commands: [28]23    Reverse the order of the fields on each line [29]24 Search for "foo" and "bar" in any order [30]25 Search for "foo" and "bar" in that order [31]26 See what's eating your system clocks * [32]27 Show all mounted media [33]28 Show ASCII table [34]29    Sort user processes by memory footprint [35]30 Strip blank lines from a text file [36]31 Tally up a column of figures * [37]32 Tally up a column of figures [38]33 Tally up bytes of    all files in a directory [39]34 Tally up bytes of selected files in a directory [40]35 Use awk and the command-line factor program to print prime numbers [41]36 Use awk like grep * [42]37 Use awk to list the thirty most-common words in a text file

Average two values in scientific notation

echo "9.936E-2 1.138E-2" | awk '{printf "%.3E\n", ($1+$2)/2}' | sed -E 's/-0?/-/g'

Calculate the Lorentz factor for any velocity as a fraction of c (the speed of light)

awk 'BEGIN { for (v =0; v <=99; v++) printf "%.2f %.4f\n", v/100, 1/sqrt(1-(v / 100)^2)}'

Center text in a terminal window of any size

ls -l |awk '{ printf("%*s\n", ('${COLUMNS}' + length($1))/2, $9); }

Count all MP3 files under your home directory and report total disk usage

find /home -name '*.mp3' -ls | awk '{s+=$7;f+=1}END{print " MP3  files: "f"\nTotal size: "s/1000000" MB"}'

Count processes running as each user:

ps -ef | awk '{print$1}' | sort | uniq -c | sort -nr

Get a one-line description for all the files in a directory, delete lines that have no description

ls -l /usr/bin | awk '{print $9}' | xargs whatis | sed '/appropriate/d'

List actual files referenced by library symbolic links

sudo ls -lR /lib | grep ^l | awk '{print $9" "$10" "$11}' | grep s^lib | ort

List all processes by owner, sort on PID, omit header

ps -ef | awk '{print$1}' | sort | uniq -c | sort -nr | sed '/UID/d'

List directories

find. -type d -print

List only non-blank lines in a file

awk 'NF >0' file.txt

Print all lines with exactly 40 characters

awk 'length ==40' tags.tx3

Print all prime numbers between 1 and 5000

seq 1 5000 | factor | awk 'NF==2 { print $2 }' | tr '\n' ',';echo

Print a random line from a file of unknown length

awk 'BEGIN{ srand }; rand NR < 1 { line = $0} END {print line}' tags.tx3

Print a short list of your most recently-used commands

fc -rl | awk '{print $1=""; print}'

Print lines with only four letter words (or less)

awk 'length < 5' tags.tx3

Print number of processes running as each user

$ ps -ef | awk '{print $1}' | sort | uniq -c

Print sizes of files in current directory with commas for readability

ls -lp | grep -v / | awk '{$1=$2=$3=$4=$6=$7=$8="";print}' | sed -e :a -e 's/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta'

Print the first sixteen binary numbers using awk to align the data

echo "obase=2;i=0;while(i<=15) {i;i+=1}" | bc | awk '{printf "%4s\n", $0}'

Print the unique commands in your history by removing duplicate lines in place without an alphabetical sort

history | awk '{$1="";print}' | awk '!a[$0]++'

or:

history | awk '{$1=""} !a[$0]++'

Print working directory file permissions, sizes, and names, formatted with awk

ls -l | awk '{$5=sprintf("%9s",$5); printf "%s %9s", substr($1,1,4),$5" "; for (i=9;i<=NF;i++) printf $i" "; printf "\n"}'

Print your command history, omitting duplicates

history | awk '{$1="";print }' | sort | uniq

Print your top fifteen most frequently-used commands:

history | awk '{print $2}' | sort | uniq -c | sort -n | tail -n15 | sort -nr

Reverse the order of the fields on each line

awk '{for (i=NF;i>0;i--){printf $i" "};printf "\n"}' gettysburg2.txt

Search for "foo" and "bar" in any order

awk '/foo/ && /bar/' tags.txt

Search for "foo" and "bar" in that order

awk '/foo.*bar/' tags.txt

See what's eating your system clocks

ps aux --sort %cpu | awk '{print $3,$1,$11}' | tail -30

Show all mounted media

lsblk | awk 'NF >6 {print$1,"\t",$4,"\t",$7}'

Sort user processes by memory footprint

ps aux --sort -%mem | awk '{print $4,$1,$11}' | sed '/root/d' | head -50

Strip blank lines from a text file

awk 'NF > 0' yeshua > yeshua2

Tally up a column of figures

awk '{s+=$1} END {print s}' figures.txt

Tally up a column of figures

`basename $0` colnum [files]" 1>&2; exit 1;; esac awk '{sum += $col} END {print sum}' col=$colnum OFMT='%.2f' ${1+"$@"}
 * 1) ! /bin/sh case "$1" in [1-9]*) colnum="$1"; shift;; *) echo "Usage:

Tally up bytes of all files in a directory

ls -l | sed '/^d/d' | awk '{ x += $5 } ; END { print "Total bytes:  " x }'

Tally up bytes of selected files in a directory

du -b *.msg | awk '{s+=$1} END {print s}'

Use awk and the command-line factor program to print prime numbers

echo {1..80} | factor | awk 'NF==2 { print $2 }'

Use awk like grep

awk '/sex/' tags.txt

Use awk to list the thirty most-common words in a text file


 * 1) Usage: awk -f wordfreq textfile.txt

{ nbytes += length($0) + 2 # +2 for CR/LF nfields += NF $0 = tolower($0) for (i=1; i<=NF; i++) { arr[$i]++ } } END { show = (show == "") ? 30 : show width1 = length(show) PROCINFO["sorted_in"] = "@val_num_desc" for (i in arr) { if (width2 == 0) { width2 = length(arr[i]) } if (n++ >= show) { break } printf("%*d %*d %s\n",width1,n,width2,arr[i],i) } printf("input: %d records, %d bytes, %d words of which %d are unique\n",NR,n bytes,nfields,length(arr)) exit(0) }

Bash20200208

factor [5~ [6~ abook aewan aiksaurus Adventurous * aiksaurus Ambitious aiksaurus Crusader aiksaurus destroy * aiksaurus Evader aiksaurus Indomitable aiksaurus Luminary aiksaurus Marchesa aiksaurus Prodigy aiksaurus Reliant * aiksaurus Resolute aiksaurus Valorous aiksaurus Victorious aiksaurus Worthy alpine ./alsa-info.sh apt-cache search twitter aslactl awk 'NF > 0' yeshua > yeshua2 baobab * bash install-sh bc bc bc - bc --help bc -l bc -l <<< "5*7/3" bible bible-kjv bti bwbasic cacaview dv.jpg * cacaview mb.jpg cacaview ruby.jpg calcurse cat {1..100} | factor cat ./C/WINDOWS/NCDINFO.INI cat history.txt | sort | uniq >history2.txt cat *.msg cat *.msg >sum.txt cat print cat ./sc2.txt cat tca5.txt | tr '[a-z]' '[A-Z]' > tca6.txt * cat tcc1.txt cat tcc1.txt | tr '[a-z]' '[A-Z]' > tcd1.txt cat testa.txt | tr '[a-z]' '[A-Z]' cat testa.txt | tr [a-z] [A-Z] cat testa.txt | tr '[a-z]' '[A-Z]' > testb.txt cat testb.txt cat yesh2.txt | tr '[a-z]' '[A-Z]' > yesh3.txt cat yeshua2 * cat yesloop cat yes.txt cd cd .. cd.. cd C cd Desktop cd Downloads cd /home/teresita/News cd iso cd mobi cd scripts cd teresita cdw cd ws chmod u+x downshift chmod u+x install-sh chmod u+x rot13 chmod u+x yesloop chown -R teresita chown -R teresita mark * chown -R teresita matthew chown -R teresita yeshua chown teresita napkin clear cmus ./configure c.py hohmann1.csv hohmann.sc curl -s -L https curl wttr.in/seattle dc dc dc -e 10 k 355 113 / p dc -e 1 2 + dc -e=355 113 / p dc  -e 51! dc -e 51*8 dc --help dddddddddddd df -e df -h * dict atheist dir dosbox dosemu ./downshift ./downshift /C/usenet/* du du -d1 / du -h du -h -d1 echo {1..10} * echo {1..100} | factor echo {1..10} | factor echo {1..9} * echo {1..9}\ echo bc {1..9} echo 'bc -l <<< "1"' echo bc -l <<< "1" echo bc -l <<< "{1..9}" echo bc -l <<< {1..9} eject eject /dev/sd1 eject /dev/sr1 enchant -1 tca3.txt enchant -l tca3.txt enchant -l tca3.txt >tca4.txt factor 100 factor 1000000 factor < {1..10} factor 132521 factor 13252351 * factor 1325235622 factor 13252356233 factor 13252356234 * factor 3900 fasd fasd -1 fasd -A /home/teresita/Desktop * fasd --help fasd -l fasd -s fbless fbless file mv -- "$f" "${f%}"' \; find. empty find. -empty find. -empty find. -empty > empty.txt find. -empty -exec chown -R teresita {} \; find. -empty -exec ls find. -empty -exec ls  {} \; find. -empty -exec ls find. -empty -exec rm {} \; find. -empty -exec rm -f {} \; * find -executable find --help find. -name find. -name. find. -name .* find. -name "* *mp3" -exec rename 's/\ /-/g' {} \; for i in {1..10} do echo i for i in {1..10} do echo i cd  scripts; for i in {1..10} do echo i done for i in {1..10} do  echo i; done free freesweep glances google-drive-ocamlfuse google-drive-ocamlfuse -o allow_other gung jnf irel boivbhf * history history >history20200208.txt http ifconfig ifconfig eth0 ifconfig wlan ./install-sh ip ip addr show ipconfig irssi links locate locate binaries.txt ls ls .* ls -1 | sed 's/\.[^.]*$//' ls -a * ls -h ls --help ls -l ls -lh ls -lh >dirlist.txt ls -l napkin ls ; pwd ls -x lynx madplay --output=wave man sc man textdraw mkdir 'Craig Padilla & Marvin Allen - Toward The Horizon' mkdir Craig Padilla & Marvin Allen - Toward The Horizon mkdir TheWho-Tommy moc mount mplayer -dumpstream http mplayer http nano nano ljmt.txt nano tcd1.txt * nano tree.txt nano yesloop ncdu newsboat newsboat http * newsboat -u www.slashdot.org nn nn -help nn news.newsguy.com NNTPSERVER= 'news.newsguy.com' && export NNTPSERVER OA OB oysttyer oysttyer >> tweets2.txt oysttyer > tweets.txt oysttyer > tweets.txt && perl convert perl convert.pl * pico ps -ef | awk '{print $1}' | sort | uniq -c python c.py  hohmann1.csv hohmann.sc reboot rename rename *.* rm -f Padilla rm --help rm *.mp3 rm -r Craig rm -rf WEBSTERS rm -r WEBSTERS ./rot13 > Ur whfg bssrerq zr n punapr * ./rot13 "Ur whfg bssrerq zr n punapr ./rot13 Ur whfg bssrerq zr  n punapr ./rot13 Ur whfg bssrerq zr n punapr qvq lbh frr?   sabnzbdplus /sbin/ifconfig /sbin/ifconfig eth0 /sbin/ifconfig   wlan sc sc hohmann.sc scim sc-im sc nearby.sc sc   octant6.sc sc octant8 sc octant8.sc sc SC.SAVE sc star *   sc star~ sc star0b sc star3 sc star5 sc star6 sc star9h sc star9s sc star9t setenv NNTPSERVER news.newsguy.com sh   install-sh siggen slrn sort  femina2 sort   < serials1 | uniq > serials2 sort < tca4.txt | uniq > tca5.txt streamripper http ./strip sudo apt install dosemu sudo   apt install dosemy sudo chown root napkin sudo chown teresita   napkin sudo find . -empty -exec chown -R teresita {} \; sudo   google-drive-ocamlfuse sudo gprename sudo mc sudo rm -rf   CIE95 sudo rm -rf TC sudo rm -rf WEBSTERS sudo su surfraw surfraw http surfraw www.google.com ./td td drwho td   --help td print textdraw textdraw --help timidity --help timidity -Oogg Prokofiev5-2.wav ProkofievSymphonyNo5_2GM.mid timidity -Ow Prokofiev5-2.wav ProkofievSymphonyNo5_2GM.mid * timidity ProkofievSymphonyNo5_2GM.mid tin tina tin -r touch strip touch urls touch yesloop tr [a-z] [A-Z]  tree.txt tr ' ' \\n trn4 tr ' ' \\n  yesh2.txt tr ' ' \\n  yesh2.txt tweeper tweeper --help umount /media/teresita/cdrom uname uname -a uname --help /usr/bin/tweeper -h * /usr/bin/tweeper --help /usr/bin/tweeper https vifm vifm --help virtualbox w3m w3m vba.miraheze.org w3m www.bing.com w3m www.cleanposts.com ./w7lxe.exe wordgrinder xcircuit * xfe xmountains y yes --help ./yesloop ytree
 * chown -R teresita luke
 * fbless --help
 * files
 * find . -depth -name "*.*" -exec sh -c 'f="{}";
 * find . -empty -exec ls -l {} \;
 * grep bin
 * grep bin >
 * rm Craig
 * s *

"[6]http://www.cleanposts.com/index.php/Bash20200208"

Bash

Contents

[6]1 Convert .avi video files to smaller .mp4 format [7]2    Convert GIFs from Twitter that download as MP4s back into uploadable GIFs again [8]3 Convert man page to text file [9]4    Convert RPM package to DEB package [10]5 Convert text files from MS-DOS format to UNIX format [11]6 Convert WordStar files to plain text [12]7 Copy a file [13]8 Create a custom command to list files [14]9 Create a directory using today's date * [15]10 Create a file and a directory with unique names from the system clock [16]11 Create a link [17]12 Remove empty directories under the working directory [18]13 Display all subdirectories in a tree format [19]14 Display time since boot [20]15 Display unique lines in a sorted file [21]16 Download streaming videos and convert them to MP3s [22]17 Extract audio from any video file [23]18 Extract gzip compressed tar archives [24]19 Extract pages from a PDF to build a new PDF [25]20    Extract tarball [26]21 Find duplicates on your filesystem * [27]22 Find files by name [28]23 Find man page for a command [29]24 Find ten biggest hogs of disk space under a directory [30]25 Find text in a file [31]26 Format floppy disk * [32]27 Generate a pdf from a man page [33]28 Generate a random password [34]29 Get a weather forecast for your city [35]30    Get information about all files of a certain type [36]31 Get the sizes of all subdirectories under a directory [37]32 Get your public IP address [38]33 Grab a copy of a website [39]34    List primes between 2 and any number [40]35 List the misspelled words in a file [41]36 Make a file executable for all users * [42]37 Make a file lowercase [43]38 Make all filenames in a    directory lowercase [44]39 Make a new file of the individual words in another file [45]40 Make an image of a CD on your hard drive [46]41 Make archive [47]42 Make directories for 36 months using brace expansion: [48]43 Make ISO from temp directory [49]44 Make the ls command print in a tree format * [50]45 Make the ls command useful for a change [51]46 Make the text in a file all uppercase [52]47 Mount that image on your system to use it [53]48 Mount your SquashFS file [54]49 Move all files starting with "B" into the b subdirectory [55]50    Move all the .jpg images from one folder to another folder, recursively [56]51 MP3 to WAV conversion [57]52 Perform a    ROT 13 conversion [58]53 Prime factors of first 100 integers [59]54 Print a complete date-time group [60]55 Print the current month in Julian dates [61]56 Recursively move mp3 files in many directories to a single target directory [62]57    Rename all files with extension .OUT with the extension .txt * [63]58 Rename in bulk [64]59 Replace spaces in a filename with hyphens [65]60 Replace spaces in the filename of all the files in a directory with hyphens [66]61 Return pi to the number of    digits specified on the command line (Answer grows more accurate     the longer the fractional part) [67]62 Return the name of the most-recently modified file in a directory [68]63 Run the last command again as root [69]64 Send a man page to the terminal minus the embedded backspace characters [70]65 Tally up a    column of figures [71]66 Turn a directory into a SquashFS file [72]67 Turn the capslock key into a second ESC key [73]68    Upload a file to your webspace [74]69 Use imagemagick to take a    screen shot [75]70 Use CUPS printer management system [76]71    Use the command line as a quick calculator

Convert .avi video files to smaller .mp4 format

ffmpeg -i 'U2 - New Years Day.avi' 'U2 - New Years Day.mp4'

Convert GIFs from Twitter that download as MP4s back into uploadable GIFs again

ffmpeg -y -i input.mp4 -filter_complex "scale=320:-1:flags=lanczos[x];[x]split[x1][x2];  [x1]palettegen[p];[x2][p]paletteuse" output.gif

Convert man page to text file

man concalc | col -bx >concalc.txt

Convert RPM package to DEB package

alien file.rpm

Convert text files from MS-DOS format to UNIX format

tr -d '\r' mule.txt

Convert WordStar files to plain text

cat rubymae.ws | tr -c '[:print:]\t\r\n' '[ *]' >rubymae.txt

Copy a file

cp INFILE OUTFILE

Create a custom command to list files

alias l = 'ls -l --color=auto'

Create a directory using today's date

mkdir $(date +%Y%m%d)

Create a file and a directory with unique names from the system clock

touch "$(date +"%y%m%d%H%M%S")";sleep 1; mkdir "$(date  +"%y%m%d%H%M%S")"

Create a link

ln -s /initrd/mnt/dev_ro2 HOME

Remove empty directories under the working directory

find. -empty -exec rm -rf {} \;

Display all subdirectories in a tree format

ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\///g' -e 's/^//' -e 's/-/|/'

Display time since boot

uptime

Display unique lines in a sorted file

uniq FILE2

Download streaming videos and convert them to MP3s

sudo curl -L [77]https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl sudo chmod a+x /usr/local/bin/youtube-dl youtube-dl --title --extract-audio --audio-format mp3 [78]https://www.youtube.com/watch?v=L3FmBjX-p0I

Extract audio from any video file

ffmpeg -i Pet-Shop-Boys---West-End-Girls.mp4 -vn west-end-girls.ogg

Extract gzip compressed tar archives

gunzip progs.tar.gz tar xvf progs.tar

Extract pages from a PDF to build a new PDF

ps2pdf -dFirstPage=4 -dLastPage=8 input.pdf output.pdf

Extract tarball

tar -xvf /dev/hda/FILE

Find duplicates on your filesystem

duff -r *

Find files by name

find. -name *wav -print

Find man page for a command

whereis -m genisoimage genisoimage: /usr/share/man/man1/genisoimage.1.gz

Find ten biggest hogs of disk space under a directory

du -s /usr/share/* | sort -nr | head

Find text in a file

awk 'chevy' cars.txt

Format floppy disk

fdformat /dev/sde

Generate a pdf from a man page

man -t vim | ps2pdf - > vim.pdf

Generate a random password

openssl rand -base64 12

FRYSkfIikVA7AuNm

openssl rand -base64 24

l8Ht0b83wCAnH95izexZStOW73IqH/Mz

Get a weather forecast for your city

curl wttr.in/seattle

Get information about all files of a certain type

find. -name *com -exec file {} \;

Get the sizes of all subdirectories under a directory

du -sh MYDIR

Get your public IP address

curl ifconfig.me; echo

Grab a copy of a website

wget -w9 -r --random-wait -l3 -np -E [79]https://rosettacode.org/wiki/Rosetta_Code

List primes between 2 and any number

-f 1) r=$(factor $i | cut -d : -f 2 | sed 's/ //g') if (( $l == $r ));then echo $i fi done
 * 1) !/bin/bash for (( i=2; i<=$1; i++ ));do l=$(factor $i | cut -d :

List the misspelled words in a file

enchant -l matthew

Make a file executable for all users

chmod u+x FILE

Make a file lowercase

cat FILE1.TXT | tr '[A-Z]' '[a-z]' > FILE2.TXT

Make all filenames in a directory lowercase

$x | tr '[A-Z]' '[a-z]'` if [ $lc != $x ]; then mv -i $x $lc fi done
 * 1) !/bin/bash for x in `ls` do if [ ! -f $x ]; then continue fi lc=`echo

paste into file called lowerit chmod u+x lowerit ./lowerit

Make a new file of the individual words in another file

tr ' ' '\012' OUTFILE

or for WORD in `cat FILE` do echo $WORD done

Make an image of a CD on your hard drive

dd if=/dev/sr0 of=image.iso

Make archive

tar -c DIRECTORY | bzip2 > DIR.TAR.BZ2

Make directories for 36 months using brace expansion:

mkdir {2021..2023}-{01..12}

Make ISO from temp directory

genisoimage -r -joliet-long -o files1.iso temp

Make the ls command print in a tree format

alias tree="ls -R | grep ":$" | sed -e 's/:$//' -e  's/[^-][^\/]*\//--/g' -e 's/^//' -e 's/-/|/'"

Make the ls command useful for a change

alias ls='ls -lhGpt --color=always'

Make the text in a file all uppercase

cat testa.txt | tr '[a-z]' '[A-Z]' > testb.txt

Mount that image on your system to use it

(The mount point must already exist) mount -o loop image.iso /mnt/temp

Mount your SquashFS file

mount -o loop -t squashfs PUP_412.SFS /mnt/pup

Move all files starting with "B" into the b subdirectory

find -name "B*.*" -exec mv {} b \;

Move all the .jpg images from one folder to another folder, recursively

find www.cleanposts.com -type f -name *.jpg -exec mv '{}' /home/teresita/Downloads \;

MP3 to WAV conversion

madplay --output=wave:OCEANLAB.WAV OCEANLAB.MP3

Perform a ROT 13 conversion


 * 1) !/bin/sh echo "$1" | tr '[A-Za-z]' '[N-ZA-Mn-za-m]'

Prime factors of first 100 integers

echo {1..100} | factor

Print a complete date-time group

date '+%Y-%m-%d/%k:%M:%S'

Print the current month in Julian dates

cal -j

Recursively move mp3 files in many directories to a single target directory

find -name '*.mp3' -exec mv -i {} /home/minix/Desktop/music \;

Rename all files with extension .OUT with the extension .txt

rename 's/\.OUT$/.txt/' *

Rename in bulk

OLD=xxx NEW=yyy for F in $OLD* do SUFFIX=`expr $F : '$OLD\(.*\)'` mv $OLD$SUFFIX $NEW$SUFFIX done

Replace spaces in a filename with hyphens

find. -name "* *mp3" -exec rename 's/\ /-/g' {} \;

Replace spaces in the filename of all the files in a directory with hyphens

find. -name "* *mp3" -exec rename 's/\ /-/g' {} \;

Return pi to the number of digits specified on the command line (Answer grows more accurate the longer the fractional part)


 * 1) !/bin/bash echo "scale=$1;a(1)*4" | bc -l

Return the name of the most-recently modified file in a directory

$ ls -t | head -1

Run the last command again as root

sudo !!

Send a man page to the terminal minus the embedded backspace characters

man genisoimage | col -b | less

Tally up a column of figures

`basename $0` colnum [files]" 1>&2; exit 1;; esac awk '{sum += $col} END {print sum}' col=$colnum OFMT='%.2f' ${1+"$@"}
 * 1) ! /bin/sh case "$1" in [1-9]*) colnum="$1"; shift;; *) echo "Usage:

Turn a directory into a SquashFS file

mksquashfs /tmp/merge PUP_412.SFS

Turn the capslock key into a second ESC key

setxkbmap -option caps:escape

Upload a file to your webspace

wput MYFILE [80]ftp://username:password@web.host.com

Use imagemagick to take a screen shot

import screenshot.jpg

Use CUPS printer management system

localhost:631 (in a browser address bar)

Use the command line as a quick calculator

echo $((145+ - / % **                                           5))

Bc1

Contents

[6]1 Convert a floating point number to binary [7]2 Convert between numerical bases [8]3 Convert temperatures [9]4    Factorial function implemented by recursion [10]5 Use the arctangent function in bc to obtain pi to 1000 digits. [11]6    Recursive C function for the Fibonacci series, which calls itself twice in the same function [12]7 Return pi to the number of    digits specified on the command line (Answer grows more accurate     the longer the fractional part) [13]8 Power function (a ^ b) * [14]9 Trig functions

Convert a floating point number to binary

echo 'obase = 2; scale = 15; 3.141592653589793' | bc -l

Convert between numerical bases

"dec2hex=";echo "obase=16;$1"|bc printf "oct2dec=";echo "ibase=8;$1"|bc printf "dec2oct=";echo "obase=8;$1"|bc
 * 1) !/bin/bash printf "hex2dec=";echo "ibase=16;$1"|bc printf

Convert temperatures

"scale=1;($1*(9/5))+32" | bc -l) echo -e "\n\e[1;30m=$c C & $f F\e[0m\n"
 * 1) !/bin/bash c=$(echo "scale=1;($1-32)*(5/9)" | bc -l) f=$(echo

Factorial function implemented by recursion

define fact(n) { if (n <= 1) return (n); return (n fact(n-1)); }

Use the arctangent function in bc to obtain pi to 1000 digits.

bc 1.07.1

Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.

This is free software with ABSOLUTELY NO WARRANTY.

For details type `warranty'.

scale=1000

4*a(1)

3.141592653589793238462643383279502884197169399375105820974944592307\

81640628620899862803482534211706798214808651328230664709384460955058\

22317253594081284811174502841027019385211055596446229489549303819644\

28810975665933446128475648233786783165271201909145648566923460348610\

45432664821339360726024914127372458700660631558817488152092096282925\

40917153643678925903600113305305488204665213841469519415116094330572\

70365759591953092186117381932611793105118548074462379962749567351885\

75272489122793818301194912983367336244065664308602139494639522473719\

07021798609437027705392171762931767523846748184676694051320005681271\

45263560827785771342757789609173637178721468440901224953430146549585\

37105079227968925892354201995611212902196086403441815981362977477130\

99605187072113499999983729780499510597317328160963185950244594553469\

08302642522308253344685035261931188171010003137838752886587533208381\

42061717766914730359825349042875546873115956286388235378759375195778\

18577805321712268066130019278766111959092164201988

quit

Recursive C function for the Fibonacci series, which calls itself   n twice i the same functio                                             n

define fibonacci(n) {if((n==1)||(n==0)) {return(n);} else {return(fibonacci(n-1) +fibonacci(n-2));}}

scale=10

fibonacci(20) / fibonacci(19)

1.6180339631

Return pi to the number of digits specified on the command line (Answer grows more accurate the longer the fractional part)


 * 1) !/bin/bash echo "scale=$1;a(1)*4" | bc -l

Power function (a ^ b)

define pow(a, b) { if (scale(b) == 0) { return a ^ b; } return e(b*l(a)); }

Trig functions

scale = 50 p = 4 a(1) /* pi */ d = p / 180 /* one degree in radians

Using radians:

" sin(-pi / 6) = "; s(-p / 6 cos(3 pi / 4) = "; c(3 p / 4 tan(pi) " / 3) = "; t(p / 3 asin(-1 / 2) = "; y(-1 / 2 acos(-sqrt(2) / 2) = ) " "; x(-sqrt(2) / 2 atan(sqrt(3)) = "; a(sqrt(3)                    )

"Using degrees: " " sin(-30) = "; s(-30 d) cos(135) = "; c(135 d) tan(60) = "; " t(60 d) asin(-1 / 2) = "; y(-1 / 2) / d acos(-sqrt(2) / 2) = "; "  x(-sqrt(2) / 2) / d atan(sqrt(3)) = "; a(sqrt(3)) / d

Bc1

Contents

[6]1 Convert a floating point number to binary [7]2 Convert between numerical bases [8]3 Convert temperatures [9]4    Factorial function implemented by recursion [10]5 Use the arctangent function in bc to obtain pi to 1000 digits. [11]6    Recursive C function for the Fibonacci series, which calls itself twice in the same function [12]7 Return pi to the number of    digits specified on the command line (Answer grows more accurate     the longer the fractional part) [13]8 Power function (a ^ b) * [14]9 Trig functions

Convert a floating point number to binary

echo 'obase = 2; scale = 15; 3.141592653589793' | bc -l

Convert between numerical bases

"dec2hex=";echo "obase=16;$1"|bc printf "oct2dec=";echo "ibase=8;$1"|bc printf "dec2oct=";echo "obase=8;$1"|bc
 * 1) !/bin/bash printf "hex2dec=";echo "ibase=16;$1"|bc printf

Convert temperatures

"scale=1;($1*(9/5))+32" | bc -l) echo -e "\n\e[1;30m=$c C & $f F\e[0m\n"
 * 1) !/bin/bash c=$(echo "scale=1;($1-32)*(5/9)" | bc -l) f=$(echo

Factorial function implemented by recursion

define fact(n) { if (n <= 1) return (n); return (n fact(n-1)); }

Use the arctangent function in bc to obtain pi to 1000 digits.

bc 1.07.1

Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.

This is free software with ABSOLUTELY NO WARRANTY.

For details type `warranty'.

scale=1000

4*a(1)

3.141592653589793238462643383279502884197169399375105820974944592307\

81640628620899862803482534211706798214808651328230664709384460955058\

22317253594081284811174502841027019385211055596446229489549303819644\

28810975665933446128475648233786783165271201909145648566923460348610\

45432664821339360726024914127372458700660631558817488152092096282925\

40917153643678925903600113305305488204665213841469519415116094330572\

70365759591953092186117381932611793105118548074462379962749567351885\

75272489122793818301194912983367336244065664308602139494639522473719\

07021798609437027705392171762931767523846748184676694051320005681271\

45263560827785771342757789609173637178721468440901224953430146549585\

37105079227968925892354201995611212902196086403441815981362977477130\

99605187072113499999983729780499510597317328160963185950244594553469\

08302642522308253344685035261931188171010003137838752886587533208381\

42061717766914730359825349042875546873115956286388235378759375195778\

18577805321712268066130019278766111959092164201988

quit

Recursive C function for the Fibonacci series, which calls itself   n twice i the same functio                                             n

define fibonacci(n) {if((n==1)||(n==0)) {return(n);} else {return(fibonacci(n-1) +fibonacci(n-2));}}

scale=10

fibonacci(20) / fibonacci(19)

1.6180339631

Return pi to the number of digits specified on the command line (Answer grows more accurate the longer the fractional part)


 * 1) !/bin/bash echo "scale=$1;a(1)*4" | bc -l

Power function (a ^ b)

define pow(a, b) { if (scale(b) == 0) { return a ^ b; } return e(b*l(a)); }

Trig functions

scale = 50 p = 4 a(1) /* pi */ d = p / 180 /* one degree in radians

Using radians:

" sin(-pi / 6) = "; s(-p / 6 cos(3 pi / 4) = "; c(3 p / 4 tan(pi) " / 3) = "; t(p / 3 asin(-1 / 2) = "; y(-1 / 2 acos(-sqrt(2) / 2) = ) " "; x(-sqrt(2) / 2 atan(sqrt(3)) = "; a(sqrt(3)                    )

"Using degrees: " " sin(-30) = "; s(-30 d) cos(135) = "; c(135 d) tan(60) = "; " t(60 d) asin(-1 / 2) = "; y(-1 / 2) / d acos(-sqrt(2) / 2) = "; "  x(-sqrt(2) / 2) / d atan(sqrt(3)) = "; a(sqrt(3)) / d

Bc

Convert a floating point number to binary

echo 'obase = 2; scale = 15; 3.141592653589793' | bc -l

Convert temperatures

"scale=1;($1*(9/5))+32" | bc -l) echo -e "\n\e[1;30m=$c C & $f F\e[0m\n"
 * 1) !/bin/bash c=$(echo "scale=1;($1-32)*(5/9)" | bc -l) f=$(echo

Factorial function implemented by recursion

define fact(n) { if (n <= 1) return (n); return (n fact(n-1));

Biblecli

BIBLE

bible(KJV) [Jn3:16]> ??tarsus

Searching for 'tarsus'... [5 refs]

bible(KJV) [Jn3:16]> ?list

References [5]: Ac9:11 Ac9:30 Ac11:25 Ac21:39 Ac22:3

bible(KJV) [Jn3:16]> ?view

Viewing References [5]:

Acts 9

11 And the Lord said unto him, Arise, and go into the street which is called Straight, and enquire in the house of Judas for one called Saul, of Tarsus: for, behold, he prayeth,

30 Which when the brethren knew, they brought him down to Caesarea, and sent him forth to Tarsus.

Acts 11

25 Then departed Barnabas to Tarsus, for to seek Saul:

Acts 21

39 But Paul said, I am a man which am a Jew of Tarsus, a city in  Cilicia, a citizen of no mean city: and, I beseech thee, suffer me   to speak unto the people.

Acts 22

3 I am verily a man which am a Jew, born in Tarsus, a city in  Cilicia, yet brought up in this city at the feet of Gamaliel, and taught according to the perfect manner of the law of the fathers, and was zealous toward God, as ye all are this day.

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Binfiles

/usr/bin

2to3-2.7: Python2 to Python3 converter * add-apt-repository:Adds a repository into the /etc/apt/sources.list or /etc/apt/sources aiksaurus: English-language thesaurus alpine: an Alternatively Licensed Program for Internet News and Email apropos: search the manual page names and descriptions apt: command-line interface * apt-cache: query the APT cache apt-cdrom: APT CD-ROM management utility apt-get: APT package handling utility:- command-line interface aptitude: high-level interface to the package manager ar: create, modify, and extract from archives arch: print machine hardware name (same as uname -m) as: the portable GNU assembler. aspell: interactive spell checker aspell-import: import old personal dictionaries into GNU Aspell astcosmiccal: estimate cosmological values awk: pattern scanning and processing language baobab: A graphical tool to analyze disk usage basename: strip directory and suffix from filenames * bc: An arbitrary precision calculator language cal: displays a    calendar and the date of Easter catfish: File searching tool which is configurable via the command line catman: create or    update the pre-formatted manual pages cc: GNU project C and C++ compiler charmap: Unicode character picker and font browser clear: clear the terminal screen column: columnate lists convert: convert between image formats as well as resize an    image, blur, crop... cpp: The C Preprocessor crontab: tables for driving cron curl: transfer a URL cut: remove sections from each line of files dc: an arbitrary precision calculator dia: a diagram drawing program diff: compare files line by line dircolors: color setup for ls dirname: strip last component from file name display: displays an image or image sequence on any X server. dpkg: package manager for Debian * du: estimate file space usage eject: eject removable media elinks: lynx-like alternative character mode WWW browser * enchant: a spellchecker ex: Vi IMproved, a programmer's text editor expr: evaluate expressions factor: factor numbers * ffmpeg: ffmpeg video converter ffplay: FFplay media player * file: determine file type find: search for files in a directory hierarchy firefox: a free and open source web browser from Mozilla free: Display amount of free and used memory in the system ftp: Internet file transfer program gcc: GNU project C and C++ compiler gftp: file transfer client for *NIX based machines. gimp: an image manipulation and paint program. *    gnome-calculator: a desktop calculator gnome-disks: the GNOME Disks application gnome-screenshot: capture the screen, a    window, or an user-defined area and save the snap. hexdump: ASCII, decimal, hexadecimal, octal dump info: readable online documentation join: join lines of two files on a common field ld: The GNU linker less: opposite of more libreoffice: LibreOffice office suite lsmem: list the ranges of available memory with their online status lsof: list open files * madplay: decode and play MPEG audio stream(s) make: GNU make utility to maintain groups of programs man: macros to format man pages mc: Visual shell for Unix-like systems. mcedit: Internal file editor of GNU Midnight Commander. mkdiskimage: Create a blank MS-DOS formatted hard disk image mogrify: resize an image, blur, crop, despeckle, dither, draw on, flip, join, re... mogrify-im6: resize an image, blur, crop, despeckle, dither, draw on, flip, join, re... mplayer: movie player * nl: number lines of files ogg123: plays Ogg Vorbis files * oggdec: simple decoder, Ogg Vorbis file to PCM audio file (Wave    or RAW). oggenc: encode audio into the Ogg Vorbis format * pan: a GTK+ based news reader par: filter for reformatting paragraphs passwd: change user password paste: merge lines of files pdf2ps: Ghostscript PDF to PostScript translator pdftohtml: program to convert PDF files into HTML, XML and PNG images pdftotext: Portable Document Format (PDF) to text converter (version 3.03) perl: The Perl 5 language interpreter prename: renames multiple files ps2pdf: Convert PostScript to    PDF using ghostscript psc: prepare sc files pstree: display a tree of processes pulseaudio: The PulseAudio Sound System * python: an interpreted, interactive, object-oriented programming language rename: renames multiple files sc: spreadsheet calculator seq: print a sequence of numbers sftp: secure file transfer program shuf: generate random permutations sort: sort lines of text files sox: Sound eXchange, the Swiss Army knife of audio manipulation startx: initialize an X session * streamripper: rip shoutcast radio streams to mp3 files strings: print the strings of printable characters in files. tail: output the last part of files tee: duplicating pipe content top: display Linux processes touch: change file timestamps uniq: report or omit repeated lines unrar: extract files from rar archives vi: Vi IMproved, a programmer's text editor vim: Vi IMproved, a programmer's text editor virtualbox: x86 virtualization solution vlc: the VLC media player w3m: a text based web browser and pager wc: print newline, word, and byte counts for each file wcalc: a natural-expression command-line calculator weather: command-line tool to obtain weather conditions and forecasts weather-util: command-line tool to obtain weather conditions and forecasts wget: The non-interactive network downloader. whatis: display one-line manual page descriptions whereis: locate the binary, source, and manual page files for a command which: locate a command * who: show who is logged on whoami: print effective userid * wodim: write data to optical disk media www-browser: lynx-like alternative character mode WWW browser xaos: Fast interactive real-time fractal zoomer/morpher xargs: build and execute command lines from standard input xcalc: scientific calculator for X xclip: command line interface to X selections (clipboard) xclipboard: X clipboard client xclip-copyfile: copy and move files via the X clipboard xclip-cutfile: copy and move files via the X clipboard xclip-pastefile: copy and move files via the X clipboard yacc: GNU Project parser generator yelp: browse system documentation yes: output a string repeatedly until killed zip: package and compress (archive) files

/bin

archdetect: detect hardware architecture bash: GNU Bourne-Again SHell brltty: refreshable braille display driver for Linux/Unix btrfs: a toolbox to manage btrfs filesystems btrfs: topics about the BTRFS filesystem (mount options,    supported file attrib... btrfsck: check or repair a btrfs     filesystem btrfs-debug-tree: query various internal information btrfs-find-root: filter to find btrfs root btrfs-image:     create/restore an image of the filesystem btrfs-map-logical:     map btrfs logical extent to physical extent btrfs-select-super:     overwrite primary superblock with a backup copy btrfstune:     tune various filesystem parameters btrfs-zero-log: Recover     a damaged btrfs filesystem bunzip2: a block-sorting file     compressor, v1.0.6 busybox: The Swiss Army Knife of Embedded     Linux bzcat: decompresses files to stdout bzcmp: compare     bzip2 compressed files bzdiff: compare bzip2 compressed files bzegrep: search possibly bzip2 compressed files for a regular     expression bzexe: compress executable files in place bzfgrep:     search possibly bzip2 compressed files for a regular expression bzgrep: search possibly bzip2 compressed files for a regular expression bzip2: a block-sorting file compressor, v1.0.6 * bzip2recover: recovers data from damaged bzip2 files bzless: file perusal filter for crt viewing of bzip2 compressed text * bzmore: file perusal filter for crt viewing of bzip2 compressed text cat: concatenate files and print on the standard output * chacl: change the access control list of a file or directory * chgrp: change group ownership chmod: change file mode bits * chmod: change permissions of a file chown: change file owner and group chown: change ownership of a file chvt: change foreground virtual terminal cp: copy files and directories * cpio: copy files to and from archives dash: command interpreter (shell) date: print or set the system date and time dd: convert and copy a file df: report file system disk space usage dir: list directory contents dmesg: print or control the kernel ring buffer dnsdomainname: show the system's DNS domain name domainname: show or set the system's NIS/YP domain name dumpkeys: dump keyboard translation tables echo: display a line of text red: line-oriented text editor ed: line-oriented text editor efibootdump: dump a boot entries from a variable or a file efibootmgr: manipulate the EFI Boot Manager egrep: print lines matching a pattern false: do    nothing, unsuccessfully fgconsole: print the number of the active VT. fgrep: print lines matching a pattern findmnt: find a filesystem fsck.btrfs: do nothing, successfully fuser: identify processes using files or sockets fusermount: unmount FUSE filesystems getfacl: get file access control lists grep: print lines matching a pattern gunzip: compress or expand files gzexe: compress executable files in place gzip: compress or expand files hciconfig: configure Bluetooth devices * hostname: Local hostname configuration file hostname: hostname resolution description hostname: show or set the system's    host name ip: show / manipulate routing, network devices, interfaces and tunnels ip: Linux IPv4 protocol implementation journalctl: Query the systemd journal kbd_mode: report or    set the keyboard mode keyctl: Key management facility control keyctl: manipulate the kernel's key management facility * kill: send a signal to a process kill: send signal to a    process kmod: Program to manage Linux Kernel modules less: opposite of more lessecho: expand metacharacters lessfile: "input preprocessor" for less. lesskey: specify key bindings for less lesspipe: "input preprocessor" for less. ln: make links between files loadkeys: load keyboard translation tables login: begin session on the system login: write utmp and wtmp entries loginctl: Control the systemd login manager * lowntfs-3g: Third Generation Read/Write NTFS Driver ls: list directory contents lsblk: list block devices lsmod: Show the status of modules in the Linux Kernel mkdir: make directories * mkdir: create a directory mkfs.btrfs: create a btrfs filesystem mknod: make block or character special files mknod: create a special or ordinary file mktemp: create a temporary file or    directory mktemp: make a unique temporary filename more: file perusal filter for crt viewing mount: mount a filesystem mount: mount filesystem mountpoint: see if a directory or    file is a mountpoint mt: control magnetic tape drive operation mt-gnu: control magnetic tape drive operation mv: move (rename) files nano: Nano's ANOther editor, an enhanced free Pico clone nc: arbitrary TCP and UDP connections and listens nc.openbsd: arbitrary TCP and UDP connections and listens * netcat: arbitrary TCP and UDP connections and listens netstat: Print network connections, routing tables, interface statistics, masque... networkctl: Query the status of network links * nisdomainname: show or set the system's NIS/YP domain name * ntfs-3g: Third Generation Read/Write NTFS Driver ntfs-3g.probe: Probe an NTFS volume mountability ntfscat: print NTFS files and streams on the standard output ntfscluster: identify files in a specified region of an NTFS volume. ntfscmp: compare two NTFS filesystems and tell the differences ntfsfallocate: preallocate space to a file on an NTFS volume ntfsfix: fix common errors and force Windows to check NTFS ntfsinfo: dump a    file's attributes ntfsls: list directory contents on an NTFS filesystem ntfsrecover: Recover updates committed by Windows on an NTFS volume ntfssecaudit: NTFS Security Data Auditing * ntfstruncate: truncate a file on an NTFS volume ntfsusermap: NTFS Building a User Mapping File ntfswipe: overwrite unused space on an NTFS volume open: start a program on a new virtual terminal (VT). open: open and possibly create a file openvt: start a program on a new virtual terminal (VT). pidof: find the process ID of a running program. ping: send ICMP ECHO_REQUEST to network hosts ping4: send ICMP ECHO_REQUEST to network hosts ping6: send ICMP ECHO_REQUEST to network hosts plymouth: A    graphical boot system and logger plymouth: Send commands to    plymouthd ps: report a snapshot of the current processes. *    pwd: print name of current/working directory rbash: restricted bash, see bash readlink: print resolved symbolic links or    canonical file names readlink: read value of a symbolic link * tc-red: Random Early Detection rm: remove files or directories rmdir: remove empty directories rmdir: delete a directory * rnano: a restricted nano run-parts: run scripts or programs in    a directory sed: stream editor for filtering and transforming text setfacl: set file access control lists setfont: load EGA/VGA console screen font setupcon: sets up the font and the keyboard on the console sh: command interpreter (shell) sh.distrib: command interpreter (shell) sleep: delay for a    specified amount of time sleep: sleep for a specified number of seconds ss: another utility to investigate sockets stty: change and print terminal line settings stty: unimplemented system calls su: change user ID or become superuser sync: Synchronize cached writes to persistent storage sync: commit filesystem caches to disk systemctl: Control the systemd system and service manager systemd: systemd system and service manager systemd-ask-password: Query the user for a system password systemd-escape: Escape strings for usage in systemd unit names systemd-hwdb: hardware database management tool systemd-inhibit: Execute a program with an inhibition lock taken systemd-machine-id-setup: Initialize the machine ID in    /etc/machine-id systemd-notify: Notify service manager about start-up completion and other daemon statu... systemd-sysusers: Allocate system users and groups systemd-tmpfiles: Creates, deletes and cleans up volatile and temporary files and directo... systemd-tty-ask-password-agent: List or process pending systemd password requests tar: an archiving utility tempfile: create a temporary file in a safe manner touch: change file timestamps true: do nothing, successfully udevadm: udev management tool ulockmgr_server: Lock Manager Server for FUSE filesystems * umount: unmount file systems umount: unmount filesystem * uname: print system information uname: get name and information about current kernel uncompress: compress or expand files * unicode_start: put keyboard and console in unicode mode vdir: list directory contents wdctl: show hardware watchdog status which: locate a command whiptail: display dialog boxes from shell scripts ypdomainname: show or set the system's NIS/YP domain name zcat: compress or expand files zcmp: compare compressed files zdiff: compare compressed files zegrep: search possibly compressed files for a regular expression * zfgrep: search possibly compressed files for a regular expression zforce: force a '.gz' extension on all gzip files zgrep: search possibly compressed files for a regular expression * zless: file perusal filter for crt viewing of compressed text * zmore: file perusal filter for crt viewing of compressed text * znew: recompress .Z files to .gz files

Bwbasic

[6]File:Screenshot_2019-12-25_18-38-15.png ABS( number ) * ASC( string$ ) ATN( number ) CHAIN [MERGE] file-name [, line-number] [, ALL] CHR$( number ) CINT( number ) CLEAR CLOSE [[#]file-number]... COMMON variable [, variable...] *  COS( number ) CSNG( number ) CVD( string$ ) CVI( string$   ) CVS( string$ ) DATA constant[,constant]... DATE$ *   DEF FNname(arg...)] = expression DEFDBL letter[-letter](,   letter[-letter])... DEFINT letter[-letter](, letter[-letter])... DEFSNG letter[-letter](, letter[-letter])... DEFSTR   letter[-letter](, letter[-letter])... DELETE line[-line] *   DIM variable(elements...)[variable(elements...)]... END *   ENVIRON variable-string = string ENVIRON$( variable-string ) EOF( device-number ) ERASE variable[, variable]... ERL *   ERR ERROR number EXP( number ) FIELD [#] device-number,   number AS string-variable [, number AS string-variable...] FOR counter = start TO finish [STEP increment] GET   [#] device-number [, record-number] GOSUB line GOTO   line HEX$( number ) IF expression THEN statement [ELSE   statement] INPUT [# device-number]|[;]["prompt string";]list   of variables INSTR( [start-position,] string-searched$,   string-pattern$ ) INT( number ) KILL file-name LEFT$(   string$, number-of-spaces ) LEN( string$ ) LET variable =   expression LINE INPUT [[#] device-number,]["prompt string";]   string-variable$ LIST line[-line] LOAD file-name LOC(   device-number ) LOF( device-number ) LOG( number ) *   LSET string-variable$ = expression MERGE file-name MID$(   string$, start-position-in-string[, number-of-spaces ] ) MKD$(   double-value# ) MKI$( integer-value% ) MKS$( single-value!   ) NAME old-file-name AS new-file-name NEW NEXT counter *   OCT$( number ) ON variable GOTO|GOSUB line[,line,line,...] *   ON ERROR GOSUB line OPEN O|I|R, [#]device-number, file-name   [,record length]   [#]device-number [LEN = record-length] OPTION BASE number POS PRINT [# device-number,][USING format-string$;] expressions... PUT [#] device-number [, record-number] RANDOMIZE number *   READ variable[, variable]... REM string RESTORE line RETURN RIGHT$( string$, number-of-spaces ) RND( number ) RSET   string-variable$ = expression RUN [line][file-name] SAVE   file-name SGN( number ) SIN( number ) SPACE$( number ) *   SPC( number ) SQR( number ) STOP STR$( number ) STRING$(   number, ascii-value|string$ ) SWAP variable, variable SYSTEM TAB( number ) TAN( number ) TIME$ TIMER TROFF TRON *   VAL( string$ ) WEND WHILE expression WIDTH [# device-number,]   number WRITE [# device-number,] element [, element ]....
 * file-name FOR INPUT|OUTPUT|APPEND AS

Bwbasic

[6]File:Screenshot_2019-12-25_18-38-15.png ABS( number ) * ASC( string$ ) ATN( number ) CHAIN [MERGE] file-name [, line-number] [, ALL] CHR$( number ) CINT( number ) CLEAR CLOSE [[#]file-number]... COMMON variable [, variable...] *  COS( number ) CSNG( number ) CVD( string$ ) CVI( string$   ) CVS( string$ ) DATA constant[,constant]... DATE$ *   DEF FNname(arg...)] = expression DEFDBL letter[-letter](,   letter[-letter])... DEFINT letter[-letter](, letter[-letter])... DEFSNG letter[-letter](, letter[-letter])... DEFSTR   letter[-letter](, letter[-letter])... DELETE line[-line] *   DIM variable(elements...)[variable(elements...)]... END *   ENVIRON variable-string = string ENVIRON$( variable-string ) EOF( device-number ) ERASE variable[, variable]... ERL *   ERR ERROR number EXP( number ) FIELD [#] device-number,   number AS string-variable [, number AS string-variable...] FOR counter = start TO finish [STEP increment] GET   [#] device-number [, record-number] GOSUB line GOTO   line HEX$( number ) IF expression THEN statement [ELSE   statement] INPUT [# device-number]|[;]["prompt string";]list   of variables INSTR( [start-position,] string-searched$,   string-pattern$ ) INT( number ) KILL file-name LEFT$(   string$, number-of-spaces ) LEN( string$ ) LET variable =   expression LINE INPUT [[#] device-number,]["prompt string";]   string-variable$ LIST line[-line] LOAD file-name LOC(   device-number ) LOF( device-number ) LOG( number ) *   LSET string-variable$ = expression MERGE file-name MID$(   string$, start-position-in-string[, number-of-spaces ] ) MKD$(   double-value# ) MKI$( integer-value% ) MKS$( single-value!   ) NAME old-file-name AS new-file-name NEW NEXT counter *   OCT$( number ) ON variable GOTO|GOSUB line[,line,line,...] *   ON ERROR GOSUB line OPEN O|I|R, [#]device-number, file-name   [,record length]   [#]device-number [LEN = record-length] OPTION BASE number POS PRINT [# device-number,][USING format-string$;] expressions... PUT [#] device-number [, record-number] RANDOMIZE number *   READ variable[, variable]... REM string RESTORE line RETURN RIGHT$( string$, number-of-spaces ) RND( number ) RSET   string-variable$ = expression RUN [line][file-name] SAVE   file-name SGN( number ) SIN( number ) SPACE$( number ) *   SPC( number ) SQR( number ) STOP STR$( number ) STRING$(   number, ascii-value|string$ ) SWAP variable, variable SYSTEM TAB( number ) TAN( number ) TIME$ TIMER TROFF TRON *   VAL( string$ ) WEND WHILE expression WIDTH [# device-number,]   number WRITE [# device-number,] element [, element ]....
 * file-name FOR INPUT|OUTPUT|APPEND AS

Cacaview

CACAVIEW

Cacaview

CACAVIEW

Calcurse

appointment panel---. .---calendar panel | | v v ++++ Sun | | || 1 2 | | || 3 4 5 6 7 8 9 | | || 10 11 12 13 14 15 16 | panel | || | | | || | | | || |<--. | || | ++++ ]---(apts)> 01:20 :: lunch <---|<--. +--+ notify-bar | ? Help R Redraw H/L -/+1 Day G GoTo C Config | | Q Quit S Save J/K -/+1 Week Tab Chg View |<-. +--+ |
 * Appointments || Calendar |
 * (|) April 6, 2006 || April 2006 | | ||Mon Tue Wed Thu Fri Sat
 * (|) April 6, 2006 || April 2006 | | ||Mon Tue Wed Thu Fri Sat
 * || 17 18 19 20 21 22 23 | | || 24 25 26 27 28 29 30 | | || | |
 * || ToDo | todo | |||
 * || ToDo | todo | |||
 * ---[ Mon 2006-11-22 | 10:11:43
 * status bar

The first panel represents a calendar which allows to highlight a  particular day, the second one contains the list of the events and appointments on that day, and the last one contains a list of tasks to do but which are not assigned to any specific day.

Depending on the selected view, the calendar could either display a  monthly (default as shown in previous figure) or weekly view. The weekly view would look like the following:

++ | Calendar | |(# 13)--| | Mon Tue Wed Thu Fri Sat Sun | | 29 30 31 01 02 03 04 | | <+-- slice 1: 00:00 to 04:00 AM | -- -- -- -- -- -- | | <+-- slice 2: 04:00 to 08:00 AM  | -- -- -- -- -- -- | | <+-- slice 3: 08:00 to 12:00 AM | - -- -- -- -- -- -- - <-+-- midday | <+-- slice 4: 12:00 to  04:00 PM | -- -- -- -- -- -- | | <+-- slice 5: 04:00 to 08:00 PM | -- -- -- -- -- -- | | <+-- slice 6: 08:00 to 12:00 PM  ++

The current week number is displayed on the top-right side of the panel (# 13 meaning it is the 13th week of the year in the above  example). The seven days of the current week are displayed in  column. Each day is divided into slices of 4 hours each (6 slices  in total, see figure above). A slice will appear in a different color if an appointment falls into the corresponding time-slot.

In the appointment panel, one can notice the '(|)' sign just in  front of the date. This indicates the current phase of the moon. Depending on which is the current phase, the following signs can be  seen:

' |) ': first quarter

' (|) ': full moon

' (| ': last quarter

' | ': new moon

no sign: phase of the moon does not correspond to any of the above ones

At the very bottom of the screen there is a status bar, which indicates the possible actions and the corresponding keystrokes.

Just above this status bar is the notify-bar, which indicates from left to right : the current date, the current time, the calendar file currently in use (apts on the above example, which is the  default calendar file, see the following section), and the next appointment within the upcoming 24 hours. Here it says that it will be lunch time in one hour and twenty minutes.

Note: Some actions, such as editing or adding an item, require to  type in some text. This is done with the help of the built-in input line editor.

Within this editor, if a line is longer than the screen width, a '>', '*', or '<' character is displayed in the last column indicating that there are more character after, before and after, or before the current position, respectively. The line is scrolled horizontally as necessary.

Moreover, some editing commands are bound to particular control characters. Hereafter are indicated the available editing commands ('^' stands for the control key):

^a: moves the cursor to the beginning of the input line

^b: moves the cursor backward

^d: deletes one character forward

^e: moves the cursor to the end of the input line

^f: moves the cursor forward

^h: deletes one character backward

^k: deletes the input from the cursor to the end of the line

ESCAPE: cancels the editing

4.3 Background mode

When the daemon mode is enabled in the notification configuration menu (see Notify-bar settings), calcurse will stay in background when the user interface is not running. In background mode, calcurse checks for upcoming appointments and runs the user-defined notification command when necessary. When the user interface is  started again, the daemon automatically stops.

calcurse background activity can be logged (set the  notify-daemon_log variable in the notification configuration menu), and in that case, information about the daemon start and stop time, reminders' command launch time, signals received... will be written in the daemon.log file (see section files).

Using the --status command line option (see section Command line  arguments), one can know if calcurse is currently running in   background or not. If the daemon is running, a message like the following one will be displayed (the pid of the daemon process will  be shown):

calcurse is running in background (pid 14536)

Note: To stop the daemon, just send the TERM signal to it, using a  command such as: 'kill daemon_pid', where daemon_pid is the process id of the daemon (14536 in the above example). 4.4 calcurse files

The following structure is created in your $HOME directory (or in  the directory you specified with the -D option) the first time calcurse is run :

$HOME/.calcurse/ |___notes/ |___conf |___keys |___apts |___todo

notes/: this subdirectory contains descriptions of the notes which are attached to ap pointments, events or todos. One text file is created per note, whose name is bu ilt using mkstemp(3) and should be unique, but with no relation with the corresp onding item's description.

conf: this file contains the user configuration

keys: this file contains the user-defined key bindings

apts: this file contains all of the events and user's appointments

todo: his file contains the todo list

Note: If the logging of calcurse daemon activity was set in the notification configuration menu, the extra file daemon.log will appear in calcurse data directory. This file contains logs about (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Calcurse

appointment panel---. .---calendar panel | | v v ++++ Sun | | || 1 2 | | || 3 4 5 6 7 8 9 | | || 10 11 12 13 14 15 16 | panel | || | | | || | | | || |<--. | || | ++++ ]---(apts)> 01:20 :: lunch <---|<--. +--+ notify-bar | ? Help R Redraw H/L -/+1 Day G GoTo C Config | | Q Quit S Save J/K -/+1 Week Tab Chg View |<-. +--+ |
 * Appointments || Calendar |
 * (|) April 6, 2006 || April 2006 | | ||Mon Tue Wed Thu Fri Sat
 * (|) April 6, 2006 || April 2006 | | ||Mon Tue Wed Thu Fri Sat
 * || 17 18 19 20 21 22 23 | | || 24 25 26 27 28 29 30 | | || | |
 * || ToDo | todo | |||
 * || ToDo | todo | |||
 * ---[ Mon 2006-11-22 | 10:11:43
 * status bar

The first panel represents a calendar which allows to highlight a  particular day, the second one contains the list of the events and appointments on that day, and the last one contains a list of tasks to do but which are not assigned to any specific day.

Depending on the selected view, the calendar could either display a  monthly (default as shown in previous figure) or weekly view. The weekly view would look like the following:

++ | Calendar | |(# 13)--| | Mon Tue Wed Thu Fri Sat Sun | | 29 30 31 01 02 03 04 | | <+-- slice 1: 00:00 to 04:00 AM | -- -- -- -- -- -- | | <+-- slice 2: 04:00 to 08:00 AM  | -- -- -- -- -- -- | | <+-- slice 3: 08:00 to 12:00 AM | - -- -- -- -- -- -- - <-+-- midday | <+-- slice 4: 12:00 to  04:00 PM | -- -- -- -- -- -- | | <+-- slice 5: 04:00 to 08:00 PM | -- -- -- -- -- -- | | <+-- slice 6: 08:00 to 12:00 PM  ++

The current week number is displayed on the top-right side of the panel (# 13 meaning it is the 13th week of the year in the above  example). The seven days of the current week are displayed in  column. Each day is divided into slices of 4 hours each (6 slices  in total, see figure above). A slice will appear in a different color if an appointment falls into the corresponding time-slot.

In the appointment panel, one can notice the '(|)' sign just in  front of the date. This indicates the current phase of the moon. Depending on which is the current phase, the following signs can be  seen:

' |) ': first quarter

' (|) ': full moon

' (| ': last quarter

' | ': new moon

no sign: phase of the moon does not correspond to any of the above ones

At the very bottom of the screen there is a status bar, which indicates the possible actions and the corresponding keystrokes.

Just above this status bar is the notify-bar, which indicates from left to right : the current date, the current time, the calendar file currently in use (apts on the above example, which is the  default calendar file, see the following section), and the next appointment within the upcoming 24 hours. Here it says that it will be lunch time in one hour and twenty minutes.

Note: Some actions, such as editing or adding an item, require to  type in some text. This is done with the help of the built-in input line editor.

Within this editor, if a line is longer than the screen width, a '>', '*', or '<' character is displayed in the last column indicating that there are more character after, before and after, or before the current position, respectively. The line is scrolled horizontally as necessary.

Moreover, some editing commands are bound to particular control characters. Hereafter are indicated the available editing commands ('^' stands for the control key):

^a: moves the cursor to the beginning of the input line

^b: moves the cursor backward

^d: deletes one character forward

^e: moves the cursor to the end of the input line

^f: moves the cursor forward

^h: deletes one character backward

^k: deletes the input from the cursor to the end of the line

ESCAPE: cancels the editing

4.3 Background mode

When the daemon mode is enabled in the notification configuration menu (see Notify-bar settings), calcurse will stay in background when the user interface is not running. In background mode, calcurse checks for upcoming appointments and runs the user-defined notification command when necessary. When the user interface is  started again, the daemon automatically stops.

calcurse background activity can be logged (set the  notify-daemon_log variable in the notification configuration menu), and in that case, information about the daemon start and stop time, reminders' command launch time, signals received... will be written in the daemon.log file (see section files).

Using the --status command line option (see section Command line  arguments), one can know if calcurse is currently running in   background or not. If the daemon is running, a message like the following one will be displayed (the pid of the daemon process will  be shown):

calcurse is running in background (pid 14536)

Note: To stop the daemon, just send the TERM signal to it, using a  command such as: 'kill daemon_pid', where daemon_pid is the process id of the daemon (14536 in the above example). 4.4 calcurse files

The following structure is created in your $HOME directory (or in  the directory you specified with the -D option) the first time calcurse is run :

$HOME/.calcurse/ |___notes/ |___conf |___keys |___apts |___todo

notes/: this subdirectory contains descriptions of the notes which are attached to ap pointments, events or todos. One text file is created per note, whose name is bu ilt using mkstemp(3) and should be unique, but with no relation with the corresp onding item's description.

conf: this file contains the user configuration

keys: this file contains the user-defined key bindings

apts: this file contains all of the events and user's appointments

todo: his file contains the todo list

Note: If the logging of calcurse daemon activity was set in the notification configuration menu, the extra file daemon.log will appear in calcurse data directory. This file contains logs about (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Calibre

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Calmira

Calmira (freeware, download from [6]http://www.calmira.de/ ) gives Windows 3.1 the look and functionality of Windows 95. But the desktop is a pinboard rather than a folder in its own right. In  this way the GUI resembles Joe's Window Manager and [7]Rox, used in   Puppy Linux. All the icons on the Desktop are shortcuts. Calmira replaces the clunkly [8]Program Manager with the more intuitive "Start Button" paradigm, and includes a task bar complete with quick launch mini icons.

[9]ROOT

[10]Image:Arasan-thumb2.jpg

[11]Arasan

[12]Image:Coreldraw-thumb2.jpg

[13]Coreldraw

[14]Image:Fontmong-thumb2.jpg

[15]Fontmong

[16]Image:Lview-thumb.jpg

[17]Lview

[18]Image:Quickc-thumb.jpg

[19]Quickc

[20]Image:Vision-thumb.jpg

[21]Vision

[22]APPS [23]Assoc [24]DN [25]Grollier [26]MS Works [27]Reversi [28]Image:Vb-thumb.jpg

[29]VB

[30]DOCS [31]Basic [32]Drawplus [33]Icondraw [34]Netscape [35]SAW [36]Image:Websters-thumb.jpg

[37]Websters

[38]GAMES [39]Bookshelf [40]Explorer [41]Iconedit [42]Paint [43]Solitaire [44]Image:Winimage-thumb.jpg

[45]Win Image

[46]GRAPHICS [47]Calendar [48]Family [49]Keycad [50]Plife [[51]Stuffit 52]Image:Winsc-thumb.jpg

[53]WinSC

[54]MISC [55]Canvas [56]Fileview [57]Lifegen [58]Pool [59]Image:Thesaurus-thumb.jpg

[60]Thesaurus

[61]Wordstar 2]UTILS [63]Cardfile [64]Findpics [65]Lotto [66]PP [6[67]Trash 8]Image:Word-thumb.jpg

[69]Word

Cal

Print the current month in Julian dates

cal -j

Display last month, this month, and next month

Cal

Print the current month in Julian dates

cal -j

Display last month, this month, and next month

Cat

Add line numbers to a file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Cat

Add line numbers to a file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Cdw

Cdw

Chmod

Make a file executable for all users

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Chmod

Make a file executable for all users

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Chown

Change the owner of a directory and all its contents

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Chown

Change the owner of a directory and all its contents

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Cliapps

CLI Applications

Remote SSH console applications installed on the Cleanposts server: [6]abook Address book Access your contact information from any terminal [7]aiksaurus Text-mode thesaurus Example: aiksaurus brutal [8]bc Calculator with C syntax define factorial(n) {if (n <= 1) return (n); return (n factorial(n-1));} [9]bible Text-mode Bible "bot" See [10]Bible for commands [11]bwbasic Bywater Basic BASIC interpreter, see [12]bwbasic for commands and functions [13]cacaview Renders images using ASCII text and color [14]calcurse Calendar/appointments See [15]calcurse for detailed help information [16]cdw Linux console-based CD writing tool [17]cmus Linux text-based music player - [18]dosemu DOS emulator C:\ points to ~/.dosemu/c-drive, D:\ points to /home [19]dict Console-based dictionary Example: type dict syllogism [20]freesweep Minesweeper game Use space bar to expose a square [21]irssi IRC chat client Undernet: /connect Diemen.NL.EU.Undernet.Org [22]links Text-based web browser Type ESC to see pull-down menu [23]mathomatic Text-based algebra system [24]Mathomatic for detailed user guide [25]mc Orthodox (two panel) file manager See [26]mc for more information [27]nano Text editor [28]ncdu Interactive disk usage Based on Ncurses [29]newsboat RSS news aggregator [30]http://rss.slashdot.org/Slashdot/slashdotMain [31]sc Text-based spreadsheet See [32]sc for list of commands [33]vim Text-based editor VI, iMproved [34]w3m Text-based web browser With enhanced table rendering support [35]wordgrinder Word processor ESC for drop-down menu [36]ytree Text-based file manager Similar to the legendary X-tree Gold for MS-DOS.

Because I am an 1337 h4x0r and don't want to use anything (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Cmus

CMUS - Linux text-based music player __________________________________________________________________

CMus offers seven different views, which can be accessed using the 1-7 keys. 1. Library, the default view mode, including two tabs (artists/albums and songs in currently selected album) 2. Sorted Library, which provides a playlist view allowing to jump to specific tracks (this view can be customized in view mode 6  3. Playlist, editable playlist 4. Play Queue, which displays the   track queue 5. File Browser 6. Filters, a list of user-defined   filters for the library 7. Settings, which displays key bindings   and commands

Cmus

CMUS - Linux text-based music player __________________________________________________________________

CMus offers seven different views, which can be accessed using the 1-7 keys. 1. Library, the default view mode, including two tabs (artists/albums and songs in currently selected album) 2. Sorted Library, which provides a playlist view allowing to jump to specific tracks (this view can be customized in view mode 6  3. Playlist, editable playlist 4. Play Queue, which displays the   track queue 5. File Browser 6. Filters, a list of user-defined   filters for the library 7. Settings, which displays key bindings   and commands

Col

Convert man page to text file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Col

Convert man page to text file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Commands

alien FILE (default = .deb)

apt-get remove TEST

apt-get install TEST

apt-get clean

apt-get -f remove

apt-cache search TEST

awk 'NF >0' TEST (list non-blank lines)

at 4am (schedule job)

lpr intro

^D

alias l = 'ls -l --color=auto'

apropos TEST (search man pages)

banner TEST (print banner)

bc

ibase=10

obase=16

scale=5

sqrt(x)

x=x+y

for (i=1;i<10;i++) i*5

quit

bzip2 -dc DIR.TAR.BZ2 | tar x (extract)

gzip (for tar.gz files)

cal -y Year calendar

cal 12 1994

cal 1994 > YEAR.TXT

cal -j (julian dates)

cd (change directory)

cd - (last directory)

cat TEST (type file)

cat TEST | less (with pauses)

cat -n TEST (add line numbers)

cat FILE1 > FILE2 copy

cat FILE1 >>FILE2 append

cat FILE1 FILE2 FILE3 > ALL (merge)

cat FILE | tr '[A-Z]' '[a-z]' > FILE2 (make lowercase)

cdrecord new.iso

cp FILE1 FILE2 (copy)

chown -R teresita DIRECTORY (change owner)

chmod 700 FILE (set executable and Read/Write)

chmod u+x FILE (set executable for all users)

dd if=/dev/sr0 of=puppy.iso __________________________________________________________________

dd if=/dev/zero of=mydisk count=2048000

du -sh 1001M                                                mydisk

mkfs -t ext3 mydisk

mount -o loop mydisk /mnt/image __________________________________________________________________

didiwiki: (point browser to [6]http://localhost:8000/)

dir -C (six columns)

dir -R (recursive)

date (display date)

df / du (disk usage)

du -h (use human-readable output)

dirs (list of pushed directories)

diff FILE1 FILE2 (list differences)

eject /dev/sr0 (tray out)

eject -t (tray in)

factor 100 (prime factors)

ftp: rubyred:chayla@web.newsguy.com

mc: rubyred:chayla@web.newsguy.com/home/rubyred

free (free memory)

fsck /dev/sda1 (check disk)

grep -i 'hello' FILE.H (search, ignore case)

history (last commands typed)

kill %2 (stop job #2)

kill -9 PID (hard kill)

let "res=2*7" (set $res variable)

ln -s file link (across filesystems)

logout

lsof -u teresita (list open files)

ls (list files)

ls -l (details)

ls -C (columns)

ls -d (directories)

ls -F (file types, /=dir *=executable @=link)

ls -R (recursive)

ls -r (reverse)

mkdir (make directory)

mv FILE1 FILE2 FILE3...FILEn DIRECTORY (move)

mv FILE1 FILE2 (rename)

man mount (online documentation, q to quit)

mkisofs -r DIRECTORY | gzip > TEST.ISO.GZ (make iso)

mkisofs -r DIRECTORY > TEST.ISO

mount -o loop CDROM.ISO /mnt/directory (mount image)

mount -t ntfs /dev/hda1 /wind (mount C drive)

mount -t ext2 /dev/hdb1 /pup (mount linux drive)

mount /dev/sda1 /media/usb0 (mount USB stick)

mount /dev/hdb2 (mount hard drive)

mount /dev/hda /mnt/cdrom

mount --move /media/hda /mnt/cdrom

od -x FILE (hex dump)

od -c FILE (ascii dump)

od -d FILE (decimal dump)

passwd (modify user password)

pushd / popd (push/pop directories)

rmdir (delete directory)

rm FILE (delete directory)

rm -r TEMP (delete directory)

su password (become root)

shutdown -r (reboot)

sort FILE

sort -b (ignore leading blanks)

sort -f (consider lowercase as upper case)

sort -o (output filename)

sort -r (reverse)

sort -u (unique)

tail FILE (last line of file)

tar -xvf /dev/hda/file (extract tarball)

tar -c DIRECTORy | bzip2 > dir.tar.bz2 (make archive)

tar -jxvf firefox-3.0.5.tar.bz2

tar -cf /tmp/alex.tar literature

tar -cv /home/alex

timidity -Ow -obarry.wav barry331.mid

top (list of processes, q to quit)

tree (directory tree)

tr '<TAB', < FILE (change all tabs to commas)

uname -a (display version)

uptime (time since last boot)

umount /mnt/cdrom (unmount device)

uniq FILE1 (remove duplicate lines)

uniq -d (only repeats)

uniq -u (only non-repeats)

wc FILE (word count)

wc -w (only word count)

wget -mEkK [7]http://www.url.com

wget -pk [8]http://www.url.net

whoami

!! (run last command again)

localhost:631 (in browser, manage CUPS printers) __________________________________________________________________

Convert spaces in file names to hyphens:

find. -name "* *mp3" -exec rename 's/\ /-/g' {} \; __________________________________________________________________

Convert MP3s to WAVs and OGGs:

1. !/bin/bash

for FILE in *.mp3

do

OUTNAME="$FILE".wav

madplay --output=wave:"$OUTNAME" $FILE

done

oggenc *.wav

busybox commands: awk, cat, cp, diff, find, ftp, grep, heaed, ln, ls,

mkdir, more, mv, od, rm, rmdir, sort, tail, tar, uniq, wc, chgrp , chmod                                                            ,

chown, date, cd, df, du, kill, nice, who, touch, at, cal, calendar, cron-

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Concalc

CONCALC - Text-based calculator

echo "sin(pi/4)" | concalc

0.707106781186547524

Evaluate the integral of the function sin x from 0 to pi/3:

echo "integ(sinx,0,pi/3)" | concalc -o 10

0.5

CONCALC(1) User Commands CONCALC(1)

NAME concalc - console calculator

SYNOPSIS concalc [options] "expression"

concalc -m script "path"

DESCRIPTION concalc calculates the given input term and returns the result as text. Please use will have problems with the shell interpretor. If you give concalc mo re than one expression, all expression will be put together.

CALCULATION SYNTAX standard calculations 2*(3+4/9)^3

standard operations + - / ^ % sin cos tan asin acos atan sinh cosh tanh asinh acosh a tanh ln log & | ! && || ~ >> << x rnd sqrt curt root integ d/dx

sqare root and cubic root sqrt12 curt8

trigonometric functions and logarithms sin3.64+ln5

other roots fourth root of nine: 4root9

differential calculation differential calculation of 2x^2-3x+3 at x=9: d/dx(2x^2-3x+3,9)

integration integration of sinx+cosx between -1 and 3.2: integ(sinx+cosx,-1,3.2 )

set variables save the result of a calculation in variable A:     12*45/2->A

recall variables multiply the saved value with 2: A*2

use last result The last result is saved in the answer memory: ans+1

CONSTANTS e euler constant

pi pi; example: sin(pi/2)

NUMBERS standard 12.34

with exponent 12.23e-5

complex 12i-5

OPTIONS -o, --output [output length] The argument is a number between 2 and the maximal possible output length (norâ mally 18).

-m, --mode [calculator mode] The mode can be std (default, normal scientific calculatons), ba se (for logic functions and base-n calculatons) or script (for executing scripts). In scriptâ ing mode, the last argument must be the path to the script file.

-c, --complex This option enables complex numbers for the calculation. They are switched off by default.

-b, --base [calculator base] The argument must be one of hex (hexadecimal), dec (decimal, d efault), oct (octal) and bin (binary). This option can only be used when -m base is set.

-a, --angle [angle type] The argument must be one of deg (degrees), rad (radiant), gra (grad e).

-v, --version Output the version of Concalc.

-h, --help Outputs a short help.

SCRIPTING The script interpreter of calc uses a C-like programming syntax. The foll owing command are supported.

if expression

if(condition)

command for condition true;

else command for condition false;

while loop

while(condition)

command that is run while condition is true;

for loop

for(initialisation; condition; count-command) command that is run while condition is true;

print command

print( output to print out );

getline command

getline; // read a text line from stdin and returns this text

getkey command

getkey; // return the key pressed by the user // blocks until the user presses any key

keystate command

keystate; // returns the key pressed by the user or 0 if no key was pressed // nonblocking

sleep command

sleep( time in microseconds ); //Script is stops for the given time

compare operators

==, != equal, unequal

>=, <=, >, < greather or equal, less or equal, greather, less

set operators

-> calculator set operator

= C-like set operator

type converting

(float) floating point value

(int) integer value

(string) text value

(bool) boolean value

BUGS No bugs known!

If you find one, please report it by e-mail to the author.

AUTHOR Rainer Strobel 

SEE ALSO [6]http://extcalc-linux.sourceforge.net

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Concalc

CONCALC - Text-based calculator

echo "sin(pi/4)" | concalc

0.707106781186547524

Evaluate the integral of the function sin x from 0 to pi/3:

echo "integ(sinx,0,pi/3)" | concalc -o 10

0.5

CONCALC(1) User Commands CONCALC(1)

NAME concalc - console calculator

SYNOPSIS concalc [options] "expression"

concalc -m script "path"

DESCRIPTION concalc calculates the given input term and returns the result as text. Please use will have problems with the shell interpretor. If you give concalc mo re than one expression, all expression will be put together.

CALCULATION SYNTAX standard calculations 2*(3+4/9)^3

standard operations + - / ^ % sin cos tan asin acos atan sinh cosh tanh asinh acosh a tanh ln log & | ! && || ~ >> << x rnd sqrt curt root integ d/dx

sqare root and cubic root sqrt12 curt8

trigonometric functions and logarithms sin3.64+ln5

other roots fourth root of nine: 4root9

differential calculation differential calculation of 2x^2-3x+3 at x=9: d/dx(2x^2-3x+3,9)

integration integration of sinx+cosx between -1 and 3.2: integ(sinx+cosx,-1,3.2 )

set variables save the result of a calculation in variable A:     12*45/2->A

recall variables multiply the saved value with 2: A*2

use last result The last result is saved in the answer memory: ans+1

CONSTANTS e euler constant

pi pi; example: sin(pi/2)

NUMBERS standard 12.34

with exponent 12.23e-5

complex 12i-5

OPTIONS -o, --output [output length] The argument is a number between 2 and the maximal possible output length (norâ mally 18).

-m, --mode [calculator mode] The mode can be std (default, normal scientific calculatons), ba se (for logic functions and base-n calculatons) or script (for executing scripts). In scriptâ ing mode, the last argument must be the path to the script file.

-c, --complex This option enables complex numbers for the calculation. They are switched off by default.

-b, --base [calculator base] The argument must be one of hex (hexadecimal), dec (decimal, d efault), oct (octal) and bin (binary). This option can only be used when -m base is set.

-a, --angle [angle type] The argument must be one of deg (degrees), rad (radiant), gra (grad e).

-v, --version Output the version of Concalc.

-h, --help Outputs a short help.

SCRIPTING The script interpreter of calc uses a C-like programming syntax. The foll owing command are supported.

if expression

if(condition)

command for condition true;

else command for condition false;

while loop

while(condition)

command that is run while condition is true;

for loop

for(initialisation; condition; count-command) command that is run while condition is true;

print command

print( output to print out );

getline command

getline; // read a text line from stdin and returns this text

getkey command

getkey; // return the key pressed by the user // blocks until the user presses any key

keystate command

keystate; // returns the key pressed by the user or 0 if no key was pressed // nonblocking

sleep command

sleep( time in microseconds ); //Script is stops for the given time

compare operators

==, != equal, unequal

>=, <=, >, < greather or equal, less or equal, greather, less

set operators

-> calculator set operator

= C-like set operator

type converting

(float) floating point value

(int) integer value

(string) text value

(bool) boolean value

BUGS No bugs known!

If you find one, please report it by e-mail to the author.

AUTHOR Rainer Strobel 

SEE ALSO [6]http://extcalc-linux.sourceforge.net

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Config

CONFIG.SYS

DEVICE=C:\QEMM\QEMM386.SYS RAM ROM

DEVICEHIGH=VIDE-CDD.SYS /D:IDE-CD

SHELL=C:\4DOS.COM /P /E:640

DOS=HIGH,UMB

NUMLOCK=OFF

FILES=30

BUFFERS=10

LASTDRIVE=26

STACKS=9,256

SET COMSPEC=c:\4dos.com

DEVICE=C:\WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER

DEVICE=C:\WINDOWS\IFSHLP.SYS __________________________________________________________________

AUTOEXEC.BAT

SET DIRCMD=/OGN /4

SET PROMPT=$P$G

LOADHIGH SHSUCDX /D:IDE-CD

XMSDSK.EXE 30000 /Y

REM LOADHIGH CTMOUSE.EXE

LOADHIGH MOUSE.COM

PATH=C:\WINDOWS;C:\;C:\DOS

LOADHIGH SHARE.EXE /L:500 /F:5100

SET TEMP=F:\

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Cplay

CPLAY - Linux text-based music player

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Cp

Copy a file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Cp

Copy a file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Crontab

I want to log every Tweet that uses the #tcot hashtag, even when I'm asleep, but Twitter doesn't have this feature. Enter Puppy Linux and the pschedule program, which is a GUI front end for editing crontab. And crontab in turn is the configuration file for the cron daemon. I set it up as shown, and every minute, just like a clock, the cron daemon wakes up and issues a wget command to grab the latest search results for "tcot" from Twitter. And my root directory fills up with html files which are snapshots of what's  going on in #tcot.

I also used it to log the #scripture chatroom on Undernet because Edub provides a feed to his website. But he didn't  like me hammering his site every sixty seconds and blocked my   IP. Pschedule is not just for logging websites. I could add a job to clear out the root directory once a day by moving the log files to a hard drive, for instance. Or run a script once a week to unmount a hard drive, run fsck on it to check for and repair any errors, and remount the drive. The idea (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Curl

Get a weather forecast for your city

curl wttr.in/seattle

Get your public IP address

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Curl

Get a weather forecast for your city

curl wttr.in/seattle

Get your public IP address

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Date9

Print a complete date-time group

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Date9

Print a complete date-time group

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Dd

Backup Master Boot Record

dd if=/dev/sda of=MBR.img bs=446 count=1

Make an image of a CD on your hard drive

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Dd

Backup Master Boot Record

dd if=/dev/sda of=MBR.img bs=446 count=1

Make an image of a CD on your hard drive

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Dependency

Now it was time to install dosbox to Hacky Linux so I could run my old DOS programs without booting to FreeDOS. I used my Debian Sarge DVD and copied dosbox-0.63-2_i386.deb to my .PET folder, converted the .DEB to a .PET, and clicked on it to install. Then when I tried to run dosbox, it complained that I was missing libSDL_sound-1.0.so.1. So I went looking for that library file on  the Debian disk, found it, installed it, but the library sitting in   my /usr/lib folder was named libSDL_sound-1.0.so.1.0.0 so I made a copy of it in my /lib folder and renamed it to what dosbox is  looking for. Then I tried to run dosbox again. No go.

This time it wanted libSDL_net-1.2.so.0. Lather, rinse, repeat. Sometimes it was difficult to find the libraries I needed, because libvga.so.1 for example would be in the svgalib package, or  libaa.so.1 would be in the aalib package. Sometimes I needed to use Google to find out where to find what Ineeded. The last two missing libraries were libslang.so.1 and libFLAC.so.6.

I was doing this old school. The "real" Linux distros like Ubuntu or SuSE have package managers that automatically detect and download missing dependencies. Not so my humble Hacky Linux. This is a hand-crafted operating system.

Finally it was done, and dosbox worked. I had all my DOS programs in a folder on my home drive, and I created a virtual "C" drive by typing mount c /mnt/home/dos. Voila! Then I ran my beloved (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Dict

DICT

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Dict

DICT

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Dirsplit

Split a directory full of files into volumes small enough to burn to CD, while minimizing wasted space

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ditaa

Convert ASCII diagrams to graphics

ditaa stargrid.txt stargrid.png

DITAA(1) General Commands Manual DITAA(1)

NAME ditaa - convert ASCII diagrams into proper bitmap graphics

SYNOPSIS ditaa [options] input [output]

DESCRIPTION This manual page documents briefly the ditaa command.

DiTAA is a small command-line utility that can convert diagrams drawn us ing ASCII art ("drawings" that contain characters that resemble lines, like | / and -), into proper bitmap graphics.

DiTAA also uses special markup syntax to increase the possibilities of sh apes and symâ bols that can be rendered.

OPTIONS --help Show summary of options.

-v, --verbose Makes ditaa more verbose.

-A, --no-antialias Turns anti-aliasing off.

-d, --debug Renders the debug grid over the resulting image.

-E, --no-separation Prevents the separation of common edges of     shapes.

-e ENCODING, --encoding ENCODING The encoding of the input file.

-h, --html

In this case the input is an HTML file. The contents of the tags are rendered as diagrams and saved in the images directory and a new HTML file is produced with the appropriate tags.

-o, --overwrite If the filename of the destination image already exists, an altern ative name is chosen. If the overwrite option is selected, the image file is instead overâ writen.

-r, --round-corners Causes all corners to be rendered as round corners.

-s SCALE, --scale SCALE A natural number that determines the size of the rendered image. T he units are fractions of the default size (2.5 renders 1.5 times bigger than t he default).

-S, --no-shadows Turns off the drop-shadow effect.

-t TABS, --tabs TABS Tabs are normally interpreted as 8 spaces but it is possible to change that using this option. It is not advisable to use tabs in your diagram s.

AUTHOR DiTAA was written by Efstathios (Stathis) Sideris.

This manual page was written by David Paleino , fo r the Debian project (and may be used by others).

April 15, 2010 DITAA(1)

Ditaa

Convert ASCII diagrams to graphics

ditaa stargrid.txt stargrid.png

DITAA(1) General Commands Manual DITAA(1)

NAME ditaa - convert ASCII diagrams into proper bitmap graphics

SYNOPSIS ditaa [options] input [output]

DESCRIPTION This manual page documents briefly the ditaa command.

DiTAA is a small command-line utility that can convert diagrams drawn us ing ASCII art ("drawings" that contain characters that resemble lines, like | / and -), into proper bitmap graphics.

DiTAA also uses special markup syntax to increase the possibilities of sh apes and symâ bols that can be rendered.

OPTIONS --help Show summary of options.

-v, --verbose Makes ditaa more verbose.

-A, --no-antialias Turns anti-aliasing off.

-d, --debug Renders the debug grid over the resulting image.

-E, --no-separation Prevents the separation of common edges of     shapes.

-e ENCODING, --encoding ENCODING The encoding of the input file.

-h, --html

In this case the input is an HTML file. The contents of the tags are rendered as diagrams and saved in the images directory and a new HTML file is produced with the appropriate tags.

-o, --overwrite If the filename of the destination image already exists, an altern ative name is chosen. If the overwrite option is selected, the image file is instead overâ writen.

-r, --round-corners Causes all corners to be rendered as round corners.

-s SCALE, --scale SCALE A natural number that determines the size of the rendered image. T he units are fractions of the default size (2.5 renders 1.5 times bigger than t he default).

-S, --no-shadows Turns off the drop-shadow effect.

-t TABS, --tabs TABS Tabs are normally interpreted as 8 spaces but it is possible to change that using this option. It is not advisable to use tabs in your diagram s.

AUTHOR DiTAA was written by Efstathios (Stathis) Sideris.

This manual page was written by David Paleino , fo r the Debian project (and may be used by others).

April 15, 2010 DITAA(1)

Dn

As reported earlier, I was using Necromancer's DOS Navigator for file management in DOS, but there were a few annoying bugs that made it clumsy to use. First of all, the mouse cursor kept getting disabled, requiring me to hit the ALT key, sometimes several times, and jiggle the mouse, and mess around until I saw it again. Second, there was no way to get a DOS command line available at all times, I had to go to a pull-down menu to get to the command line, and there wasn't even a shortcut available. Third, there was no  auto-refresh of a floppy's file contents when I clicked on the "A" drive, I had to use a key shortcut combination to refresh it.

So I installed the original plain vanilla "Dos Navigator" that Necromancer used as a baseline for his version. Now the mouse cursor is available all the time. The command line is available all the time, just like on Norton Commander and Midnight Commander. The panel automatically scans the "A" drive when I click on it. So with an Orthodox File Manager I can actually use, I set it to  automatically PKUNZIP the readme files inside zip files so I can see if the program is worth unzipping. I got more shareware and freeware zipped up ready to install than I have time in the rest of  my life to do it. And one of the first things I found was a great 3-D nearby star display program called "3STARS" that is better than anything I found using Linux. I mean this thing is awesome! And things like this makes me happy that I'm digging around in DOS world again.

DOSBox

DOSBOX under Windows XP, with the default system font replaced by MS Sans Serif using an entry in WIN.INI, which allows the WinClock program to add date and time and space on the D drive to the title bar of the active window without over-writing anything. The mouse is too sensitive under DOSBOX and has to be  braked with the Control Panel mouse widget. And Windows 3.11 running in a window will crash if I try to run a DOS program in a  [2]CleanPosts RSS feed [3]CleanPosts Atom feed

DOSBOX

Running Volkov Commander in DOSBox under Ubuntu

Dosemu

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

DOSEmu

(to create dosemu folder) exitemu (navigate to .dosemu/drive_c  folder, edit autoexec.bat to include this line:) xmode -font vga12x30 (install WordStar 5.5 in drive_c) dosemu cd ws5 ws

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Dosshell

With MS-DOS 4.0 in 1988, Microsoft began to move towards making DOS a little more user friendly. So they created DOS Shell as a more visual interface for people who did not or could not learn how to  use the command line. Now folks could click on files and drag them between directories, or select file options from a drop-down menu. It could be configured as a two-pane file manager, with one pane over the other, but there is something about having identical left and right panels that is far more intuitive. No one ever learned to fly over the keys like a virtuoso pianist using DOS Shell like they could using its main competitor at the time, Norton Commander 2.0. DOS Shell also had a menu that could be configured to launch anything. Also, there's an option to view all the files on a disk, great for finding duplicates.

Starting with DOS 5.0 it contained a "task swapper" that could switch between multiple programs by swapping RAM to disk, but this was not true multi-tasking. When a program was swapped out it was frozen. Still, it was far more efficient than closing the program and starting it again. By the time MS-DOS 6.21 rolled out the MS-DOS SHell was no longer a core part of the distro, you had to ask Microsoft for a free supplemental disk to get it. Eventually it evolved into the Windows Explorer in Win95 onward, and development of the DOS Shell was dropped. This was about the time when everyone was moving to Windows 3.1, but for everyone who was left behind (like me) it was nice to have something approaching a decent graphical interface for DOS.

My laptop has enough RAM that I use three virtual RAM disks of 16 megabytes each, and DOS Shell uses one of these to swap programs. So system RAM is swapped to more RAM instead of a hard drive. That makes it blindingly fast. I have my budget spreadsheet and word processor and file manager and some games all active, and it's  almost as easy as having multiple windows open under Windows. Also, this "Superman" color scheme is exactly how I like it.

Dos

DOS

[6]4DOS 7]As-easy-as 8]DOS Navigator 9]DOS Shells 10]FreeDOS [11]GEM Sprites 12]Windows 3.1 13]Zuk

$x | tr '[A-Z]' '[a-z]'` if [ $lc != $x ]; then mv -i $x $lc fi done
 * 1) !/bin/bash for x in `ls` do if [ ! -f $x ]; then continue fi lc=`echo

Draft2

hard drive:

dd if=/dev/sr0 of=image.iso __________________________________________________________________

Mount that image on your system to use it:

mount -o loop image.iso /mnt/temp __________________________________________________________________

Make a new .iso image in /mnt/burn from the contents in /mnt/hold:

mkisofs -o /mnt/burn/image.iso /mnt/hold __________________________________________________________________

Burn that image to another CD:

cdrecord dev=/dev/sr0 /mnt/burn/image.iso __________________________________________________________________

Convert RPM package to DEB package:

alien file.rpm __________________________________________________________________

Copy a file

cp INFILE OUTFILE __________________________________________________________________

Add a CD-ROM to your list of repositories.

apt-cdrom -m add __________________________________________________________________

List only non-blank lines in a file:

awk 'NF >0' file.txt __________________________________________________________________

Create a custom command to list files:

alias l = 'ls -l --color=auto' __________________________________________________________________

Add line numbers to a file:

cat -n file.txt __________________________________________________________________

Find text in a file:

awk 'chevy' cars.txt __________________________________________________________________

Backup Master Boot Record:

dd if=/dev/sda of=MBR.img bs=446 count=1 __________________________________________________________________

Make a file lowercase:

cat FILE1.TXT | tr '[A-Z]' '[a-z]' > FILE2.TXT __________________________________________________________________

Change the owner of a directory and all its contents:

chown -R teresita DIRECTORY __________________________________________________________________

Grab a copy of a website:

wget -w9 -r --random-wait -l3 -np -E URL __________________________________________________________________

Display time since boot:

uptime __________________________________________________________________

Get the sizes of all subdirectories under a directory

du -sh MYDIR __________________________________________________________________

Display unique lines in a sorted file:

uniq FILE2 __________________________________________________________________

Use CUPS printer management system:

localhost:631 (in a browser address bar) __________________________________________________________________

MP3 to WAV conversion:

madplay --output=wave:OCEANLAB.WAV OCEANLAB.MP3 __________________________________________________________________

Convert to OGG:

oggenc * __________________________________________________________________

Create a link:

ln -s /initrd/mnt/dev_ro2 HOME __________________________________________________________________

Extract tarball:

tar -xvf /dev/hda/FILE __________________________________________________________________

Make archive:

tar -c DIRECTORY | bzip2 > DIR.TAR.BZ2 __________________________________________________________________

Make a file executable for all users:

chmod u+x FILE __________________________________________________________________

Turn a directory into a SquashFS file:

mksquashfs /tmp/merge PUP_412.SFS __________________________________________________________________

Mount your SquashFS file:

mount -o loop -t squashfs PUP_412.SFS /mnt/pup __________________________________________________________________

Upload a file to your webspace:

wput MYFILE [6]ftp://username:password@web.host.com __________________________________________________________________

Convert a MIDI file to a .WAV file:

timidity -Ow -oRUBY.WAV RUBY.MID __________________________________________________________________

Replace spaces in a filename with hyphens:

find. -name "* *mp3" -exec rename 's/\ /-/g' {} \; __________________________________________________________________

Print the current month in Julian dates:

cal -j __________________________________________________________________

Make a new file of the individual words in another file:

tr ' ' '\012' OUTFILE

or

for WORD in `cat FILE`

do

echo $WORD

done __________________________________________________________________

Strip carriage returns from a DOS file:

'tr -d '\015' OUTFILE __________________________________________________________________

Downshift all file names:

for F in *

do

mv $F `echo $F | tr '[A-Z]' '[a-z]'

done __________________________________________________________________

Rename in bulk:

OLD=xxx

NEW=yyy

for F in $OLD*

do

SUFFIX=`expr $F : '$OLD\(.*\)'`

mv $OLD$SUFFIX $NEW$SUFFIX

done __________________________________________________________________

Install from tarball

tar -zxvf ARCHIVE.TAR.GZ

./configure __________________________________________________________________

Format floppy disk:

fdformat' /dev/sde __________________________________________________________________

List directories:

find. -type d -print __________________________________________________________________

Convert avi to mpeg:

mencoder MOVIE.AVI -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 -o MOVIE.MPG -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3 __________________________________________________________________

Factorial function implemented by recursion.

define fact(n)

{]]if (n <= 1) return (n);

return (n fact(n-1));

}  __________________________________________________________________

Perform a ROT 13 conversion:

__________________________________________________________________
 * 1) !/bin/sh echo "$1" | tr '[A-Za-z]' '[N-ZA-Mn-za-m]'

Download streaming videos and convert them to MP3s

sudo curl [7]https://yt-dl.org/downloads/2014.05.05/youtube-dl -o /usr/local/bin/youtube-dl

sudo chmod a+x /usr/local/bin/youtube-dl

youtube-dl --title --extract-audio --audio-format mp3 [LINK]

ffmpeg -i yourvideo.mp4 -f mp3 -ab 192000 -vn yourvideo.mp3

Duff

Find duplicates on your filesystem

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Duff

Find duplicates on your filesystem

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Du

Find the ten biggest hogs of disk space under a directory

du -s /usr/share/* | sort -nr | head

Get the sizes of all subdirectories under a directory

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Du

Find the ten biggest hogs of disk space under a directory

du -s /usr/share/* | sort -nr | head

Get the sizes of all subdirectories under a directory

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Echo

Convert decimal to 16 bit binary and trim leading zeros

D2B=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1 }{0..1}{0. .1}{0..1}{0..1}{0..1}) echo $((10#${D2B[$1]}))
 * 1) ! /bin/bash

Use the command line as a quick calculator

echo $((145+ - / % **                                           5))

Echo

Convert decimal to 16 bit binary and trim leading zeros

D2B=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1 }{0..1}{0. .1}{0..1}{0..1}{0..1}) echo $((10#${D2B[$1]}))
 * 1) ! /bin/bash

Use the command line as a quick calculator

echo $((145+ - / % **                                           5))

Enchant

List the misspelled words in a file

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Enchant

List the misspelled words in a file

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

ExtractElement

ExtractElement

[6]File:ExtractElement2.png

Returns the nth item of a text string separated by a user-defined separation character. Function ExtractElement(Txt, n, Sep) ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1) End Function

"[7]http://www.cleanposts.com/index.php/ExtractElement"

Factor2

List primes between 2 and any number

-f 1) r=$(factor $i | cut -d : -f 2 | sed 's/ //g') if (( $l == $r ));then echo $i fi done
 * 1) !/bin/bash for (( i=2; i<=$1; i++ ));do l=$(factor $i | cut -d :

Prime factors of first 100 integers

echo {1..100} | factor

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Factor2

List primes between 2 and any number

-f 1) r=$(factor $i | cut -d : -f 2 | sed 's/ //g') if (( $l == $r ));then echo $i fi done
 * 1) !/bin/bash for (( i=2; i<=$1; i++ ));do l=$(factor $i | cut -d :

Prime factors of first 100 integers

echo {1..100} | factor

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Factor

List primes between 2 and any number

-f 1) r=$(factor $i | cut -d : -f 2 | sed 's/ //g') if (( $l == $r ));then echo $i fi done
 * 1) !/bin/bash for (( i=2; i<=$1; i++ ));do l=$(factor $i | cut -d :

Prime factors of first 100 integers

echo {1..100} | factor

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Fc-list

List the monospace fonts installed on your system

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Fc-list

List the monospace fonts installed on your system

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Fdformat

Format floppy disk

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Fdformat

Format floppy disk

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ffmpeg

Contents

[6]1 Batch convert all the avi files in a directory to mp4 [7]2 Convert .avi video files to smaller .mp4 format [8]3    Convert GIFs from Twitter that download as MP4s back into uploadable GIFs again [9]4 Extract audio from any video file

Batch convert all the avi files in a directory to mp4

(Assumes the files have no spaces in their names, but I have another script for that) #!/bin/bash for i in *.avi; do ffmpeg -i "$i" "${i%%.*}.mp4" done

Convert .avi video files to smaller .mp4 format

ffmpeg -i 'U2 - New Years Day.avi' 'U2 - New Years Day.mp4'

Convert GIFs from Twitter that download as MP4s back into uploadable GIFs again

ffmpeg -y -i input.mp4 -filter_complex "scale=320:-1:flags=lanczos[x];[x]split[x1][x2];  [x1]palettegen[p];[x2][p]paletteuse" output.gif

Extract audio from any video file

ffmpeg -i Black-Sabbath-Iron-Man.vob Black-Sabbath-Iron-Man.mp3

Ffmpeg

Contents

[6]1 Batch convert all the avi files in a directory to mp4 [7]2 Convert .avi video files to smaller .mp4 format [8]3    Convert GIFs from Twitter that download as MP4s back into uploadable GIFs again [9]4 Extract audio from any video file

Batch convert all the avi files in a directory to mp4

(Assumes the files have no spaces in their names, but I have another script for that) #!/bin/bash for i in *.avi; do ffmpeg -i "$i" "${i%%.*}.mp4" done

Convert .avi video files to smaller .mp4 format

ffmpeg -i 'U2 - New Years Day.avi' 'U2 - New Years Day.mp4'

Convert GIFs from Twitter that download as MP4s back into uploadable GIFs again

ffmpeg -y -i input.mp4 -filter_complex "scale=320:-1:flags=lanczos[x];[x]split[x1][x2];  [x1]palettegen[p];[x2][p]paletteuse" output.gif

Extract audio from any video file

ffmpeg -i Black-Sabbath-Iron-Man.vob Black-Sabbath-Iron-Man.mp3

File9

List the shell scripts in your /usr/bin directory

find /usr/bin -name "*" -exec file {} \; | grep "text executable" |

File9

List the shell scripts in your /usr/bin directory

find /usr/bin -name "*" -exec file {} \; | grep "text executable" |

Find

Contents

[6]1 Convert all your files saved as "*.jpg-large" back to "*.jpg" (so Twitter thinks they are images again) [7]2    Find files by name [8]3 Get a word count for each file with extension .001 [9]4 Remove empty directories under the working directory [10]5 Replace spaces in the filename of all the files in a directory with hyphens [11]6 Scan your Calibre library recursively and copy the text files to a single directory

Convert all your files saved as "*.jpg-large" back to "*.jpg" (so Twitter thinks they are images again)

find. -depth -name "*.jpg-large" -exec sh -c 'f="{}"; mv -- "$f" "${f%.jpg-large}.jpg"' \;

Find files by name

find. -name *wav -print

Get a word count for each file with extension .001

find. -name "*.001" -exec wc -w {} \;

Remove empty directories under the working directory

find. -empty -exec rm -rf {} \;

Replace spaces in the filename of all the files in a directory with hyphens

find. -name "* *mp3" -exec rename 's/\ /-/g' {} \;

Scan your Calibre library recursively and copy the text files to a single directory

find. -name "*.txt" -exec cp {} /home/teresita/Desktop/text \;

Find

Contents

[6]1 Convert all your files saved as "*.jpg-large" back to "*.jpg" (so Twitter thinks they are images again) [7]2    Find files by name [8]3 Get a word count for each file with extension .001 [9]4 Remove empty directories under the working directory [10]5 Replace spaces in the filename of all the files in a directory with hyphens [11]6 Scan your Calibre library recursively and copy the text files to a single directory

Convert all your files saved as "*.jpg-large" back to "*.jpg" (so Twitter thinks they are images again)

find. -depth -name "*.jpg-large" -exec sh -c 'f="{}"; mv -- "$f" "${f%.jpg-large}.jpg"' \;

Find files by name

find. -name *wav -print

Get a word count for each file with extension .001

find. -name "*.001" -exec wc -w {} \;

Remove empty directories under the working directory

find. -empty -exec rm -rf {} \;

Replace spaces in the filename of all the files in a directory with hyphens

find. -name "* *mp3" -exec rename 's/\ /-/g' {} \;

Scan your Calibre library recursively and copy the text files to a single directory

find. -name "*.txt" -exec cp {} /home/teresita/Desktop/text \;

FirstMaximum

[6]File:FirstMaximum.png

Returns the address of the first maximum in a range {=ADDRESS(MIN(IF(B2:B21=MAX(B2:B21),ROW(B2:B21))),COLUMN(B2:B21),4) "[7]http://www.cleanposts.com/index.php/FirstMaximum"

Freecell

game where the cards are already all dealt, and you have four empty spaces which will act temporary holding spots for (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

FreeDOS

HOW TO CREATE A FREEDOS BOOT DISK:

1. Download the FreeDOS boot disk image:

[6]http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files /distributions/unofficial/odin/odin060/fdodin06.bin.zip

2. Extract fdodin06.144 from the zip file.

3. Insert a floppy disk.

4. Launch a terminal session in Linux.

5. Type cat fdodin06.144 > /dev/fd0

6. ????????

7. Profit!

And a good place to pick up all sorts of abandoned DOS programs to run in FreeDOS (like WordStar or Norton Commander) is  [7]http://vetusware.com/.

The SimTel MS-DOS shareware archive is mirrored in many locations, one can be found here: [8]http://www.eunet.bg/simtel.net/msdos/index-msdos.html

Sometimes old school is best. I have a DOS astronomy program called Skyglobe I've used since 1993 (see below), it works like a champ and it's amazing. I learned to program the Trash-80 in 1978, and the Apple II later. My mind has been mangled by the use of GOTO statements in GW-Basic, I can never learn C. It's too late for me. But I have PowerBasic, which used to be Borland Turbo Basic (I have that too), and I still use it to write software. But it  only runs in DOS. Under Linux, DOS programs can be run in DOSBox but the graphics are very slow. FreeDOS is a great alternative.

Freesweep

Freesweep

Genisoimage

Build an iso from a file

genisoimage -r -joliet-long -o -win98tib.iso /home/teresita/Desktop/iso/win98[7]20150529.tib

Build an ISO9660 image from the contents of a directory

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Genisoimage

Build an iso from a file

genisoimage -r -joliet-long -o -win98tib.iso /home/teresita/Desktop/iso/win98[7]20150529.tib

Build an ISO9660 image from the contents of a directory

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

GFtp

gFTP

A myth persists in the mind of non-Linux people that the WWW and the Internet are the same thing, to the point that if they accidentally delete their Internet Explorer icon, they will call the Help Desk and say, "I don't have Internet anymore." And for most users, the WWW only works one way, they can download pictures and articles, but they can't upload them. This has resulted in  the development of services such as Picasa and Blogger, which allow people to manage files in a public web space without leaving the comfort and safety of the Web. But how do the hackers and do-it-yourself hobbyists of the Linux set upload files? With the venerable FTP, or File Transfer Protocol. And if they want to use a  GUI instead of Midnight Commander, they can use Filezilla, Kbear, Konqueror, or gFtp.

Assuming one has arranged access to web space, one simply enters a  host name (in my case web.newsguy.com) and a user name (rubyred) and enter the password. After that you can navigate in your web space as if it were your hard drive, and drag and drop files from one panel to the other. If you upload an HTML file named home.htm people's browsers will automatically assume that is your front page. HTML itself is quite easy for anyone to learn, if you don't  get fancy with cascading style sheets and whatnot. It only takes a few minutes to create a simple HTML file from scratch in a text editor that will render properly, even with tables. It might take a little more work that using someone else's blogger site or  photo-sharing site, but you have total control over every aspect of   your site, and the sense of accomplishment you get is priceless.

Gparted

gparted

Shown here is gparted, the Gnome Partition Editor, which is one of  the most useful programs I have. It's so useful, in fact, that I  also have it on a stand-alone disk that boots a minimal Linux plus gparted. It's a GUI based disk partition manager, just like the $63 Partition Magic for Windows, but of course it's absolutely free. What I'm doing here is formatting my new 250 GB external HD to a  Linux ext3 filesystem rather than the Windows-compatible one it   came with. The ext3 filesystem uses journaling which logs intended changes before committing them to disk. That way if the system crashes (from a power interruption for example), it can recover by  simply reading the journal.

Back when I was still using Windows, I used gparted to shrink the NTFS filesystem and make room for a Linux main partition and swap partition so I could run a dual-boot setup. Today I  use it to carve out new Linux partitions for installing this or   that distro to see if I like them. More often than not I don't  like them, for a variety of reasons. They either flake out on  me, or don't have the variety of software I need. So these days I mainly run my Hacky Linux, with Linux Mint waiting on the (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Gprename

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Grep

Find all the places in a directory that mentions womp rats

grep -R --color "womp rats"

Print the lines of file2 that are missing in file1

grep -vxFf file1.txt file2.txt

View a text file with line numbers added

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Grep

Find all the places in a directory that mentions womp rats

grep -R --color "womp rats"

Print the lines of file2 that are missing in file1

grep -vxFf file1.txt file2.txt

View a text file with line numbers added

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Gunzip

Extract gzip compressed tar archives

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Gunzip

Extract gzip compressed tar archives

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

HackyGUI

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Head9

Return the name of the most-recently modified file in a directory

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Head9

Return the name of the most-recently modified file in a directory

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

HighlightDupes

"[7]http://www.cleanposts.com/index.php/HighlightDupes"

History9

Your top 25 commands

history | awk '{print $2}' | sort | uniq -c | sort -nr | head -25

History9

Your top 25 commands

history | awk '{print $2}' | sort | uniq -c | sort -nr | head -25
 * 1) !/bin/bash

for i in *.html do lynx --dump "$i" > "${i%%.*}.txt"

feed

Import

Use imagemagick to take a screen shot

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Import

Use imagemagick to take a screen shot

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Irssi

Irssi

Jp2a

Convert a photo into an ASCII art representation directly into the terminal and save it to photo.ascii at the same time

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Jp2a

Convert a photo into an ASCII art representation directly into the terminal and save it to photo.ascii at the same time

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Lindows

Lindows

My introduction to Linux was with Lindows 4.5. which came with a cheap $179 Chinese-made computer I got at Frys. Lindows was a  Debian based distro running KDE, except that apt was missing, so   you couldn't install new software yourself, and gcc was missing so   you couldn't even compile apt from a source tarball and bypass it. Instead. what you were expected to do was pay an annual $50 fee for a service called "Click 'N' Run" which let you access the same software which comes free in the Debian repository. As an added incentive to get you to sign up, Lindows came with fewer installed packages than a mini-Distro like Slax even. You could surf the web, you could create a web page (but not upload it), you could edit a  file in Kate, you could view PDF's (but not create them in Open   Office)...just enough to get you hooked in the showroom, but not enough to do any real work.

Microsoft, of course, hated the name Lindows and sued them, and lost. Microsoft did what they always do when they lose a  lawsuit, they threw millions of dollars at Lindows and got what they wanted anyway. Lindows became "LinSpire". They spent some of the money on the Wine project, hoping to get it out of beta status, but that didn't pan out. Eventually the whole thing was bought up by Xandros and killed. Good riddance to a distro that was crippled at birth. But it was my first one, and the very fact that it was crippled, and my efforts to get around that fact, was a sort of baptism in blood. Perhaps my approach to Linux would be far less passionate if I had jumped ship in these Ubuntu days and everything was just handed to me on a silver platter.

Links

Links

LINLD

from my hard drive. The easiest way to boot it is to run a batch file from DOS

LINLD.COM

I use a FreeDOS floppy disk to boot Puppy Linux. To do this, I  placed the following files which come with the Puppy Linux release into the partition at /mnt/sda4, which is what FreeDOS sees as my  C: drive. boot.cat boot.msg isolinux.bin isolinux.cfg * initrd.gz vmlinuz - the Linux Kernel pup_412.sfs - Puppy Linux itself, compressed in a Squash filesystem

On the floppy disk, command.com and kernel.sys are the files which boot FreeDOS. As soon as they are up and running, it executes the autoexec.bat (remember those?) which has the following command:

LINLD.COM image=C:\vmlinuz initrd=C:\initrd.gz cl=@puppy.lin

What it does is launches a DOS program called LINLD which boots Linux. The option cl=@puppy.lin uses a three line file with the following parameters: root=/dev/ram0 pfix=copy pmedia=idehd

These are my boot time "cheat codes" which tell Puppy to install into RAM, use my personal save file for the latest and greatest configuration and files, and get everything it needs from the hard drive. I have another disk which can boot Puppy from a USB stick. In that case, pmedia=usbflash. If the pmedia parameter is not present, Puppy will look for an empty file, named either idehd or  usbflash on the drive in question, and take that as orders.

Why am I doing this? I have three computers. This Compaq I'm using now is the newest one, it has no floppy drive built in, and it  won't boot from a USB floppy, so I need to boot Hacky Linux (stored   on a USB stick) using a live CD.

I have a second computer with Puppy 4.1.2 on a USB stick, but it  won't boot from the USB stick alone, so it needs either a live CD   or a floppy disk to boot it.

I can't get any DOS USB drivers to work on my third computer, for some reason they cause the machine to reboot as soon as they are installed. So I've installed Puppy on the hard drive for that one, but that third computer won't boot anything from the C: drive, neither DOS, nor Puppy or any other distro, without this floppy boot disk to assist.

This is what hacking is all about. Just make it work. Retrieved (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Linuxjedi

Contents

[6]1 Linux Jedi Mind Tricks + [7]1.1 Tally up a column of    figures + [8]1.2 Convert a photo into an ASCII art representation directly into the terminal and save it to photo.ascii at the same time + [9]1.3 Change double-spaces in a text file to single spaces + [10]1.4 Delete empty files in and under the current directory + [11]1.5 Run the last command again as root + [12]1.6 Make the text in a file all uppercase + [13]1.7 Replace spaces in the filename of all the files in a directory with hyphens + [14]1.8 Convert all your files saved as "*.jpg-large" back to "*.jpg" + [15]1.9 Find ten biggest hogs of disk space under a directory + [16]1.10 Prime factors of first 100 integers + [17]1.11 Make an image of a CD on your hard drive + [18]1.12 Mount that image on your system to use it + [19]1.13 Get a    weather forecast for your city + [20]1.14 Find files by name + [21]1.15 Get information about all files of a certain type + [22]1.16 Print number of processes running as each user + [23]1.17 List the misspelled words in a file + [24]1.18 Return the name of the most-recently modified file in a directory + [25]1.19 Strip blank lines from a text file + [26]1.20 Make all filenames in a directory lowercase + [27]1.21 Combine two files, line by line, comma delimited + [28]1.22 Concatenate a    group of files into a single new file + [29]1.23 Find man page for a command + [30]1.24 Build a list of unique words in a file + [31]1.25 Build an iso from a file + [32]1.26 Burn an iso to a    CD-ROM + [33]1.27 Make a new .iso image in /mnt/burn from the contents in /mnt/hold + [34]1.28 Burn that image to another CD    + [35]1.29 Convert RPM package to DEB package + [36]1.30 Copy a file + [37]1.31 Add a CD-ROM to your list of repositories. +    [38]1.32 List only non-blank lines in a file + [39]1.33 Create a custom command to list files + [40]1.34 Add line numbers to    a file + [41]1.35 Find text in a file + [42]1.36 Backup Master Boot Record + [43]1.37 Make a file lowercase + [44]1.38 Change the owner of a directory and all its contents + [45]1.39 Grab a    copy of a website + [46]1.40 Display time since boot + [47]1.41 Get the sizes of all subdirectories under a directory + [48]1.42 Display unique lines in a sorted file + [49]1.43 Use CUPS printer management system + [50]1.44 MP3 to WAV conversion + [51]1.45 Convert to OGG + [52]1.46 Create a link + [53]1.47 Extract tarball + [54]1.48 Make archive + [55]1.49 Make a file executable for all users + [56]1.50 Turn a directory into a SquashFS file + [57]1.51 Mount your SquashFS file + [58]1.52 Upload a file to    your webspace + [59]1.53 Convert a MIDI file to a .WAV file + [60]1.54 Replace spaces in a filename with hyphens + [61]1.55 Print the current month in Julian dates + [62]1.56 Make a new file of the individual words in another file + [63]1.57 Strip carriage returns from a DOS file + [64]1.58 Downshift all file names + [65]1.59 Rename in bulk + [66]1.60 Install from tarball + [67]1.61 Format floppy disk + [68]1.62 List directories + [69]1.63 Factorial function implemented by recursion. + [70]1.64    Perform a ROT 13 conversion + [71]1.65 Download streaming videos and convert them to MP3s + [72]1.66 Convert decimal to 16 bit binary and trim leading zeros + [73]1.67 Send a man page to the terminal minus the embedded backspace characters + [74]1.68 Print the first sixteen binary numbers using awk to align the data

Linux Jedi Mind Tricks

Tally up a column of figures

`basename $0` colnum [files]" 1>&2; exit 1;; esac awk '{sum += $col} END {print sum}' col=$colnum OFMT='%.2f' ${1+"$@"}
 * 1) ! /bin/sh case "$1" in [1-9]*) colnum="$1"; shift;; *) echo "Usage:

Convert a photo into an ASCII art representation directly into the terminal and save it to photo.ascii at the same time

jp2a Photo.jpg | tee photo.ascii

Change double-spaces in a text file to single spaces

cat redpine.txt | sed 's/ \+/ /g' > redpine2.txt

Delete empty files in and under the current directory

find. -empty -exec rm -f {} \;

Run the last command again as root

sudo !!

Make the text in a file all uppercase

cat testa.txt | tr '[a-z]' '[A-Z]' > testb.txt

Replace spaces in the filename of all the files in a directory with hyphens

find. -name "* *mp3" -exec rename 's/\ /-/g' {} \;

Michael-Neil-&-Graham-Getty---Retrochet-II---01---Cascade-Effect-Pa rt-1 .mp3

Convert all your files saved as "*.jpg-large" back to "*.jpg"

(so Twitter thinks they are images again)

find. -depth -name "*.jpg-large" -exec sh -c 'f="{}"; mv -- "$f" "${f%.jpg-large}.jpg"' \;

Find ten biggest hogs of disk space under a directory

du -s /usr/share/* | sort -nr | head

Prime factors of first 100 integers

echo {1..100} | factor

Make an image of a CD on your hard drive

dd if=/dev/sr0 of=image.iso

Mount that image on your system to use it

(The mount point must already exist)

mount -o loop image.iso /mnt/temp ===

Get a weather forecast for your city

curl wttr.in/seattle

Find files by name

find. -name *wav -print

Get information about all files of a certain type

find. -name *com -exec file {} \;

Print number of processes running as each user

$ ps -ef | awk '{print $1}' | sort | uniq -c

List the misspelled words in a file

enchant -l matthew

Return the name of the most-recently modified file in a directory

$ ls -t | head -1

20190506_061751k2.jpg

Strip blank lines from a text file

awk 'NF > 0' yeshua > yeshua2

Make all filenames in a directory lowercase

$x | tr '[A-Z]' '[a-z]'` if [ $lc != $x ]; then mv -i $x $lc fi done
 * 1) !/bin/bash for x in `ls` do if [ ! -f $x ]; then continue fi lc=`echo

paste into file called lowerit chmod u+x lowerit ./lowerit

Combine two files, line by line, comma delimited

$ paste -d, names.txt distances.txt

Concatenate a group of files into a single new file

for file in *; do cat $file >> linuxgal.txt; done

Find man page for a command

whereis -m genisoimage

genisoimage: /usr/share/man/man1/genisoimage.1.gz

Build a list of unique words in a file

tr ' ' \\n < notes20191108.txt | sort | uniq

Build an iso from a file

genisoimage -r -joliet-long -o -win98tib.iso /home/teresita/Desktop/iso/win98[7]20150529.tib

Burn an iso to a CD-ROM

Make a new .iso image in /mnt/burn from the contents in /mnt/hold

mkisofs -o /mnt/burn/image.iso /mnt/hold

Burn that image to another CD

cdrecord dev=/dev/sr0 /mnt/burn/image.iso

Convert RPM package to DEB package

alien file.rpm

Copy a file

cp INFILE OUTFILE

Add a CD-ROM to your list of repositories.

apt-cdrom -m add

List only non-blank lines in a file

awk 'NF >0' file.txt

Create a custom command to list files

alias l = 'ls -l --color=auto'

Add line numbers to a file

cat -n file.txt

Find text in a file

awk 'chevy' cars.txt

Backup Master Boot Record

dd if=/dev/sda of=MBR.img bs=446 count=1

Make a file lowercase

cat FILE1.TXT | tr '[A-Z]' '[a-z]' > FILE2.TXT

Change the owner of a directory and all its contents

chown -R teresita DIRECTORY

Grab a copy of a website

wget -w9 -r --random-wait -l3 -np -E URL

Display time since boot

uptime

Get the sizes of all subdirectories under a directory

du -sh MYDIR

Display unique lines in a sorted file

uniq FILE2

Use CUPS printer management system

localhost:631 (in a browser address bar)

MP3 to WAV conversion

madplay --output=wave:OCEANLAB.WAV OCEANLAB.MP3

Convert to OGG

oggenc *

Create a link

ln -s /initrd/mnt/dev_ro2 HOME

Extract tarball

tar -xvf /dev/hda/FILE

Make archive

tar -c DIRECTORY | bzip2 > DIR.TAR.BZ2

Make a file executable for all users

chmod u+x FILE

Turn a directory into a SquashFS file

mksquashfs /tmp/merge PUP_412.SFS

Mount your SquashFS file

mount -o loop -t squashfs PUP_412.SFS /mnt/pup

Upload a file to your webspace

wput MYFILE [75]ftp://username:password@web.host.com

Convert a MIDI file to a .WAV file

timidity -Ow -oRUBY.WAV RUBY.MID

Replace spaces in a filename with hyphens

find. -name "* *mp3" -exec rename 's/\ /-/g' {} \;

Print the current month in Julian dates

cal -j

Make a new file of the individual words in another file

tr ' ' '\012' OUTFILE

or for WORD in `cat FILE` do echo $WORD done

Strip carriage returns from a DOS file

tr -d '\015' <INFILE >OUTFILE

Downshift all file names

$x | tr '[A-Z]' '[a-z]'` if [ $lc != $x ]; then mv -i $x $lc fi done
 * 1) !/bin/bash for x in `ls` do if [ ! -f $x ]; then continue fi lc=`echo

Rename in bulk

OLD=xxx

NEW=yyy

for F in $OLD*

do

SUFFIX=`expr $F : '$OLD\(.*\)'`

mv $OLD$SUFFIX $NEW$SUFFIX

done

Install from tarball

tar -zxvf ARCHIVE.TAR.GZ

./configure

Format floppy disk

fdformat /dev/sde

List directories

find. -type d -print

=== Convert avi to mpeg ===

mencoder MOVIE.AVI -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 -o MOVIE.MPG -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3

Factorial function implemented by recursion.

define fact(n)

{

if (n <= 1) return (n);

return (n fact(n-1));

}

Perform a ROT 13 conversion


 * 1) !/bin/sh echo "$1" | tr '[A-Za-z]' '[N-ZA-Mn-za-m]'

Download streaming videos and convert them to MP3s

sudo curl -L [76]https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl

sudo chmod a+x /usr/local/bin/youtube-dl

youtube-dl --title --extract-audio --audio-format mp3 [77]https://www.youtube.com/watch?v=L3FmBjX-p0I

Convert decimal to 16 bit binary and trim leading zeros

D2B=({0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1}{0..1 }{0..1}{0. .1}{0..1}{0..1}{0..1}) echo $((10#${D2B[$1]}))
 * 1) ! /bin/bash

Send a man page to the terminal minus the embedded backspace characters

man genisoimage | col -b | less

Print the first sixteen binary numbers using awk to align the data

echo "obase=2;i=0;while(i<=15) {i;i+=1}" | bc  (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Linux

Linux

[6]Audacity [7]Commands [8]Crontab [9]Dependency Hell [10]Flash Chess [11]gFtp [12]gparted [13]Lindows [14]LINLD [15]Linux Jedi Mind Tricks [16]Midnight Commander [17]Puppy Linux [18]sc [19]Sox [20]Starplot [21]Streamripper [22]Twitter Search Widget [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ln

Create a link

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ln

Create a link

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Lynx

Batch convert all HTML files in a directory to text files


 * 1) !/bin/bash

for i in *.html do lynx --dump "$i" > "${i%%.*}.txt"

done

Lynx

Batch convert all HTML files in a directory to text files


 * 1) !/bin/bash

for i in *.html do lynx --dump "$i" > "${i%%.*}.txt"

done

Madplay

MP3 to WAV conversion

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Madplay

MP3 to WAV conversion

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Make

Compile and install software old-school, from downloaded source code

tar -xvf joe-4.6.tar.gz cd joe* ./configure make sudo make install

Make

Compile and install software old-school, from downloaded source code

tar -xvf joe-4.6.tar.gz cd joe* ./configure make sudo make install

Mathomatic

Introduction

LHS is shorthand for the Left-Hand Side of an equation. Similarly, RHS used here always means the Right-Hand Side.

In this document, text enclosed by straight brackets [like this] means it is optional and may be omitted. The word "expression" (without double quotes) always means a mathematical expression or  formula.

At the Mathomatic main prompt, you may enter: a numerical expression, which is instantly evaluated and displayed with the c alculate command (autocalc), an algebraic expression or equation, which is stored and made the current equ ation, a variable to solve the current equation for (autosolve), an equation number to select as the current equation (autoselect), a Mathomatic command (listed in this document), a question mark (?) for quick, short help (same as the help command), a semicolon followed by a comment (everything on a line after a semicolon is ignored), or an exclamation point (!) followed by a shell or system command. "!" by its elf invokes the default shell.

Mathomatic has about 43 commands that may be typed at the main prompt. Most commands operate on the current expression or equation by default. Commands are simple English words and are described below, in alphabetical order. If the command is longer than 4 letters, you only need to type in the first 4 letters for Mathomatic to recognize the command. Option words and arguments for commands follow the command name and are separated by spaces. Commands are not executed until you press the Enter key, and any missing command line arguments that don't have a default are prompted for. For example, the Mathomatic command

help calculate

gives short help and usage information for the calculate command. "help" is the command, "calculate" is the argument (which is also a  command, in this case).

Many commands have an optional equation number range argument, which specifies the equation spaces that the command is to operate on. An equation number range may be a single equation number, or a range of equation numbers separated by a dash (like "2-7",  which means every equation space between and including equations   2 and 7), or the word "all", which specifies all equation spaces. If omitted, the current expression or equation is assumed. If  pluralized as "equation-number-ranges" in the command syntax, that means multiple equation numbers and ranges may be specified for that command, separated by spaces.

A greater-than character (>) may be appended to the end of any command line, followed by a file name. This will redirect the output of the command to that file. If the file already exists, it  will be overwritten without asking. Note that any debugging output will be redirected, too. Two greater-than characters (>>) next to  each other will append command output to a file, like the Unix shell does. For example, the Mathomatic command

list export all >filename

will output all stored expressions and equations to a file in  exportable, single-line per equation format, so they can be read in   by a different math program. "list" is the command, "export" is the option word, and "all" is the equation number range.

Command option words, such as "export" in the above list command line, always come immediately after the command name and before anything else on the command line. These words direct the command to do a different, but related, task.

If Mathomatic becomes unresponsive (a rare occurrence), pressing Control-C once will usually safely abort the current operation and return you to the main prompt. If not, pressing Control-C three times in a row will exit Mathomatic, with a warning displayed the second time.

Selecting Expressions

To change the current equation at the main prompt, type a pound sign (#) followed by the equation space number you wish to select. The equation number may be preceded by plus (+) or minus (â), to select an equation relative to the current equation. This syntax also works when prompted for an expression, the RHS or the expression at that equation number is substituted.

New feature: Selecting an equation space to make it the current equation is now conveniently done by typing only the equation number at the main prompt. This is called the "autoselect" option.

Solving Equations

Syntax: variable or "0"

Mathomatic can solve symbolic equations for any variable or for zero. Solving is accomplished internally by applying identical mathematical operations to both sides of the equation and simplifying, or by plugging the general coefficients of the solve variable into the quadratic formula. The Mathomatic solve algorithm is the best possible for general algebra, however the result is  not verified by plugging the solutions into the original equation unless the "solve verify" command is used for solving.

To automatically solve the current equation for a variable, type the variable name at the main prompt. Mathomatic will proceed to  manipulate the current equation until all of the solutions for the specified variable are determined. If successful, the current equation is replaced with the solutions and then displayed.

Automatic cubic (third degree), quintic (fifth degree), and higher degree polynomial equation solving is not supported. Some cubic and quartic polynomial equations can be manually solved with the general equations in files "tests/cubic.in" and "tests/quartic.in". Quartic (fourth degree) polynomial equations can be automatically solved if they are biquadratic; that is, containing only degree four, degree two, and degree zero terms of the solve variable. Biquadratic polynomial equations of any degree can be generally solved by Mathomatic because they can be plugged into the quadratic formula.

Note that running the simplify command is a good idea after solving. The solve routine only unfactors the equation as needed to  solve it and the result is not completely simplified.

To solve for zero, type in "0" at the main prompt. Zero solving is a special solve that will always be successful and will transform most divide operators into mathematically equivalent multiplications and subtractions, so that the result will more likely be a valid polynomial equation:

1â> a=b+1/b ; this is actually a quadratic equation 1

1. 1: a = b + -

b

1â> 0 ; solve for zero 1. 1: 0 = (b*(b - a)) + 1

1â> unfactor ; expand, showing that this is a quadratic polynomial equation in "b" 1. 1: 0 = (b^2) - (b*a) + 1

1â> b ; solve for "b" Equation was quadratic. 1 (((((a^2) - 4)^-)*sign1) + a) 2

1. 1: b = -

2

1â> a ; solve for "a", to check the answer Raising both sides to  the power of 2 and unfactoring... ((b^2) + 1)

1. 1: a = ---

b

1â> simplify 1

1. 1: a = b + -

b

1â>

You can prefix the solve variable name with "=" to solve and swap equation sides, putting the solve variable on the right-hand side. Typing "=" by itself will only swap sides of the current equation and display.

To see all of the steps performed during a solve operation, type "set debug 2" before solving.

Approximate command

Syntax: approximate [equation-number-ranges]

This command operates on the current or specified equation spaces. It substitutes the special universal constants pi and e with their respective floating point values and approximates all constants, roots, and surds. This allows them to combine with other constants and may help with simplification and comparisons.

Calculate command

Syntax: calculate ["factor"] [feedback-variable number-of-iterations]

This command is the formula calculator that prompts for the value of each normal variable in the current expression or the RHS of the current equation. It then temporarily substitutes any entered values, and simplifies, approximates, and substitutes all "sign" variables with all possible combinations of values (+1 and  -1), displaying each solution as it does so. If all variables are supplied with constant values, then each solution will be a  constant, otherwise the result will contain the variables you didn't enter values for. Nothing is modified by this command.

This command is used to temporarily plug in values and approximate expressions and expand "sign" variables. When an expression with only numbers is entered at the main prompt, this calculate command is automatically invoked on it, displaying the calculated result without storing.

If there are any simple numerical fractions in the result, that is  displayed alongside the result.

To only simplify and expand "sign" variables in stored expressions without approximating, use the "simplify sign" command instead.

If a feedback variable and number of iterations are specified on  the calculate command line, you will be prompted for the initial value of the feedback variable, and the calculation will be  iterated, with the simplified result repeatedly plugged back into the feedback variable. This will be done until convergence (the  output equals the input) or when the specified number of iterations have been performed (if non-zero), whichever comes first. To see all of the intermediate values, type "set debug 1" before this.

"calculate factor" factors all integers and variables before display.

Examples of using the calculate command:

1â> y=x^2+ 1. 1: y = (x^2) +                                   x

1â> x ; solve for x Equation is a degree 2 polynomial in x.  Equation was quadratic. 1 -1Â·(1 + (((1 + (4Â·y))^â)Â·sign)) 2

1. 1: x = ââââââââââââââââââââââââ âââââââ

2

1â> calculate Enter y: 0 There are 2 solutions.

Solution number 1 with sign = 1: x = -1

Solution number 2 with sign = -1: x = 0

1â>

An example of iteration:

1â> x_new=(x_old+(y/x_old))/2 ; iterative formula for calculating the square root of y y (x_old + -) x_old

1. 2: x_new = ---

2

2â> calculate x_old 1000 ; iterate up to 1000 times to calculate the square root of 100 Enter y: 100 Enter initial x_old: 1 Convergence reached after 9 iterations. x_new = 10

2â>

Clear command

Syntax: clear [equation-number-ranges]

This command clears the specified equation spaces so that they are empty and can be reused. They are deleted from RAM only.

"clear all" quickly clears all equation spaces and restarts Mathomatic, resetting internal memory and deleting all expressions stored in RAM, without losing your settings.

Code command

Syntax: code ["c" or "java" or "python" or "integer"             ] [equation-number-ranges                                          ]

This command outputs the current or specified equations as floating point or integer assignment statements in C, Java, or Python programming language code. The default is C double precision floating point code. The output from this command should compile correctly and emulate the equation from Mathomatic, if no warnings are given.

With "code integer", integer arithmetic is assumed, otherwise double precision floating point arithmetic is assumed. "code  integer" is more generic and should work with any language.

To represent factorials, the user supplied function fact is  called, since there is no equivalent function or operator in these languages. fact functions for several languages are supplied in  the directory examples in the Mathomatic source distribution.

For the most efficient code, use the simplify and optimize commands on your equations before running this code command.

The C and Java languages require that all variables be defined before use. The variables command is provided for this. The output of the variables command should be prepended to the output of the code command before compiling.

Compare command

Syntax: compare ["symbolic"] ["approximate"] equation-number ["with" equation-number]

This command compares two equation spaces to see if they are mathematically the same (equal). If only one equation number is  supplied, the comparison is between the current equation and the specified equation. The comparison will be faster and more accurate if both equations are previously solved for the same variable.

The simplify command is automatically used on both expressions if  needed. If this compare command says the equations or expressions are identical, then they are definitely identical. If this command says the equations or expressions differ, then they might be identical if they are too hard for Mathomatic to simplify completely.

The "symbolic" option uses the "simplify symbolic" option when simplifying. This option sometimes simplifies more, but is not 100% mathematically correct.

The "approximate" option runs the approximate command on both expressions or equations. This makes the compare command more likely to succeed.

Copy command

Syntax: copy [equation-number-ranges]

This command simply duplicates the current or specified equation spaces. The new, duplicated expressions are stored in the next available equation spaces and displayed, along with their new equation numbers.

Derivative command

Syntax: derivative ["nosimplify"] [variable or "all"] [order]  ate Altern command name: differenti                                ate

This command computes the exact symbolic derivative of a function with respect to the specified variable, using the current expression or RHS of the current equation as the function. It does this by recursively applying the proper rule of differentiation for each operator encountered. The result is fully simplified with the simplify command, unless the "nosimplify" option is specified. If  successful, the derivative is placed in the next available equation space, displayed, and becomes the current equation. The original equation is not modified.

Specifying "all" computes the derivative of the current expression with respect to all normal variables. It is equivalent to adding together the derivatives with respect to each variable.

Specifying the order allows you to repeatedly differentiate and simplify. The default is to differentiate once (order=1).

If differentiation fails, it is probably because symbolic logarithms are required. Symbolic logarithms are not implemented in Mathomatic, yet. Also, the factorial, modulus, and integral divide operators cannot be differentiated if they contain the specified variable. Because this command handles almost everything, a numerical differentiation command is not needed.

Some examples:

1â> x^3+x^2+x+ 1. 1: (x^3) + (x^2) + x +                       1

1â> derivative ; no need to specify the variable if there is only one Differentiating with respect to (x) and simplifying... 1. 2:  (3*(x^2)) + (2*x) + 1

2â> a*x^ 1. 3: a*(x^n) ; show a general rule of differentiatio n

3â> derivative x Differentiating with respect to (x) and simplifying... 1. 4: a*n*(x^(n - 1))

4â> integrate x ; undo the differentiation 1. 5: a*(x^n)

5â>

Display command

Syntax: display ["factor"] ["mixed"] [equation-number-ranges]

This command displays stored expressions in nice looking multi-line 2D (two-dimensional) fraction format, where division is displayed as a numerator over a fractional line (made up of dashes) over a  denominator. If the width (number of columns) required for this 2D display exceeds the screen width, the expression is displayed instead in single-line (one-dimensional) format by the list command. The screen width is set automatically on startup, or by  the "set columns" option.

Non-integer constants are converted to reduced fractions, if  they are exactly equal to a simple fraction and it would improve readability.

The "factor" option causes all integers, less than or equal to 15 decimal digits long, to be factored into their prime factors before display, including the numerator and denominator of fractions. To always factor integers like this before display, use the "set  factor_integers" option.

The "mixed" option displays mixed fractions when possible. A mixed fraction is an expression like (2 + (1/4)), rather than the simple fraction 9/4. To always display mixed fractions, use the "set  fractions mixed" option.

Divide command

Syntax: divide [variable]

This command is for doing and experimenting with polynomial and numerical division and Greatest Common Divisors (GCD). It simply prompts for two expressions and divides them, displaying the result and the GCD. Mathomatic has general symbolic polynomial division and GCD routines used by the simplify command which this divide command calls without any other processing if two polynomials are entered.

This command prompts for the dividend (the main polynomial) and then the divisor (what you want to divide the main polynomial  by). The polynomial quotient, remainder, and GCD are displayed. The power of the highest power term in the dividend must be  greater than or equal to the power of the highest power term in   the divisor, otherwise the polynomial division will fail (as it   should). In other words, the degree of the divisor polynomial must be less than or equal to the degree of the dividend polynomial. A  variable may be specified on the command line as the base variable of the two polynomials, but is usually not necessary because a base variable is automatically selected.

If two numbers are entered instead of polynomials, the result of  the numerical division, the GCD, and the Least Common Multiple (LCM) are displayed. The LCM of two numbers is the smallest positive number that can be evenly divided by both numbers separately, without remainder. The LCM is the same as the Lowest Common Denominator (LCD) of two fractions and is the two numbers multiplied together, divided by the GCD.

The Greatest Common Divisor of a and b is defined as the greatest positive number or polynomial that evenly divides both a and b  without remainder. In Mathomatic, the GCD is not necessarily integer, unless both a and b are integers. The Euclidean GCD algorithm is used by Mathomatic to compute the GCD for numbers and polynomials.

The GCD is the best way to reduce any fraction to its simplest form. Just divide the numerator and denominator by their GCD, and replace them with the quotients (there will be no remainder), and the fraction is completely reduced. The GCD is also used when factoring polynomials and for simplifying.

The Euclidean GCD algorithm of successive divides is the best way to compute the GCD for numbers and polynomials. Multivariate polynomial GCD computation usually requires recursion of the GCD algorithm or other methods. Currently the polynomial GCD routine in  Mathomatic is not recursive, making it univariate and simpler and faster. Because it is univariate, Mathomatic may be unable to find the GCD of polynomials with many variables.

The polynomial division algorithm in Mathomatic is generalized and able to handle any number of variables (multivariate), and division is always done with one selected base variable to be  proper polynomial division. Being generalized, the coefficients of  the polynomials may be any mathematical expression.

An example of polynomial division:

1â> divide Enter dividend: (x^4) - (7*(x^3)) + (18*(x^2)) -    2 (22*x) + 1 Enter divisor: (x^2) - (2*x) +                        2

Polynomial division successful using variable (x). The quotient is: 6 + (x^2) - (5*x)

The remainder is: 0

Polynomial Greatest Common Divisor (iterations = 1): (x^2) - (2*x) + 2 1â>

The number of iterations displayed is the number of polynomial divides done to compute the GCD with the Euclidean algorithm.

Echo command

Syntax: echo [text]

This command outputs a line of text, followed by a newline.

Edit command

Syntax: edit [file-name]

This command invokes the ASCII text editor specified by the EDITOR environment variable. By default, all equation spaces are edited. Access to shell (/bin/sh) is required for this command to work.

Type "edit" at the Mathomatic prompt to edit all expressions and equations you have entered for the current session. When you are done editing Mathomatic expressions and commands, save and exit the editor to have them automatically read in by Mathomatic. If  Mathomatic gets an error reading in its new input, observe where the error is and continue, to automatically re-enter the editor.

To edit an existing file and have it read in, specify the file name on the edit command line.

Eliminate command

Syntax: eliminate variables or "all" ["using" equation-number]

This command is used to combine simultaneous equations, by  automatically substituting variables in the current equation. It will scan the command line from left to right, replacing all occurrences of the specified variables in the current equation with the RHS of solved equations. The equation to solve can be specified with the "using" argument. If "using" is not specified, Mathomatic will search backwards, starting at the current equation minus one, for the first equation that contains the specified variable. The equation to solve is solved for the specified variable, then the RHS is inserted at every occurrence of the specified variable in  the current equation. That effectively eliminates the specified variable from the current equation, resulting in one less unknown.

There is an advantage to eliminating multiple variables in one command: each equation will be used only once. If the same equation is solved and substituted into the current equation more than once, it will cancel out.

"eliminate all" is shorthand for specifying all normal variables on the command line. "repeat eliminate all" will eliminate all variables repeatedly until nothing more can be substituted, using each equation only once.

Here is a simple example of combining two equations:

1â> ; This arrives at the distance between two points in 3D space from the 1â> ; Pythagorean theorem (distance between two points  on a 2D plane). 1â> ; The coordinate of point 1, 2D: (x1, y1), 3D: (x1, y1, z1). 1â> ; The coordinate of point 2, 2D: (x2, y2), 3D: (x2, y2, z2). 1â> 1â> L^2=(x1-x2)^2+(y1-y2)^2 ; Distance formula for a 2D Cartesian plane. 1. 1: L^2 = ((x1 â x2)^2) + ((y1 â y2)^2)

1â> distance^2=L^2+(z1-z2)^2 ; Add another leg. 1. 2: distance^2 = (L^2) + ((z1 â z2)^2)

2â> eliminate L ; Combine the two equations. Solving equation #1 for (L) and substituting into the current equation... 1. 2:  distance^2 = ((x1 â x2)^2) + ((y1 â y2)^2) + ((z1 â z2)^2)

2â> distance ; Solve to get the distance formula for 3D space. 1

1. 2: distance = ((((x1 â x2)^2) + ((y1 â y2)^2) + ((z1 â z2)^2))^â)Â·sign2

2

Finished reading file "pyth3d.in". 2â>

Extrema command

Syntax: extrema [variable] [order]

This command computes possible extrema (the minimums and maximums) of the current expression by default, or possible inflection points when order is 2. The result is placed in the next available equation space, displayed, and becomes the current equation. The original expression is not modified.

By default (order=1) this command computes stationary points. The stationary points of function f(x) are the values of x when the slope (derivative) equals zero. Stationary points are likely the local minimums and maximums of the function, unless the point is  determined to be an inflection point.

For y=f(x), where f(x) is the RHS and x is the specified variable, this command gives the values of x that make the minimums and maximums of y. This is computed by taking the derivative of f(x), setting it equal to zero, and then solving for x.

The number of derivatives to take before solving can be specified by the order argument (default is 1). When order is 2, possible points of inflection are determined. A point of inflection is a  point on a curve at which the second derivative changes sign from positive to negative or negative to positive.

1â> y= 1. 1: y =                                             x^2

1â> extrema x 1. 2: x = 0

2â>

This function is a parabola, with the minimum at x=0.

Factor command

Syntax: factor ["number" [integers]] or ["power"] [equation-number-range] [variables] Alternate command name: collect

This command will factor manually entered integers, displaying all prime factors, when "numbers" is specified on the command line. Otherwise this command will factor variables in expressions in the specified equation spaces.

This command does not factor polynomials. To factor polynomials with repeated or symbolic factors, use the simplify or fraction commands. To factor integers in equation spaces and display, use the "display factor" command.

"factor number" will prompt for an integer to factor, which may be up to 15 decimal digits. The plural "factor numbers" will repeatedly prompt for integers to factor, until an empty line is  given. Multiple integers, or multiple expressions that evaluate to  integers, can be specified on the same line and should be separated with spaces.

Without the "number" option, this command will factor out repeated sub-expressions in equation spaces. When factoring expressions, this command does some basic simplification and factors out any common (equal) sub-expressions it can, unless variables are specified on the command line, in which case only common sub-expressions containing those variables are factored out. This collects together terms involving those variables.

For example, with the following expression:

(b*c) + (b*d)

variable b factors out and the result of this command is:

b*(c + d)

If no variables are specified on the command line, this command factors even more: the bases of common (equal) bases raised to any power are factored out. This is called Horner factoring or Horner's  rule.

For example:

1â> (2+3x)^2*(x+ 1. 1: ((2 + (3Â·x))^2)Â·(x +                 y)

1â> unfactor ; expand 1. 1: (4Â·x) + (12Â·(x^2)) + (9Â·(x^3)) + (4Â·y) + (12Â·xÂ·y) + (9Â·(x^2)Â·y)

1â> factor x ; collect terms containing x 1. 1: (xÂ·(4 + (12Â·y))) + ((x^2)Â·(12 + (9Â·y))) + (9Â·(x^3)) + (4Â·y)

1â> x^3+2x^2+3x+4 ; enter another expression 1. 2: (x^3) + (2Â·(x^2)) + (3Â·x) + 4

2â> factor ; Horner factoring 1. 2: (xÂ·((xÂ·(x + 2)) + 3)) + 4

2â>

"factor power" does only power operator collecting; that is, (a^n)*(a^m)*(b^n)*(b^m) is transformed to (a*b)^(n+m). With this option, variables cannot be specified.

To undo any kind of factoring in selected equation spaces, use the unfactor command.

For command

Syntax: for variable start end [step-size]

This command only evaluates and displays the current expression for each value of the index variable as the index variable goes from start to end in steps of step-size (default 1). Nothing is  modified.

The syntax of this command is the same as the sum and product commands. This command is not a programming construct, and only allows automatically plugging in sequential values of a variable in  the current expression, displaying the results.

Fraction command

Syntax: fraction ["numerator"] ["denominator"] [equation-number-range]

This command reduces and converts expressions with any algebraic fractions in them into a single simple algebraic fraction (usually  the ratio of two polynomials), similar to what Maxima's rat function does. It does this by combining all terms added together with like and unlike denominators to a single simple fraction with a like denominator. Unlike denominators are combined by converting the terms to what they would be over like (common) denominators. Fractions are reduced by cancelling out the Greatest Common Divisor (GCD) of the numerator and denominator.

The result of this command is mathematically equivalent to the original expression, unless the "numerator" or "denominator" option is specified, in which case the result is the numerator or  denominator of the original expression. If both the "numerator" and "denominator" options are specified at once, this command will return with failure if the result is not a fraction, otherwise the entire fraction is returned.

Note that algebraic fractions added together with like denominators are automatically combined by almost any Mathomatic command. Polynomial factoring is only done by the simplify command and this fraction command, to improve simplification.

Example:

1â> 1/x+1/y+1/z 1 1

1. 1: â + â + â

x y z

1â> fraction (((y + x)Â·z) + (xÂ·y))

1. 1: âââââââââââââââââââââ

(xÂ·yÂ·z)

1â> unfactor ((yÂ·z) + (xÂ·z) + (xÂ·y))

1. 1: âââââââââââââââââââââââ

(xÂ·yÂ·z)

1â> unfactor fraction 1 1

1. 1: â + â + â

x y z

1â>

"repeat fraction" repeatedly runs the fraction command until the result stabilizes to the smallest size expression or fraction.

If more simplification is needed, use the "simplify fraction" command instead.

Help command

Syntax: help [topics or command-names]

This command is provided as a quick reference while running Mathomatic. If the argument is a command name, a one line description and one line syntax of that command are displayed. Command names may be abbreviated.

Entering this command by itself will display a list of topics and commands. "help copyright" will display the copyright and license notice for the currently running version of Mathomatic.

To create a quick reference of all Mathomatic commands, type:

help all >quickref.txt

Imaginary command

Syntax: imaginary [variable]

This command copies the imaginary part of a complex number expression to the next available equation space. If the current expression or RHS of the current equation is not complex, the warning message "Expression is not a mix" will be displayed. A  complex number expression contains both imaginary and real number parts. To copy only the real number part, see the real command.

The separation variable may be specified on the command line, the default is the imaginary unit i. i is really a mathematical constant equal to the square root of -1, but it can often be  specified where variables are required in Mathomatic.

If successful, the result may contain the imaginary unit i or the specified separation variable.

1â> (a+b*i)/(c+d*i (a + (bÂ·i)                                 )

1. 1: âââââââââââ

(c + (dÂ·i))

1â> imaginary iÂ·((bÂ·c) â (aÂ·d))

1. 2: âââââââââââââââââ

(c^2 + d^2)

2â>

Integrate command

Syntax: integrate ["constant" or "definite"] variable [order] Alternate command name: integral

This command computes the exact symbolic integral of a polynomial function with respect to the specified variable, using the current expression or RHS of the current equation as the function. If  successful, the simplified integral is placed in the next available equation space, displayed, and becomes the current equation.

The default is to compute and display the indefinite integral, also known as the antiderivative or primitive. The antiderivative is the inverse transformation of the derivative.

"integrate constant" simply adds a uniquely named constant of  integration ("C_1", "C_2", etc.) to each integration result. The constants of integration here are actually variables that may be  set to any constant.

"integrate definite" also integrates, but prompts you for the lower and upper bounds for definite integration. If g(x) is the indefinite integral (antiderivative) of f(x), the definite integral is:

g(upper_bound) â g(lower_bound)

Specifying the order allows you to repeatedly integrate. The default is to integrate once (order=1).

This command is only capable of integrating polynomials.

1â> x^3+x^2+x+ 1. 1: (x^3) + (x^2) + x +                       1

1â> integrate x (x^4) (x^3) (x^2)

1. 2: - + - + - + x

4 3 2

2â> derivative x ; check the result Differentiating with respect to (x) and simplifying... 1. 3: (x^3) + (x^2) + x + 1

3â> compare 1 Comparing #1 with #3... Expressions are identical. 3â>

Laplace command

Syntax: laplace ["inverse"] variable

This command computes the Laplace transform of a polynomial function of the specified variable, using the current expression or RHS of the current equation as the function. If successful, the transformed function is placed in the next available equation space, displayed, and becomes the current equation.

This command only works with polynomials.

A Laplace transform can be undone by applying the inverse Laplace transform. That is accomplished by specifying the "inverse" option to this command.

1â> y= 1. 1: y =                                               1

1â> laplace x ; compute the Laplace transform of               1 1

1. 2: y = -

x

2â> a*x^n ; a general polynomial term 1. 3: a*(x^n)

3â> laplace x a*(n!)

1. 4: ---

(x^(n + 1))

4â> laplace inverse x 1. 5: a*(x^n)

5â>

Limit command

Syntax: limit variable expression

This command takes the limit of the current expression as variable goes to the specified expression. The result is always an equation and placed in the next available equation space and displayed.

L'Hopital's rule for taking limits is not used by this command. Instead the limit is taken by simplifying, solving, and substituting. This command is experimental and does not know about negative infinity and occasionally gives a wrong answer when dealing with infinities.

1â> 2x/(x+1) 2Â·x

1. 1: âââââââ

(x + 1)

1â> limit x inf ; take the limit as x goes to infinity Solving... 1. 2: limit = 2

1â>

List command

Syntax: list ["export"/"maxima"/"gnuplot"/"hexadecimal"          ] [equation-number-ranges                                          ]

This command displays stored expressions in single-line (one-dimensional) format. A single formatting option may be specified. With no option specified, expressions are displayed in decimal, Mathomatic format. The result can then be read back in by Mathomatic. Formatting options: "list export" outputs expressions in a generally exportable, single-line form at. You can cut-and-paste the expressions or redirect them to a file, so they ca n be read in with a different math program.

"list maxima" is for making expression output compatible with the free comput er algebra system Maxima.

"list gnuplot" is for making expression output that is compatible with the fr ee graphing utility gnuplot.

"list hexadecimal" displays as normal, except constants are displayed as hexa decimal values in exponential notation, where no more precision is lost, as it w ould be if converted to decimal. The result that is displayed can be read back i n by Mathomatic exactly as it was.

This list command simply outputs expressions and equations as  stored internally by Mathomatic, translating them to the requested output format. There is no simplification and nothing more is done.

To display equation spaces in better looking multi-line fraction format, use the display command.

NIntegrate command

Syntax: nintegrate ["trapezoid"] variable [partitions]

This is a numerical integrate command that will work with almost any expression and will not generally compute the exact symbolic integral except for the simplest of expressions. This command will prompt you for the lower and upper bounds to perform numerical definite integration on the current expression or the RHS of the current equation, with respect to the specified variable. These bounds may be any expression not containing infinity.

This command uses Simpson's rule to do the approximation. Accuracy varies widely, depending on the expression integrated, the interval between the lower and upper bounds, and the number of partitions. The default is to split the interval into 1000 partitions. Setting the number of partitions greater than 10000 seldom is helpful, because of accumulated floating point round-off error.

If "trapezoid" is specified on the command line, the trapezoid method is used instead, which is usually less accurate than Simpson's rule. The way the trapezoid method works is: the interval from the lower bound to the upper bound is divided into 1000 partitions to produce 1000 trapezoids, then the area of each trapezoid is added together to produce the result. This means that the accuracy usually decreases as the interval increases. Simpson's  rule uses the same method, with quadratic curves bounding the top of each trapezoid, instead of straight lines, so that curves are approximated better.

If the integration fails, chances of success are greater if you reduce the number of variables involved in the integration.

If there are any singularities, such as division by zero, between the bounds of integration, the computed result will be wrong.

Here is an example of successful numerical integration:

1â> y=x^0.5/(1-x^3) 1 (x^â) 2

1. 1: y = âââââââââ

(1 â x^3)

1â> nintegrate x Warning: Singularity detected, result of  numerical integration might be wrong. Enter lower bound: 2 Enter upper bound: 4 Approximating the definite integral of the RHS using Simpson's rule (1000 partitions)... Numerical integration successful: 1. 2: y = -0.16256117185712

1â>

This example avoids the singularity at x=1 and is accurate to 12 digits.

Optimize command

Syntax: optimize [equation-number-range]

This command splits the specified equations into smaller, more efficient equations with no repeated expressions. Each repeated sub-expression becomes a new equation solved for a temporary variable (named "temp").

Note that the resulting assignment statements may be in the wrong order for inclusion in a computer program with the code command; the order and generated code should be visually checked before using. The source code statements may need to be manually put in  the right order to work properly.

1â> y = (a+b+c+d)^(a+b+c+ 1. 1: y = (a + b + c + d)^(a + b + c d)  +                                                                d)

1â> optimize 1. 2: temp = a + b + c + d

1. 1: y = temp^temp

1â> eliminate temp ; undo the optimization Solving equation #2 for (temp)... 1. 1: y = (a + b + c + d)^(a + b + c + d)

1â>

Pause command

Syntax: pause [text]

This command waits for the user to press the Enter key. It is  useful in text files (scripts) that are read in to Mathomatic. Optionally, a one line text message may be displayed.

Typing "quit" or "exit" before pressing the Enter key will fail this command and abort the current script.

This command is ignored during test mode and when input is not a  terminal.

Plot command

Syntax: plot [equation-number-ranges] [x-range [y-range]         ] [expressions,                                                    ]

This command automatically plots the given mathematical expressions in 2D or 3D with the free graphing utility gnuplot. The specified equations are plotted at once, along with any comma separated expressions on the command line. Each expression should contain the variable x to be successfully plotted. If it also contains the variable y, a 3D surface plot is performed in Cartesian space, with the x, y, and z axes projected on your 2D display.

A gnuplot X range, Y range, and even a Z range may be specified on  the plot command line. For example, "plot [-128:128]" will make the X axis go from -128 to 128, and "plot [-128:128] [-1:1]" will also make the Y axis go from -1 to 1. A pair of straight brackets [] must surround each range.

Plotting of an equation space with the imaginary number i in it  is allowed, however plots are always plotted on real Cartesian space, showing only real number points. If there are no real number points, the plot will fail.

Gnuplot must be installed and accessible from shell by typing "gnuplot" for this command to work. All functions and operators of  gnuplot can be used in the plot expression. If gnuplot fails, the gnuplot command line is displayed to show what failed. To always show the gnuplot command line, enter "set debug 1" beforehand, to  set debug level 1 for the current session.

Plots may be customized. Typing "set plot_prefix" at the Mathomatic main prompt, followed by a string of 8-bit characters, will prepend the string to the gnuplot plot string, when using the Mathomatic plot command. For example, if you type "set plot set polar\;" at  the Mathomatic main prompt, 2D polar plots will be performed with subsequent plot commands, using variable "t" instead of "x".

Product command

Syntax: product variable start end [step-size]

This command performs a mathematical product (â) of the current expression or the RHS of the current equation as the index variable goes from start to end in steps of step-size (default 1). The result is stored and displayed. The current equation is not changed.

1â> y= 1. 1: y =                                             a*x

1â> product Enter variable: x x = 1 To: 10 1. 2: y = 3628800*(a^10)

1â> 10! Answer = 3628800

1â>

To see all of the intermediate results, type "set debug 1" before this.

Push command

Syntax: push [equation-number-ranges]

This command pushes the current or specified equation spaces into the readline history, for easy editing and re-entry by using the cursor keys. The equation spaces are not modified. After this command, the pushed expressions are accessed by pressing the cursor UP (up arrow) key.

This command only exists if Mathomatic was compiled with readline support.

Quit command

Syntax: quit [exit-value] Alternate command name: exit

Type in this command to exit Mathomatic. All expressions in memory are discarded. To save all your expressions stored in equation spaces, use the save command before quitting.

The optional decimal exit value argument is the exit status returned to the operating system. The default is 0, meaning OK.

Another way to quickly exit Mathomatic is to enter your operating system's End-Of-File (EOF) character at the beginning of an  input line. The EOF character for Unix-like operating systems is  Control-D.

Read command

Syntax: read file-name

This command reads in a text file as if you typed the text of the file in at the main prompt. The text file (also known as a script) should contain Mathomatic expressions and commands. Read commands may be nested; that is, the file read in may contain further read commands. If any command or operation returns with an error, the read operation is aborted.

Expressions saved with the save command are restored using this read command.

This command is automatically executed when you start up Mathomatic with file names on the shell command line.

The default file name extension (suffix) for Mathomatic input files is ".in". A file name extension is not required.

Real command

Syntax: real [variable]

This command copies the real part of a complex number expression to the next available equation space. If the current expression or  RHS of the current equation is not complex, the warning message "Expression is not a mix" will be displayed. A complex number expression contains both imaginary and real number parts. To copy only the imaginary number part, see the imaginary command.

The separation variable may be specified on the command line, the default is the imaginary unit i.

There will be no imaginary numbers in the result.

1â> (a+b*i)/(c+d*i (a + (bÂ·i)                                 )

1. 1: âââââââââââ

(c + (dÂ·i))

1â> real ((aÂ·c) + (bÂ·d))

1. 2: âââââââââââââââ

(c^2 + d^2)

2â>

Repeat command

Syntax: repeat command-line

Any command may be preceded by "repeat", which sets the repeat flag for that command. Most commands ignore the repeat flag. Currently the calculate, divide, eliminate, fraction, roots, and simplify commands are repeatable.

Replace command

Syntax: replace [variables ["with" expression]]

By default, this command prompts you for a replacement expression for each variable in the current expression or equation. If an  empty line is entered for a variable, that variable remains unchanged. The result is placed in the current expression or  equation and displayed.

This command is very useful for renaming or substituting variables. It is smart enough to do variable interchange.

If variables are specified on the command line, you will be  prompted for those variables only and all other variables will be   left unchanged.

If "with" is specified, you won't be prompted and all variables specified will be replaced with the expression that follows.

Roots command

Syntax: roots root real-part imaginary-part

This command displays all complex number roots of a given positive integer root of a complex number. The number of the root equals the number of correct solutions. For example, "3" would give the 3 roots of the cube root. This command will also convert rectangular coordinates to polar coordinates.

The floating point real part (X coordinate) and imaginary part (Y  coordinate) of the complex number are prompted for. Just enter an  empty line if the value is zero. The polar coordinates of the given complex number are displayed first, which consist of an amplitude (distance from the origin) and an angle (direction). Then each root is calculated and displayed, along with an "Inverse check" value, which should equal the original complex number. The "Inverse check" is calculated by repeated complex number multiplication of the root times itself.

Since double precision floating point is used, the results are only accurate from 10 to 12 decimal digits.

1â> roots Enter root (positive integer): 3 Enter real part (X): 8 Enter imaginary part (Y):

The polar coordinates before root taking are: 8 amplitude and 0 radians (0 degrees).

The 3 roots of (8)^(1/3) are:

2 Inverse check: 8

-1 +1.73205080757*i Inverse check: 8

-1 -1.73205080757*i Inverse check: 8

1â>

Save command

Syntax: save file-name

This command saves all expressions in all equation spaces into the specified text file. If the file exists, Mathomatic will ask you if  you want to overwrite it. The saved expressions and equations can be reloaded (restored) at a later time by using the read command. You can edit the saved expressions with your favorite ASCII text editor.

Another way to save all equation spaces exactly as they are is to  enter:

list hex all >file-name

into the main Mathomatic prompt, however this saves all constants in hexadecimal and it always overwrites "file-name". Because internally constants are binary, hexadecimal can represent them exactly. Reading in the result of this command should result in  exactly the same expressions in the same equation spaces.

Set command

Syntax: set "no"] option [value â¦

This command sets various options listed below, for the current session. They remain in effect until you exit Mathomatic. Typing "set" without arguments shows all current option settings.

The specified option is turned on, unless it is preceded by "no", which turns it off. Some options can be followed by a number and some options can be followed by text, setting that option to the following value.

To permanently change the default settings of Mathomatic, set options can be put in the file ~/.mathomaticrc (for Microsoft Windows: mathomatic.rc in the same directory as the Mathomatic executable or in the $HOME directory). It should be a text file with one set option per line, without the word "set". That file is loaded every time Mathomatic starts up, when not in test mode. The command "set save" conveniently saves all current session options in that file, making them permanent. "set no save" removes that file, so then Mathomatic will start up with all options set to the defaults. Options: "set precision" followed by an integer less than or equal to 15 sets the disp lay precision in number of decimal digits for most numerical output. All arithme tic in Mathomatic is double precision floating point, so it is not useful to set this higher than 15 digits. Display output is rounded to the precision set by t his option, though internally all constants are rounded to fit in a double preci sion float data type of about 15 decimal digits precision. The default for this display "precision" set variable is 14 digits.

"set no autosolve" will turn off solving by typing the solve variable at the main prompt, unless an equals sign (=) is included. This allows entry of single variable expressions into equation spaces. Solving is always allowed using the s olve command.

"set no autocalc" will turn off automatic approximation and display with the calculate command of purely numerical input entered at the main prompt.

"set no autoselect" will turn off selecting of equation spaces by just typing in the equation number. Selecting is still possible using the # operator.

"set auto" and "set no auto" turn on and off all three of the above options a t once. If turned off, all expressions entered at the main prompt will be entere d into equation spaces, so they can be operated on by Mathomatic commands.

"set debug" followed by an integer sets the debug level number. The initial d ebug level is 0, for no debugging. If the level number is 2 ("set debug=2"), Mat homatic will show you how it solves equations. Level 4 debugs the simplify comma nd and its polynomial routines. Levels 5 and 6 show all intermediate expressions. Set the debug level to -1 for suppression of warnings and helpful messages.

"set case_sensitive" will set alphabetic case sensitive mode, while "set no c ase" will set case insensitive mode (all alphabetic characters will be converted to lower case). "set case" is the default.

"set color" enables color mode. When color mode is on, ANSI color escape sequ ences are output to make expressions easier to read. Requires a terminal emulato r that supports ANSI color escape sequences. Put the line "no color" in your ~/. mathomaticrc file to always startup Mathomatic with color mode disabled, unless the -c or -b option is given.

"set bold_colors" enables highlighting in color mode. It makes all output bri ghter. Use this if any colors are difficult to see. This command can be shortene d to "set bold". The -b option also sets this.

"set columns" followed by a positive integer sets the expected number of char acter columns (width) on a terminal screen with line wrap. When an expression is to be displayed in multi-line fraction format (two-dimensional) and it is wider than this number of screen columns, single-line format is used instead, because otherwise the expression would not display properly due to wrap-around. "set no columns" or "set columns=0" does no checking for screen size and always display s in fraction format, which is useful for a terminal that doesn't wrap lines. In most cases, this value is set automatically to be the correct width on startup, or by typing "set columns". This value only affects 2D expression output.

"set wide" sets the number of screen columns (like "set columns=0" above does ) and screen rows to 0, so that no checking for screen size is done, forcing 2D display of expressions that are too wide to display properly on a terminal with line wrap. Setting this option is useful if output is going to a file.

"set no display2d" will set the expression display mode to single-line format (one-dimensional) using the list command, instead of the default fraction forma t (two-dimensional) using the display command. Single-line format is useful when feeding Mathomatic output into another program.

fractions_display_mode is a new set option that allows controlling whether or not to display numerical fractions. It also can set the preference of simple or mixed fractions. "set no fractions_display" sets the mode to 0, disabling the a utomatic conversion of non-integer constants like .5 to 1/2 for display. "set fr actions=1" means display some constants like .5 and 2.25 as their simple fractio n equivalents: 1/2 and 9/4. "set fractions=2" means display some constants as mi xed or simple fractions, for example, 9/4 is displayed as (2+(1/4)), which is a mixed fraction.

"set no prompt" turns off Mathomatic prompt output, exactly like the -q (quie t mode) option does.

"set preserve" will set "preserve_surds" mode, which suppresses approximation of real roots of real rational numbers, if the result will be irrational. A sur d is a quantity which can not be expressed by rational numbers. For example, 2^. 5 (the square root of two, which is irrational and a surd) will remain 2^.5 unle ss explicitly approximated or "set no preserve" is entered. This option is turne d on by default ("set preserve_surds"), allowing exact arithmetic and simplifica tion of surds. Surds can always be manually approximated with the approximate an d calculate commands.

"set rationalize" will set the "rationalize_denominators" option, which attem pts to move radicals from the denominator of fractions to the numerator during s implification. This is the default.

"set modulus_mode" requires an integer from 0 to 2. When modulo arithmetic is performed with the modulus (%) operator, mode 0 returns a result that is the sa me sign as the dividend (same as C's % operator gives), mode 1 returns a result the same sign as the divisor (same as Python's % operator gives), mode 2 returns an always positive or zero result. Mode 2 is the default and is 100% mathematic ally correct and the type of modulo operation that can be generally simplified. Mode 0 is the remainder modulus used by the C and Java computer languages. This mode only affects modulo (%) operator numeric calculations. All modulus simplifi cation rules are enabled, regardless of this mode.

"set finance" sets finance mode (fixed point display), which displays all con stants with 2 digits after the decimal point (for example: "2.00") and negative numbers are always parenthesized (for example: "(-2.00)"). Displayed constants a re rounded to the nearest cent, though internally there is no loss of accuracy. The number of digits to display after the decimal point may be specified with "s et finance=number". This is not truly fixed point arithmetic, it is floating poi nt displayed as fixed point. With double precision floating point, only the most significant 15 decimal digits will ever be correct. The default is no fixed poi nt display (finance=0).

"set factor_integers" sets automatic factoring of integers for all displayed expressions. When set, all integers of up to 15 decimal digits are factored into their prime factors before the result of any command is displayed. This command can be shortened to "set factor".

"set right_associative_power" associates power operators from right to left i n the absence of parentheses, so that x^a^b is interpreted as x^(a^b). Other mat h programs typically associate power operators from right to left. The default i s "set no right", which associates power operators the same as all other operato rs in Mathomatic, from left to right, resulting in (x^a)^b.

"set plot_prefix" followed by a string of 8-bit characters will prepend the s tring to the gnuplot plot string, when using the Mathomatic plot command. For ex ample, "set plot set polar\;" typed at the Mathomatic main prompt will allow 2D polar plots with subsequent plot commands, using variable "t" instead of "x".

"set special_variable_characters" followed by a string of 8-bit characters wi ll allow Mathomatic to use those characters in variable names, in addition to th e normal variable name characters, which are the alphanumeric characters and und erline (_). For example, "set special $" will allow variable names like "$a" and "a$", and "set special []" will allow entry of array elements like "a[3]" for s imulated array arithmetic. All non-alphanumeric characters in variable names are converted to underline characters (_) when exporting to a programming language or to a different program.

"set directory" followed by a directory name will change the current working directory to that directory. Not specifying a directory name defaults to your ho me directory. This command can be shortened to "set dir".

Simplify command

Syntax: simplify ["sign"] ["symbolic"] ["quick[est]"] ["fraction" ] [equation-number-range                                           ]

This command fully simplifies expressions in selected equation spaces. The result is usually the smallest possible, easily readable expression that is mathematically equivalent to the original expression.

Use this command whenever you think an expression is not completely simplified or if you don't like the way an expression is factored. Sometimes simplifying more than once or using the "symbolic" option simplifies even more. This command always tries to factor polynomials, if it will make the expression smaller, unless the "quickest" option is given.

More than one option may be specified at a time. Options: "simplify sign" conveniently expands all "sign" variables by substituting the m with all possible combinations of values (+1 and -1), storing the unique resul ts into new equation spaces and fully simplifying. This will effectively create one simplified equation for each solution.

The "symbolic" option indicates (a^n)^m should always be reduced to a^(n*m). This often simplifies more and removes any absolute value operations: ((a^2)^.5 = a^(2*.5) = a^1 = a). Try this "symbolic" option if the simplify command doesn' t simplify well, it often helps with powers raised to powers, though it is somet imes not 100% mathematically correct.

The "quick" option skips expanding sums raised to the power of 2 or higher, l ike (x+1)^5. Also, algebraic fractions might be simpler with this option, unlike denominators are not combined. This option often simplifies the best.

The "quickest" option very basically simplifies without any unfactoring nor f actoring. Running the simplify command with this option makes it complete almost instantaneously.

"simplify fraction" fully simplifies any expression with division in it down to the ratio of two polynomials or expressions, like Maxima's ratsimp function does. The result will be a single simple algebraic fraction, like the fraction command produces, the difference here being it will be completely simplified. Th is is accomplished by full simplification without doing "unfactor fraction" and without doing polynomial or smart (algebraic) division on the divide operators.

This simplify command applies many algebraic transformations and their inverses (for example, unfactor and then factor) and then tries to combine and reduce algebraic fractions and rationalize their denominators. Complex fractions are converted to simple fractions by making the denominators of fractions added together the same, combining and simplifying. Polynomials with repeated or  symbolic factors are factored next. Then smart (heuristic) and polynomial division are tried on any divides, possibly making complex fractions if it reduces the expression size. Lastly, the expressions are nicely factored and displayed.

Smart division is a symbolic division like polynomial division, but it tries every term in the dividend, instead of only the term with the base variable raised to the highest power, to make the expression smaller.

"repeat simplify" repeatedly runs the simplify command until the result stabilizes to the smallest size expression. This option functions the same as full simplify in other computer algebra systems.

Solve command

Syntax: solve ["verify"] ["for"] variable or "0"

This command automatically solves the current equation for the specified variable or for zero. The current equation is replaced with the result, and the result is displayed. See the section on  Solving Equations for details.

Solving for variable^2 or 0^2 will isolate the square root of  the largest expression containing the specified variable, and then square both sides of the equation. This is a new feature for properly squaring, cubing, etc. both sides of an equation, and it  works for any power and variable with any equation with roots.

The "verify" option checks the result of solving for a variable by plugging all solutions into the original equation and then simplifying and comparing. If the resulting equation sides are identical (an identity), a "Solutions verified" message is  displayed, meaning that all of the solutions are correct. Otherwise "Solution may be incorrect" is displayed, meaning at least one of  the solutions is incorrect or unverifiable. The "verify" option only works when solving for a single variable.

The "for" option has no additional effect and is to make entering this solve command more natural.

Sum command

Syntax: sum variable start end [step-size]

This command performs a mathematical summation (â) of the current expression or the RHS of the current equation as the index variable goes from start to end in steps of step-size (default 1). The result is stored and displayed. The current equation is not changed.

1â> y= 1. 1: y =                                             a*x

1â> sum Enter variable: x x = 1 To: 10 1. 2: y = 55*a

1â>

To see all of the intermediate results, type "set debug 1" before this.

Tally command

Syntax: tally ["average"]

This command prompts for a value, adds it to a running (grand) total, simplifies and displays the running total and optional average, and repeats. The average is the arithmetic mean, that is  the running total divided by the number of entries. When finished, the ending total is returned in the next available equation space, displayed, and made the current equation.

It is a convenient way of adding, subtracting, and averaging many numbers and/or variables. Enter a minus sign (â) before each value you wish to subtract. Enter an empty line to end.

Taylor command

Syntax: taylor ["nosimplify"] variable order point

This command computes the Taylor series expansion of the current expression or RHS of the current equation, with respect to the specified variable. The Taylor series uses differentiation and is  often used to approximate expressions near the specified point.

The Taylor series of f(x) at point a is the power series: 2 3 f'(a) (x - a) f(a) (x - a) f'(a) (x - a)

f(a) + - + --- + + â¦ 1! 2! 3!

where f'(x) is the first derivative of f(x) with respect to x, f(x) is the second derivative, etc.

This command prompts you for the point of expansion, which is  usually a variable or 0, but may be any expression. Typically 0 is  used to generate Maclaurin polynomials.

Then it prompts you for the order of the series, which is an  integer indicating how many derivatives to take in the expansion. The default is a large number, stopping when the derivative reaches 0.

The result is simplified unless the "nosimplify" option is  specified, and placed in the next available equation space, displayed, and becomes the current equation. The original expression is not modified.

1â> 1. 1:                                                    e^x

1â> taylor x Taylor series expansion around x = point. Enter point: 0 Enter order (number of derivatives to take): 8 Computing the Taylor series and simplifying... 8 derivatives applied. x^2 x^3 x^4 x^5 x^6 x^7 x^8

1. 2: 1 + x + âââ + âââ + âââ + âââ + âââ + ââââ + âââââ

2 6 24 120 720 5040 40320

2â>

Unfactor command

Syntax: unfactor ["fraction"] ["quick"] ["power"] [equation-number-range] Alternate command name: expand

This command algebraically expands expressions in selected equation spaces by multiplying out products of sums and exponentiated sums and then simplifying a little. One or more options may be  specified.

To illustrate what unfactoring does, suppose you have the following equations:

1â> a=b*(c+ 1. 1: a = b*(c +                                  d)

1â> z=(x+ 1. 2: z = (x +                                    y)^2

2â> unfactor all 1. 1: a = (b*c) + (b*d)

1. 2: z = (x^2) + (2*x*y) + (y^2)

2â>

(x+y)^2 is called an exponentiated sum and is converted to  (x+y)*(x+y) and then multiplied out, unless the "quick" option is given. Because this is a general but inefficient expansion method, exponentiated sums usually fail expansion when the power is greater than 10, growing larger than will fit in an equation space. "unfactor quick" only expands products of sums, and not exponentiated sums.

The opposite of unfactoring is factoring. Careful and neat factoring is always done by the simplify command.

"unfactor fraction" by itself expands algebraic fractions by also expanding division of sums, multiplying out each fraction with a  sum in the numerator into the sum of smaller fractions with the same denominator for each term in numerator. See the example under the fraction command.

"unfactor power" does only power operator expansion; that is, (a*b)^(n+m) is transformed to (a^n)*(a^m)*(b^n)*(b^m).

Variables command

Syntax: variables ["c" or "java" or "integer"] [equation-number-ranges]

Show all variable names used within the specified expressions, from most frequent to least frequently occurring. The programming language options output the variable definitions required to make code from the specified equations. This does not initialize any variables, it only defines them as needed for a C or Java compiler. This command is not necessary for generating Python code.

Version command

Syntax: version

Shows the version number, compilation options used, expression array size, maximum possible memory usage, invoked security level, and license summary, for the currently running version of  Mathomatic. The maximum memory usage displayed is the amount of RAM used when all equation spaces have been filled. It does not include (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Mathomatic

Introduction

LHS is shorthand for the Left-Hand Side of an equation. Similarly, RHS used here always means the Right-Hand Side.

In this document, text enclosed by straight brackets [like this] means it is optional and may be omitted. The word "expression" (without double quotes) always means a mathematical expression or  formula.

At the Mathomatic main prompt, you may enter: a numerical expression, which is instantly evaluated and displayed with the c alculate command (autocalc), an algebraic expression or equation, which is stored and made the current equ ation, a variable to solve the current equation for (autosolve), an equation number to select as the current equation (autoselect), a Mathomatic command (listed in this document), a question mark (?) for quick, short help (same as the help command), a semicolon followed by a comment (everything on a line after a semicolon is ignored), or an exclamation point (!) followed by a shell or system command. "!" by its elf invokes the default shell.

Mathomatic has about 43 commands that may be typed at the main prompt. Most commands operate on the current expression or equation by default. Commands are simple English words and are described below, in alphabetical order. If the command is longer than 4 letters, you only need to type in the first 4 letters for Mathomatic to recognize the command. Option words and arguments for commands follow the command name and are separated by spaces. Commands are not executed until you press the Enter key, and any missing command line arguments that don't have a default are prompted for. For example, the Mathomatic command

help calculate

gives short help and usage information for the calculate command. "help" is the command, "calculate" is the argument (which is also a  command, in this case).

Many commands have an optional equation number range argument, which specifies the equation spaces that the command is to operate on. An equation number range may be a single equation number, or a range of equation numbers separated by a dash (like "2-7",  which means every equation space between and including equations   2 and 7), or the word "all", which specifies all equation spaces. If omitted, the current expression or equation is assumed. If  pluralized as "equation-number-ranges" in the command syntax, that means multiple equation numbers and ranges may be specified for that command, separated by spaces.

A greater-than character (>) may be appended to the end of any command line, followed by a file name. This will redirect the output of the command to that file. If the file already exists, it  will be overwritten without asking. Note that any debugging output will be redirected, too. Two greater-than characters (>>) next to  each other will append command output to a file, like the Unix shell does. For example, the Mathomatic command

list export all >filename

will output all stored expressions and equations to a file in  exportable, single-line per equation format, so they can be read in   by a different math program. "list" is the command, "export" is the option word, and "all" is the equation number range.

Command option words, such as "export" in the above list command line, always come immediately after the command name and before anything else on the command line. These words direct the command to do a different, but related, task.

If Mathomatic becomes unresponsive (a rare occurrence), pressing Control-C once will usually safely abort the current operation and return you to the main prompt. If not, pressing Control-C three times in a row will exit Mathomatic, with a warning displayed the second time.

Selecting Expressions

To change the current equation at the main prompt, type a pound sign (#) followed by the equation space number you wish to select. The equation number may be preceded by plus (+) or minus (â), to select an equation relative to the current equation. This syntax also works when prompted for an expression, the RHS or the expression at that equation number is substituted.

New feature: Selecting an equation space to make it the current equation is now conveniently done by typing only the equation number at the main prompt. This is called the "autoselect" option.

Solving Equations

Syntax: variable or "0"

Mathomatic can solve symbolic equations for any variable or for zero. Solving is accomplished internally by applying identical mathematical operations to both sides of the equation and simplifying, or by plugging the general coefficients of the solve variable into the quadratic formula. The Mathomatic solve algorithm is the best possible for general algebra, however the result is  not verified by plugging the solutions into the original equation unless the "solve verify" command is used for solving.

To automatically solve the current equation for a variable, type the variable name at the main prompt. Mathomatic will proceed to  manipulate the current equation until all of the solutions for the specified variable are determined. If successful, the current equation is replaced with the solutions and then displayed.

Automatic cubic (third degree), quintic (fifth degree), and higher degree polynomial equation solving is not supported. Some cubic and quartic polynomial equations can be manually solved with the general equations in files "tests/cubic.in" and "tests/quartic.in". Quartic (fourth degree) polynomial equations can be automatically solved if they are biquadratic; that is, containing only degree four, degree two, and degree zero terms of the solve variable. Biquadratic polynomial equations of any degree can be generally solved by Mathomatic because they can be plugged into the quadratic formula.

Note that running the simplify command is a good idea after solving. The solve routine only unfactors the equation as needed to  solve it and the result is not completely simplified.

To solve for zero, type in "0" at the main prompt. Zero solving is a special solve that will always be successful and will transform most divide operators into mathematically equivalent multiplications and subtractions, so that the result will more likely be a valid polynomial equation:

1â> a=b+1/b ; this is actually a quadratic equation 1

1. 1: a = b + -

b

1â> 0 ; solve for zero 1. 1: 0 = (b*(b - a)) + 1

1â> unfactor ; expand, showing that this is a quadratic polynomial equation in "b" 1. 1: 0 = (b^2) - (b*a) + 1

1â> b ; solve for "b" Equation was quadratic. 1 (((((a^2) - 4)^-)*sign1) + a) 2

1. 1: b = -

2

1â> a ; solve for "a", to check the answer Raising both sides to  the power of 2 and unfactoring... ((b^2) + 1)

1. 1: a = ---

b

1â> simplify 1

1. 1: a = b + -

b

1â>

You can prefix the solve variable name with "=" to solve and swap equation sides, putting the solve variable on the right-hand side. Typing "=" by itself will only swap sides of the current equation and display.

To see all of the steps performed during a solve operation, type "set debug 2" before solving.

Approximate command

Syntax: approximate [equation-number-ranges]

This command operates on the current or specified equation spaces. It substitutes the special universal constants pi and e with their respective floating point values and approximates all constants, roots, and surds. This allows them to combine with other constants and may help with simplification and comparisons.

Calculate command

Syntax: calculate ["factor"] [feedback-variable number-of-iterations]

This command is the formula calculator that prompts for the value of each normal variable in the current expression or the RHS of the current equation. It then temporarily substitutes any entered values, and simplifies, approximates, and substitutes all "sign" variables with all possible combinations of values (+1 and  -1), displaying each solution as it does so. If all variables are supplied with constant values, then each solution will be a  constant, otherwise the result will contain the variables you didn't enter values for. Nothing is modified by this command.

This command is used to temporarily plug in values and approximate expressions and expand "sign" variables. When an expression with only numbers is entered at the main prompt, this calculate command is automatically invoked on it, displaying the calculated result without storing.

If there are any simple numerical fractions in the result, that is  displayed alongside the result.

To only simplify and expand "sign" variables in stored expressions without approximating, use the "simplify sign" command instead.

If a feedback variable and number of iterations are specified on  the calculate command line, you will be prompted for the initial value of the feedback variable, and the calculation will be  iterated, with the simplified result repeatedly plugged back into the feedback variable. This will be done until convergence (the  output equals the input) or when the specified number of iterations have been performed (if non-zero), whichever comes first. To see all of the intermediate values, type "set debug 1" before this.

"calculate factor" factors all integers and variables before display.

Examples of using the calculate command:

1â> y=x^2+ 1. 1: y = (x^2) +                                   x

1â> x ; solve for x Equation is a degree 2 polynomial in x.  Equation was quadratic. 1 -1Â·(1 + (((1 + (4Â·y))^â)Â·sign)) 2

1. 1: x = ââââââââââââââââââââââââ âââââââ

2

1â> calculate Enter y: 0 There are 2 solutions.

Solution number 1 with sign = 1: x = -1

Solution number 2 with sign = -1: x = 0

1â>

An example of iteration:

1â> x_new=(x_old+(y/x_old))/2 ; iterative formula for calculating the square root of y y (x_old + -) x_old

1. 2: x_new = ---

2

2â> calculate x_old 1000 ; iterate up to 1000 times to calculate the square root of 100 Enter y: 100 Enter initial x_old: 1 Convergence reached after 9 iterations. x_new = 10

2â>

Clear command

Syntax: clear [equation-number-ranges]

This command clears the specified equation spaces so that they are empty and can be reused. They are deleted from RAM only.

"clear all" quickly clears all equation spaces and restarts Mathomatic, resetting internal memory and deleting all expressions stored in RAM, without losing your settings.

Code command

Syntax: code ["c" or "java" or "python" or "integer"             ] [equation-number-ranges                                          ]

This command outputs the current or specified equations as floating point or integer assignment statements in C, Java, or Python programming language code. The default is C double precision floating point code. The output from this command should compile correctly and emulate the equation from Mathomatic, if no warnings are given.

With "code integer", integer arithmetic is assumed, otherwise double precision floating point arithmetic is assumed. "code  integer" is more generic and should work with any language.

To represent factorials, the user supplied function fact is  called, since there is no equivalent function or operator in these languages. fact functions for several languages are supplied in  the directory examples in the Mathomatic source distribution.

For the most efficient code, use the simplify and optimize commands on your equations before running this code command.

The C and Java languages require that all variables be defined before use. The variables command is provided for this. The output of the variables command should be prepended to the output of the code command before compiling.

Compare command

Syntax: compare ["symbolic"] ["approximate"] equation-number ["with" equation-number]

This command compares two equation spaces to see if they are mathematically the same (equal). If only one equation number is  supplied, the comparison is between the current equation and the specified equation. The comparison will be faster and more accurate if both equations are previously solved for the same variable.

The simplify command is automatically used on both expressions if  needed. If this compare command says the equations or expressions are identical, then they are definitely identical. If this command says the equations or expressions differ, then they might be identical if they are too hard for Mathomatic to simplify completely.

The "symbolic" option uses the "simplify symbolic" option when simplifying. This option sometimes simplifies more, but is not 100% mathematically correct.

The "approximate" option runs the approximate command on both expressions or equations. This makes the compare command more likely to succeed.

Copy command

Syntax: copy [equation-number-ranges]

This command simply duplicates the current or specified equation spaces. The new, duplicated expressions are stored in the next available equation spaces and displayed, along with their new equation numbers.

Derivative command

Syntax: derivative ["nosimplify"] [variable or "all"] [order]  ate Altern command name: differenti                                ate

This command computes the exact symbolic derivative of a function with respect to the specified variable, using the current expression or RHS of the current equation as the function. It does this by recursively applying the proper rule of differentiation for each operator encountered. The result is fully simplified with the simplify command, unless the "nosimplify" option is specified. If  successful, the derivative is placed in the next available equation space, displayed, and becomes the current equation. The original equation is not modified.

Specifying "all" computes the derivative of the current expression with respect to all normal variables. It is equivalent to adding together the derivatives with respect to each variable.

Specifying the order allows you to repeatedly differentiate and simplify. The default is to differentiate once (order=1).

If differentiation fails, it is probably because symbolic logarithms are required. Symbolic logarithms are not implemented in Mathomatic, yet. Also, the factorial, modulus, and integral divide operators cannot be differentiated if they contain the specified variable. Because this command handles almost everything, a numerical differentiation command is not needed.

Some examples:

1â> x^3+x^2+x+ 1. 1: (x^3) + (x^2) + x +                       1

1â> derivative ; no need to specify the variable if there is only one Differentiating with respect to (x) and simplifying... 1. 2:  (3*(x^2)) + (2*x) + 1

2â> a*x^ 1. 3: a*(x^n) ; show a general rule of differentiatio n

3â> derivative x Differentiating with respect to (x) and simplifying... 1. 4: a*n*(x^(n - 1))

4â> integrate x ; undo the differentiation 1. 5: a*(x^n)

5â>

Display command

Syntax: display ["factor"] ["mixed"] [equation-number-ranges]

This command displays stored expressions in nice looking multi-line 2D (two-dimensional) fraction format, where division is displayed as a numerator over a fractional line (made up of dashes) over a  denominator. If the width (number of columns) required for this 2D display exceeds the screen width, the expression is displayed instead in single-line (one-dimensional) format by the list command. The screen width is set automatically on startup, or by  the "set columns" option.

Non-integer constants are converted to reduced fractions, if  they are exactly equal to a simple fraction and it would improve readability.

The "factor" option causes all integers, less than or equal to 15 decimal digits long, to be factored into their prime factors before display, including the numerator and denominator of fractions. To always factor integers like this before display, use the "set  factor_integers" option.

The "mixed" option displays mixed fractions when possible. A mixed fraction is an expression like (2 + (1/4)), rather than the simple fraction 9/4. To always display mixed fractions, use the "set  fractions mixed" option.

Divide command

Syntax: divide [variable]

This command is for doing and experimenting with polynomial and numerical division and Greatest Common Divisors (GCD). It simply prompts for two expressions and divides them, displaying the result and the GCD. Mathomatic has general symbolic polynomial division and GCD routines used by the simplify command which this divide command calls without any other processing if two polynomials are entered.

This command prompts for the dividend (the main polynomial) and then the divisor (what you want to divide the main polynomial  by). The polynomial quotient, remainder, and GCD are displayed. The power of the highest power term in the dividend must be  greater than or equal to the power of the highest power term in   the divisor, otherwise the polynomial division will fail (as it   should). In other words, the degree of the divisor polynomial must be less than or equal to the degree of the dividend polynomial. A  variable may be specified on the command line as the base variable of the two polynomials, but is usually not necessary because a base variable is automatically selected.

If two numbers are entered instead of polynomials, the result of  the numerical division, the GCD, and the Least Common Multiple (LCM) are displayed. The LCM of two numbers is the smallest positive number that can be evenly divided by both numbers separately, without remainder. The LCM is the same as the Lowest Common Denominator (LCD) of two fractions and is the two numbers multiplied together, divided by the GCD.

The Greatest Common Divisor of a and b is defined as the greatest positive number or polynomial that evenly divides both a and b  without remainder. In Mathomatic, the GCD is not necessarily integer, unless both a and b are integers. The Euclidean GCD algorithm is used by Mathomatic to compute the GCD for numbers and polynomials.

The GCD is the best way to reduce any fraction to its simplest form. Just divide the numerator and denominator by their GCD, and replace them with the quotients (there will be no remainder), and the fraction is completely reduced. The GCD is also used when factoring polynomials and for simplifying.

The Euclidean GCD algorithm of successive divides is the best way to compute the GCD for numbers and polynomials. Multivariate polynomial GCD computation usually requires recursion of the GCD algorithm or other methods. Currently the polynomial GCD routine in  Mathomatic is not recursive, making it univariate and simpler and faster. Because it is univariate, Mathomatic may be unable to find the GCD of polynomials with many variables.

The polynomial division algorithm in Mathomatic is generalized and able to handle any number of variables (multivariate), and division is always done with one selected base variable to be  proper polynomial division. Being generalized, the coefficients of  the polynomials may be any mathematical expression.

An example of polynomial division:

1â> divide Enter dividend: (x^4) - (7*(x^3)) + (18*(x^2)) -    2 (22*x) + 1 Enter divisor: (x^2) - (2*x) +                        2

Polynomial division successful using variable (x). The quotient is: 6 + (x^2) - (5*x)

The remainder is: 0

Polynomial Greatest Common Divisor (iterations = 1): (x^2) - (2*x) + 2 1â>

The number of iterations displayed is the number of polynomial divides done to compute the GCD with the Euclidean algorithm.

Echo command

Syntax: echo [text]

This command outputs a line of text, followed by a newline.

Edit command

Syntax: edit [file-name]

This command invokes the ASCII text editor specified by the EDITOR environment variable. By default, all equation spaces are edited. Access to shell (/bin/sh) is required for this command to work.

Type "edit" at the Mathomatic prompt to edit all expressions and equations you have entered for the current session. When you are done editing Mathomatic expressions and commands, save and exit the editor to have them automatically read in by Mathomatic. If  Mathomatic gets an error reading in its new input, observe where the error is and continue, to automatically re-enter the editor.

To edit an existing file and have it read in, specify the file name on the edit command line.

Eliminate command

Syntax: eliminate variables or "all" ["using" equation-number]

This command is used to combine simultaneous equations, by  automatically substituting variables in the current equation. It will scan the command line from left to right, replacing all occurrences of the specified variables in the current equation with the RHS of solved equations. The equation to solve can be specified with the "using" argument. If "using" is not specified, Mathomatic will search backwards, starting at the current equation minus one, for the first equation that contains the specified variable. The equation to solve is solved for the specified variable, then the RHS is inserted at every occurrence of the specified variable in  the current equation. That effectively eliminates the specified variable from the current equation, resulting in one less unknown.

There is an advantage to eliminating multiple variables in one command: each equation will be used only once. If the same equation is solved and substituted into the current equation more than once, it will cancel out.

"eliminate all" is shorthand for specifying all normal variables on the command line. "repeat eliminate all" will eliminate all variables repeatedly until nothing more can be substituted, using each equation only once.

Here is a simple example of combining two equations:

1â> ; This arrives at the distance between two points in 3D space from the 1â> ; Pythagorean theorem (distance between two points  on a 2D plane). 1â> ; The coordinate of point 1, 2D: (x1, y1), 3D: (x1, y1, z1). 1â> ; The coordinate of point 2, 2D: (x2, y2), 3D: (x2, y2, z2). 1â> 1â> L^2=(x1-x2)^2+(y1-y2)^2 ; Distance formula for a 2D Cartesian plane. 1. 1: L^2 = ((x1 â x2)^2) + ((y1 â y2)^2)

1â> distance^2=L^2+(z1-z2)^2 ; Add another leg. 1. 2: distance^2 = (L^2) + ((z1 â z2)^2)

2â> eliminate L ; Combine the two equations. Solving equation #1 for (L) and substituting into the current equation... 1. 2:  distance^2 = ((x1 â x2)^2) + ((y1 â y2)^2) + ((z1 â z2)^2)

2â> distance ; Solve to get the distance formula for 3D space. 1

1. 2: distance = ((((x1 â x2)^2) + ((y1 â y2)^2) + ((z1 â z2)^2))^â)Â·sign2

2

Finished reading file "pyth3d.in". 2â>

Extrema command

Syntax: extrema [variable] [order]

This command computes possible extrema (the minimums and maximums) of the current expression by default, or possible inflection points when order is 2. The result is placed in the next available equation space, displayed, and becomes the current equation. The original expression is not modified.

By default (order=1) this command computes stationary points. The stationary points of function f(x) are the values of x when the slope (derivative) equals zero. Stationary points are likely the local minimums and maximums of the function, unless the point is  determined to be an inflection point.

For y=f(x), where f(x) is the RHS and x is the specified variable, this command gives the values of x that make the minimums and maximums of y. This is computed by taking the derivative of f(x), setting it equal to zero, and then solving for x.

The number of derivatives to take before solving can be specified by the order argument (default is 1). When order is 2, possible points of inflection are determined. A point of inflection is a  point on a curve at which the second derivative changes sign from positive to negative or negative to positive.

1â> y= 1. 1: y =                                             x^2

1â> extrema x 1. 2: x = 0

2â>

This function is a parabola, with the minimum at x=0.

Factor command

Syntax: factor ["number" [integers]] or ["power"] [equation-number-range] [variables] Alternate command name: collect

This command will factor manually entered integers, displaying all prime factors, when "numbers" is specified on the command line. Otherwise this command will factor variables in expressions in the specified equation spaces.

This command does not factor polynomials. To factor polynomials with repeated or symbolic factors, use the simplify or fraction commands. To factor integers in equation spaces and display, use the "display factor" command.

"factor number" will prompt for an integer to factor, which may be up to 15 decimal digits. The plural "factor numbers" will repeatedly prompt for integers to factor, until an empty line is  given. Multiple integers, or multiple expressions that evaluate to  integers, can be specified on the same line and should be separated with spaces.

Without the "number" option, this command will factor out repeated sub-expressions in equation spaces. When factoring expressions, this command does some basic simplification and factors out any common (equal) sub-expressions it can, unless variables are specified on the command line, in which case only common sub-expressions containing those variables are factored out. This collects together terms involving those variables.

For example, with the following expression:

(b*c) + (b*d)

variable b factors out and the result of this command is:

b*(c + d)

If no variables are specified on the command line, this command factors even more: the bases of common (equal) bases raised to any power are factored out. This is called Horner factoring or Horner's  rule.

For example:

1â> (2+3x)^2*(x+ 1. 1: ((2 + (3Â·x))^2)Â·(x +                 y)

1â> unfactor ; expand 1. 1: (4Â·x) + (12Â·(x^2)) + (9Â·(x^3)) + (4Â·y) + (12Â·xÂ·y) + (9Â·(x^2)Â·y)

1â> factor x ; collect terms containing x 1. 1: (xÂ·(4 + (12Â·y))) + ((x^2)Â·(12 + (9Â·y))) + (9Â·(x^3)) + (4Â·y)

1â> x^3+2x^2+3x+4 ; enter another expression 1. 2: (x^3) + (2Â·(x^2)) + (3Â·x) + 4

2â> factor ; Horner factoring 1. 2: (xÂ·((xÂ·(x + 2)) + 3)) + 4

2â>

"factor power" does only power operator collecting; that is, (a^n)*(a^m)*(b^n)*(b^m) is transformed to (a*b)^(n+m). With this option, variables cannot be specified.

To undo any kind of factoring in selected equation spaces, use the unfactor command.

For command

Syntax: for variable start end [step-size]

This command only evaluates and displays the current expression for each value of the index variable as the index variable goes from start to end in steps of step-size (default 1). Nothing is  modified.

The syntax of this command is the same as the sum and product commands. This command is not a programming construct, and only allows automatically plugging in sequential values of a variable in  the current expression, displaying the results.

Fraction command

Syntax: fraction ["numerator"] ["denominator"] [equation-number-range]

This command reduces and converts expressions with any algebraic fractions in them into a single simple algebraic fraction (usually  the ratio of two polynomials), similar to what Maxima's rat function does. It does this by combining all terms added together with like and unlike denominators to a single simple fraction with a like denominator. Unlike denominators are combined by converting the terms to what they would be over like (common) denominators. Fractions are reduced by cancelling out the Greatest Common Divisor (GCD) of the numerator and denominator.

The result of this command is mathematically equivalent to the original expression, unless the "numerator" or "denominator" option is specified, in which case the result is the numerator or  denominator of the original expression. If both the "numerator" and "denominator" options are specified at once, this command will return with failure if the result is not a fraction, otherwise the entire fraction is returned.

Note that algebraic fractions added together with like denominators are automatically combined by almost any Mathomatic command. Polynomial factoring is only done by the simplify command and this fraction command, to improve simplification.

Example:

1â> 1/x+1/y+1/z 1 1

1. 1: â + â + â

x y z

1â> fraction (((y + x)Â·z) + (xÂ·y))

1. 1: âââââââââââââââââââââ

(xÂ·yÂ·z)

1â> unfactor ((yÂ·z) + (xÂ·z) + (xÂ·y))

1. 1: âââââââââââââââââââââââ

(xÂ·yÂ·z)

1â> unfactor fraction 1 1

1. 1: â + â + â

x y z

1â>

"repeat fraction" repeatedly runs the fraction command until the result stabilizes to the smallest size expression or fraction.

If more simplification is needed, use the "simplify fraction" command instead.

Help command

Syntax: help [topics or command-names]

This command is provided as a quick reference while running Mathomatic. If the argument is a command name, a one line description and one line syntax of that command are displayed. Command names may be abbreviated.

Entering this command by itself will display a list of topics and commands. "help copyright" will display the copyright and license notice for the currently running version of Mathomatic.

To create a quick reference of all Mathomatic commands, type:

help all >quickref.txt

Imaginary command

Syntax: imaginary [variable]

This command copies the imaginary part of a complex number expression to the next available equation space. If the current expression or RHS of the current equation is not complex, the warning message "Expression is not a mix" will be displayed. A  complex number expression contains both imaginary and real number parts. To copy only the real number part, see the real command.

The separation variable may be specified on the command line, the default is the imaginary unit i. i is really a mathematical constant equal to the square root of -1, but it can often be  specified where variables are required in Mathomatic.

If successful, the result may contain the imaginary unit i or the specified separation variable.

1â> (a+b*i)/(c+d*i (a + (bÂ·i)                                 )

1. 1: âââââââââââ

(c + (dÂ·i))

1â> imaginary iÂ·((bÂ·c) â (aÂ·d))

1. 2: âââââââââââââââââ

(c^2 + d^2)

2â>

Integrate command

Syntax: integrate ["constant" or "definite"] variable [order] Alternate command name: integral

This command computes the exact symbolic integral of a polynomial function with respect to the specified variable, using the current expression or RHS of the current equation as the function. If  successful, the simplified integral is placed in the next available equation space, displayed, and becomes the current equation.

The default is to compute and display the indefinite integral, also known as the antiderivative or primitive. The antiderivative is the inverse transformation of the derivative.

"integrate constant" simply adds a uniquely named constant of  integration ("C_1", "C_2", etc.) to each integration result. The constants of integration here are actually variables that may be  set to any constant.

"integrate definite" also integrates, but prompts you for the lower and upper bounds for definite integration. If g(x) is the indefinite integral (antiderivative) of f(x), the definite integral is:

g(upper_bound) â g(lower_bound)

Specifying the order allows you to repeatedly integrate. The default is to integrate once (order=1).

This command is only capable of integrating polynomials.

1â> x^3+x^2+x+ 1. 1: (x^3) + (x^2) + x +                       1

1â> integrate x (x^4) (x^3) (x^2)

1. 2: - + - + - + x

4 3 2

2â> derivative x ; check the result Differentiating with respect to (x) and simplifying... 1. 3: (x^3) + (x^2) + x + 1

3â> compare 1 Comparing #1 with #3... Expressions are identical. 3â>

Laplace command

Syntax: laplace ["inverse"] variable

This command computes the Laplace transform of a polynomial function of the specified variable, using the current expression or RHS of the current equation as the function. If successful, the transformed function is placed in the next available equation space, displayed, and becomes the current equation.

This command only works with polynomials.

A Laplace transform can be undone by applying the inverse Laplace transform. That is accomplished by specifying the "inverse" option to this command.

1â> y= 1. 1: y =                                               1

1â> laplace x ; compute the Laplace transform of               1 1

1. 2: y = -

x

2â> a*x^n ; a general polynomial term 1. 3: a*(x^n)

3â> laplace x a*(n!)

1. 4: ---

(x^(n + 1))

4â> laplace inverse x 1. 5: a*(x^n)

5â>

Limit command

Syntax: limit variable expression

This command takes the limit of the current expression as variable goes to the specified expression. The result is always an equation and placed in the next available equation space and displayed.

L'Hopital's rule for taking limits is not used by this command. Instead the limit is taken by simplifying, solving, and substituting. This command is experimental and does not know about negative infinity and occasionally gives a wrong answer when dealing with infinities.

1â> 2x/(x+1) 2Â·x

1. 1: âââââââ

(x + 1)

1â> limit x inf ; take the limit as x goes to infinity Solving... 1. 2: limit = 2

1â>

List command

Syntax: list ["export"/"maxima"/"gnuplot"/"hexadecimal"          ] [equation-number-ranges                                          ]

This command displays stored expressions in single-line (one-dimensional) format. A single formatting option may be specified. With no option specified, expressions are displayed in decimal, Mathomatic format. The result can then be read back in by Mathomatic. Formatting options: "list export" outputs expressions in a generally exportable, single-line form at. You can cut-and-paste the expressions or redirect them to a file, so they ca n be read in with a different math program.

"list maxima" is for making expression output compatible with the free comput er algebra system Maxima.

"list gnuplot" is for making expression output that is compatible with the fr ee graphing utility gnuplot.

"list hexadecimal" displays as normal, except constants are displayed as hexa decimal values in exponential notation, where no more precision is lost, as it w ould be if converted to decimal. The result that is displayed can be read back i n by Mathomatic exactly as it was.

This list command simply outputs expressions and equations as  stored internally by Mathomatic, translating them to the requested output format. There is no simplification and nothing more is done.

To display equation spaces in better looking multi-line fraction format, use the display command.

NIntegrate command

Syntax: nintegrate ["trapezoid"] variable [partitions]

This is a numerical integrate command that will work with almost any expression and will not generally compute the exact symbolic integral except for the simplest of expressions. This command will prompt you for the lower and upper bounds to perform numerical definite integration on the current expression or the RHS of the current equation, with respect to the specified variable. These bounds may be any expression not containing infinity.

This command uses Simpson's rule to do the approximation. Accuracy varies widely, depending on the expression integrated, the interval between the lower and upper bounds, and the number of partitions. The default is to split the interval into 1000 partitions. Setting the number of partitions greater than 10000 seldom is helpful, because of accumulated floating point round-off error.

If "trapezoid" is specified on the command line, the trapezoid method is used instead, which is usually less accurate than Simpson's rule. The way the trapezoid method works is: the interval from the lower bound to the upper bound is divided into 1000 partitions to produce 1000 trapezoids, then the area of each trapezoid is added together to produce the result. This means that the accuracy usually decreases as the interval increases. Simpson's  rule uses the same method, with quadratic curves bounding the top of each trapezoid, instead of straight lines, so that curves are approximated better.

If the integration fails, chances of success are greater if you reduce the number of variables involved in the integration.

If there are any singularities, such as division by zero, between the bounds of integration, the computed result will be wrong.

Here is an example of successful numerical integration:

1â> y=x^0.5/(1-x^3) 1 (x^â) 2

1. 1: y = âââââââââ

(1 â x^3)

1â> nintegrate x Warning: Singularity detected, result of  numerical integration might be wrong. Enter lower bound: 2 Enter upper bound: 4 Approximating the definite integral of the RHS using Simpson's rule (1000 partitions)... Numerical integration successful: 1. 2: y = -0.16256117185712

1â>

This example avoids the singularity at x=1 and is accurate to 12 digits.

Optimize command

Syntax: optimize [equation-number-range]

This command splits the specified equations into smaller, more efficient equations with no repeated expressions. Each repeated sub-expression becomes a new equation solved for a temporary variable (named "temp").

Note that the resulting assignment statements may be in the wrong order for inclusion in a computer program with the code command; the order and generated code should be visually checked before using. The source code statements may need to be manually put in  the right order to work properly.

1â> y = (a+b+c+d)^(a+b+c+ 1. 1: y = (a + b + c + d)^(a + b + c d)  +                                                                d)

1â> optimize 1. 2: temp = a + b + c + d

1. 1: y = temp^temp

1â> eliminate temp ; undo the optimization Solving equation #2 for (temp)... 1. 1: y = (a + b + c + d)^(a + b + c + d)

1â>

Pause command

Syntax: pause [text]

This command waits for the user to press the Enter key. It is  useful in text files (scripts) that are read in to Mathomatic. Optionally, a one line text message may be displayed.

Typing "quit" or "exit" before pressing the Enter key will fail this command and abort the current script.

This command is ignored during test mode and when input is not a  terminal.

Plot command

Syntax: plot [equation-number-ranges] [x-range [y-range]         ] [expressions,                                                    ]

This command automatically plots the given mathematical expressions in 2D or 3D with the free graphing utility gnuplot. The specified equations are plotted at once, along with any comma separated expressions on the command line. Each expression should contain the variable x to be successfully plotted. If it also contains the variable y, a 3D surface plot is performed in Cartesian space, with the x, y, and z axes projected on your 2D display.

A gnuplot X range, Y range, and even a Z range may be specified on  the plot command line. For example, "plot [-128:128]" will make the X axis go from -128 to 128, and "plot [-128:128] [-1:1]" will also make the Y axis go from -1 to 1. A pair of straight brackets [] must surround each range.

Plotting of an equation space with the imaginary number i in it  is allowed, however plots are always plotted on real Cartesian space, showing only real number points. If there are no real number points, the plot will fail.

Gnuplot must be installed and accessible from shell by typing "gnuplot" for this command to work. All functions and operators of  gnuplot can be used in the plot expression. If gnuplot fails, the gnuplot command line is displayed to show what failed. To always show the gnuplot command line, enter "set debug 1" beforehand, to  set debug level 1 for the current session.

Plots may be customized. Typing "set plot_prefix" at the Mathomatic main prompt, followed by a string of 8-bit characters, will prepend the string to the gnuplot plot string, when using the Mathomatic plot command. For example, if you type "set plot set polar\;" at  the Mathomatic main prompt, 2D polar plots will be performed with subsequent plot commands, using variable "t" instead of "x".

Product command

Syntax: product variable start end [step-size]

This command performs a mathematical product (â) of the current expression or the RHS of the current equation as the index variable goes from start to end in steps of step-size (default 1). The result is stored and displayed. The current equation is not changed.

1â> y= 1. 1: y =                                             a*x

1â> product Enter variable: x x = 1 To: 10 1. 2: y = 3628800*(a^10)

1â> 10! Answer = 3628800

1â>

To see all of the intermediate results, type "set debug 1" before this.

Push command

Syntax: push [equation-number-ranges]

This command pushes the current or specified equation spaces into the readline history, for easy editing and re-entry by using the cursor keys. The equation spaces are not modified. After this command, the pushed expressions are accessed by pressing the cursor UP (up arrow) key.

This command only exists if Mathomatic was compiled with readline support.

Quit command

Syntax: quit [exit-value] Alternate command name: exit

Type in this command to exit Mathomatic. All expressions in memory are discarded. To save all your expressions stored in equation spaces, use the save command before quitting.

The optional decimal exit value argument is the exit status returned to the operating system. The default is 0, meaning OK.

Another way to quickly exit Mathomatic is to enter your operating system's End-Of-File (EOF) character at the beginning of an  input line. The EOF character for Unix-like operating systems is  Control-D.

Read command

Syntax: read file-name

This command reads in a text file as if you typed the text of the file in at the main prompt. The text file (also known as a script) should contain Mathomatic expressions and commands. Read commands may be nested; that is, the file read in may contain further read commands. If any command or operation returns with an error, the read operation is aborted.

Expressions saved with the save command are restored using this read command.

This command is automatically executed when you start up Mathomatic with file names on the shell command line.

The default file name extension (suffix) for Mathomatic input files is ".in". A file name extension is not required.

Real command

Syntax: real [variable]

This command copies the real part of a complex number expression to the next available equation space. If the current expression or  RHS of the current equation is not complex, the warning message "Expression is not a mix" will be displayed. A complex number expression contains both imaginary and real number parts. To copy only the imaginary number part, see the imaginary command.

The separation variable may be specified on the command line, the default is the imaginary unit i.

There will be no imaginary numbers in the result.

1â> (a+b*i)/(c+d*i (a + (bÂ·i)                                 )

1. 1: âââââââââââ

(c + (dÂ·i))

1â> real ((aÂ·c) + (bÂ·d))

1. 2: âââââââââââââââ

(c^2 + d^2)

2â>

Repeat command

Syntax: repeat command-line

Any command may be preceded by "repeat", which sets the repeat flag for that command. Most commands ignore the repeat flag. Currently the calculate, divide, eliminate, fraction, roots, and simplify commands are repeatable.

Replace command

Syntax: replace [variables ["with" expression]]

By default, this command prompts you for a replacement expression for each variable in the current expression or equation. If an  empty line is entered for a variable, that variable remains unchanged. The result is placed in the current expression or  equation and displayed.

This command is very useful for renaming or substituting variables. It is smart enough to do variable interchange.

If variables are specified on the command line, you will be  prompted for those variables only and all other variables will be   left unchanged.

If "with" is specified, you won't be prompted and all variables specified will be replaced with the expression that follows.

Roots command

Syntax: roots root real-part imaginary-part

This command displays all complex number roots of a given positive integer root of a complex number. The number of the root equals the number of correct solutions. For example, "3" would give the 3 roots of the cube root. This command will also convert rectangular coordinates to polar coordinates.

The floating point real part (X coordinate) and imaginary part (Y  coordinate) of the complex number are prompted for. Just enter an  empty line if the value is zero. The polar coordinates of the given complex number are displayed first, which consist of an amplitude (distance from the origin) and an angle (direction). Then each root is calculated and displayed, along with an "Inverse check" value, which should equal the original complex number. The "Inverse check" is calculated by repeated complex number multiplication of the root times itself.

Since double precision floating point is used, the results are only accurate from 10 to 12 decimal digits.

1â> roots Enter root (positive integer): 3 Enter real part (X): 8 Enter imaginary part (Y):

The polar coordinates before root taking are: 8 amplitude and 0 radians (0 degrees).

The 3 roots of (8)^(1/3) are:

2 Inverse check: 8

-1 +1.73205080757*i Inverse check: 8

-1 -1.73205080757*i Inverse check: 8

1â>

Save command

Syntax: save file-name

This command saves all expressions in all equation spaces into the specified text file. If the file exists, Mathomatic will ask you if  you want to overwrite it. The saved expressions and equations can be reloaded (restored) at a later time by using the read command. You can edit the saved expressions with your favorite ASCII text editor.

Another way to save all equation spaces exactly as they are is to  enter:

list hex all >file-name

into the main Mathomatic prompt, however this saves all constants in hexadecimal and it always overwrites "file-name". Because internally constants are binary, hexadecimal can represent them exactly. Reading in the result of this command should result in  exactly the same expressions in the same equation spaces.

Set command

Syntax: set "no"] option [value â¦

This command sets various options listed below, for the current session. They remain in effect until you exit Mathomatic. Typing "set" without arguments shows all current option settings.

The specified option is turned on, unless it is preceded by "no", which turns it off. Some options can be followed by a number and some options can be followed by text, setting that option to the following value.

To permanently change the default settings of Mathomatic, set options can be put in the file ~/.mathomaticrc (for Microsoft Windows: mathomatic.rc in the same directory as the Mathomatic executable or in the $HOME directory). It should be a text file with one set option per line, without the word "set". That file is loaded every time Mathomatic starts up, when not in test mode. The command "set save" conveniently saves all current session options in that file, making them permanent. "set no save" removes that file, so then Mathomatic will start up with all options set to the defaults. Options: "set precision" followed by an integer less than or equal to 15 sets the disp lay precision in number of decimal digits for most numerical output. All arithme tic in Mathomatic is double precision floating point, so it is not useful to set this higher than 15 digits. Display output is rounded to the precision set by t his option, though internally all constants are rounded to fit in a double preci sion float data type of about 15 decimal digits precision. The default for this display "precision" set variable is 14 digits.

"set no autosolve" will turn off solving by typing the solve variable at the main prompt, unless an equals sign (=) is included. This allows entry of single variable expressions into equation spaces. Solving is always allowed using the s olve command.

"set no autocalc" will turn off automatic approximation and display with the calculate command of purely numerical input entered at the main prompt.

"set no autoselect" will turn off selecting of equation spaces by just typing in the equation number. Selecting is still possible using the # operator.

"set auto" and "set no auto" turn on and off all three of the above options a t once. If turned off, all expressions entered at the main prompt will be entere d into equation spaces, so they can be operated on by Mathomatic commands.

"set debug" followed by an integer sets the debug level number. The initial d ebug level is 0, for no debugging. If the level number is 2 ("set debug=2"), Mat homatic will show you how it solves equations. Level 4 debugs the simplify comma nd and its polynomial routines. Levels 5 and 6 show all intermediate expressions. Set the debug level to -1 for suppression of warnings and helpful messages.

"set case_sensitive" will set alphabetic case sensitive mode, while "set no c ase" will set case insensitive mode (all alphabetic characters will be converted to lower case). "set case" is the default.

"set color" enables color mode. When color mode is on, ANSI color escape sequ ences are output to make expressions easier to read. Requires a terminal emulato r that supports ANSI color escape sequences. Put the line "no color" in your ~/. mathomaticrc file to always startup Mathomatic with color mode disabled, unless the -c or -b option is given.

"set bold_colors" enables highlighting in color mode. It makes all output bri ghter. Use this if any colors are difficult to see. This command can be shortene d to "set bold". The -b option also sets this.

"set columns" followed by a positive integer sets the expected number of char acter columns (width) on a terminal screen with line wrap. When an expression is to be displayed in multi-line fraction format (two-dimensional) and it is wider than this number of screen columns, single-line format is used instead, because otherwise the expression would not display properly due to wrap-around. "set no columns" or "set columns=0" does no checking for screen size and always display s in fraction format, which is useful for a terminal that doesn't wrap lines. In most cases, this value is set automatically to be the correct width on startup, or by typing "set columns". This value only affects 2D expression output.

"set wide" sets the number of screen columns (like "set columns=0" above does ) and screen rows to 0, so that no checking for screen size is done, forcing 2D display of expressions that are too wide to display properly on a terminal with line wrap. Setting this option is useful if output is going to a file.

"set no display2d" will set the expression display mode to single-line format (one-dimensional) using the list command, instead of the default fraction forma t (two-dimensional) using the display command. Single-line format is useful when feeding Mathomatic output into another program.

fractions_display_mode is a new set option that allows controlling whether or not to display numerical fractions. It also can set the preference of simple or mixed fractions. "set no fractions_display" sets the mode to 0, disabling the a utomatic conversion of non-integer constants like .5 to 1/2 for display. "set fr actions=1" means display some constants like .5 and 2.25 as their simple fractio n equivalents: 1/2 and 9/4. "set fractions=2" means display some constants as mi xed or simple fractions, for example, 9/4 is displayed as (2+(1/4)), which is a mixed fraction.

"set no prompt" turns off Mathomatic prompt output, exactly like the -q (quie t mode) option does.

"set preserve" will set "preserve_surds" mode, which suppresses approximation of real roots of real rational numbers, if the result will be irrational. A sur d is a quantity which can not be expressed by rational numbers. For example, 2^. 5 (the square root of two, which is irrational and a surd) will remain 2^.5 unle ss explicitly approximated or "set no preserve" is entered. This option is turne d on by default ("set preserve_surds"), allowing exact arithmetic and simplifica tion of surds. Surds can always be manually approximated with the approximate an d calculate commands.

"set rationalize" will set the "rationalize_denominators" option, which attem pts to move radicals from the denominator of fractions to the numerator during s implification. This is the default.

"set modulus_mode" requires an integer from 0 to 2. When modulo arithmetic is performed with the modulus (%) operator, mode 0 returns a result that is the sa me sign as the dividend (same as C's % operator gives), mode 1 returns a result the same sign as the divisor (same as Python's % operator gives), mode 2 returns an always positive or zero result. Mode 2 is the default and is 100% mathematic ally correct and the type of modulo operation that can be generally simplified. Mode 0 is the remainder modulus used by the C and Java computer languages. This mode only affects modulo (%) operator numeric calculations. All modulus simplifi cation rules are enabled, regardless of this mode.

"set finance" sets finance mode (fixed point display), which displays all con stants with 2 digits after the decimal point (for example: "2.00") and negative numbers are always parenthesized (for example: "(-2.00)"). Displayed constants a re rounded to the nearest cent, though internally there is no loss of accuracy. The number of digits to display after the decimal point may be specified with "s et finance=number". This is not truly fixed point arithmetic, it is floating poi nt displayed as fixed point. With double precision floating point, only the most significant 15 decimal digits will ever be correct. The default is no fixed poi nt display (finance=0).

"set factor_integers" sets automatic factoring of integers for all displayed expressions. When set, all integers of up to 15 decimal digits are factored into their prime factors before the result of any command is displayed. This command can be shortened to "set factor".

"set right_associative_power" associates power operators from right to left i n the absence of parentheses, so that x^a^b is interpreted as x^(a^b). Other mat h programs typically associate power operators from right to left. The default i s "set no right", which associates power operators the same as all other operato rs in Mathomatic, from left to right, resulting in (x^a)^b.

"set plot_prefix" followed by a string of 8-bit characters will prepend the s tring to the gnuplot plot string, when using the Mathomatic plot command. For ex ample, "set plot set polar\;" typed at the Mathomatic main prompt will allow 2D polar plots with subsequent plot commands, using variable "t" instead of "x".

"set special_variable_characters" followed by a string of 8-bit characters wi ll allow Mathomatic to use those characters in variable names, in addition to th e normal variable name characters, which are the alphanumeric characters and und erline (_). For example, "set special $" will allow variable names like "$a" and "a$", and "set special []" will allow entry of array elements like "a[3]" for s imulated array arithmetic. All non-alphanumeric characters in variable names are converted to underline characters (_) when exporting to a programming language or to a different program.

"set directory" followed by a directory name will change the current working directory to that directory. Not specifying a directory name defaults to your ho me directory. This command can be shortened to "set dir".

Simplify command

Syntax: simplify ["sign"] ["symbolic"] ["quick[est]"] ["fraction" ] [equation-number-range                                           ]

This command fully simplifies expressions in selected equation spaces. The result is usually the smallest possible, easily readable expression that is mathematically equivalent to the original expression.

Use this command whenever you think an expression is not completely simplified or if you don't like the way an expression is factored. Sometimes simplifying more than once or using the "symbolic" option simplifies even more. This command always tries to factor polynomials, if it will make the expression smaller, unless the "quickest" option is given.

More than one option may be specified at a time. Options: "simplify sign" conveniently expands all "sign" variables by substituting the m with all possible combinations of values (+1 and -1), storing the unique resul ts into new equation spaces and fully simplifying. This will effectively create one simplified equation for each solution.

The "symbolic" option indicates (a^n)^m should always be reduced to a^(n*m). This often simplifies more and removes any absolute value operations: ((a^2)^.5 = a^(2*.5) = a^1 = a). Try this "symbolic" option if the simplify command doesn' t simplify well, it often helps with powers raised to powers, though it is somet imes not 100% mathematically correct.

The "quick" option skips expanding sums raised to the power of 2 or higher, l ike (x+1)^5. Also, algebraic fractions might be simpler with this option, unlike denominators are not combined. This option often simplifies the best.

The "quickest" option very basically simplifies without any unfactoring nor f actoring. Running the simplify command with this option makes it complete almost instantaneously.

"simplify fraction" fully simplifies any expression with division in it down to the ratio of two polynomials or expressions, like Maxima's ratsimp function does. The result will be a single simple algebraic fraction, like the fraction command produces, the difference here being it will be completely simplified. Th is is accomplished by full simplification without doing "unfactor fraction" and without doing polynomial or smart (algebraic) division on the divide operators.

This simplify command applies many algebraic transformations and their inverses (for example, unfactor and then factor) and then tries to combine and reduce algebraic fractions and rationalize their denominators. Complex fractions are converted to simple fractions by making the denominators of fractions added together the same, combining and simplifying. Polynomials with repeated or  symbolic factors are factored next. Then smart (heuristic) and polynomial division are tried on any divides, possibly making complex fractions if it reduces the expression size. Lastly, the expressions are nicely factored and displayed.

Smart division is a symbolic division like polynomial division, but it tries every term in the dividend, instead of only the term with the base variable raised to the highest power, to make the expression smaller.

"repeat simplify" repeatedly runs the simplify command until the result stabilizes to the smallest size expression. This option functions the same as full simplify in other computer algebra systems.

Solve command

Syntax: solve ["verify"] ["for"] variable or "0"

This command automatically solves the current equation for the specified variable or for zero. The current equation is replaced with the result, and the result is displayed. See the section on  Solving Equations for details.

Solving for variable^2 or 0^2 will isolate the square root of  the largest expression containing the specified variable, and then square both sides of the equation. This is a new feature for properly squaring, cubing, etc. both sides of an equation, and it  works for any power and variable with any equation with roots.

The "verify" option checks the result of solving for a variable by plugging all solutions into the original equation and then simplifying and comparing. If the resulting equation sides are identical (an identity), a "Solutions verified" message is  displayed, meaning that all of the solutions are correct. Otherwise "Solution may be incorrect" is displayed, meaning at least one of  the solutions is incorrect or unverifiable. The "verify" option only works when solving for a single variable.

The "for" option has no additional effect and is to make entering this solve command more natural.

Sum command

Syntax: sum variable start end [step-size]

This command performs a mathematical summation (â) of the current expression or the RHS of the current equation as the index variable goes from start to end in steps of step-size (default 1). The result is stored and displayed. The current equation is not changed.

1â> y= 1. 1: y =                                             a*x

1â> sum Enter variable: x x = 1 To: 10 1. 2: y = 55*a

1â>

To see all of the intermediate results, type "set debug 1" before this.

Tally command

Syntax: tally ["average"]

This command prompts for a value, adds it to a running (grand) total, simplifies and displays the running total and optional average, and repeats. The average is the arithmetic mean, that is  the running total divided by the number of entries. When finished, the ending total is returned in the next available equation space, displayed, and made the current equation.

It is a convenient way of adding, subtracting, and averaging many numbers and/or variables. Enter a minus sign (â) before each value you wish to subtract. Enter an empty line to end.

Taylor command

Syntax: taylor ["nosimplify"] variable order point

This command computes the Taylor series expansion of the current expression or RHS of the current equation, with respect to the specified variable. The Taylor series uses differentiation and is  often used to approximate expressions near the specified point.

The Taylor series of f(x) at point a is the power series: 2 3 f'(a) (x - a) f(a) (x - a) f'(a) (x - a)

f(a) + - + --- + + â¦ 1! 2! 3!

where f'(x) is the first derivative of f(x) with respect to x, f(x) is the second derivative, etc.

This command prompts you for the point of expansion, which is  usually a variable or 0, but may be any expression. Typically 0 is  used to generate Maclaurin polynomials.

Then it prompts you for the order of the series, which is an  integer indicating how many derivatives to take in the expansion. The default is a large number, stopping when the derivative reaches 0.

The result is simplified unless the "nosimplify" option is  specified, and placed in the next available equation space, displayed, and becomes the current equation. The original expression is not modified.

1â> 1. 1:                                                    e^x

1â> taylor x Taylor series expansion around x = point. Enter point: 0 Enter order (number of derivatives to take): 8 Computing the Taylor series and simplifying... 8 derivatives applied. x^2 x^3 x^4 x^5 x^6 x^7 x^8

1. 2: 1 + x + âââ + âââ + âââ + âââ + âââ + ââââ + âââââ

2 6 24 120 720 5040 40320

2â>

Unfactor command

Syntax: unfactor ["fraction"] ["quick"] ["power"] [equation-number-range] Alternate command name: expand

This command algebraically expands expressions in selected equation spaces by multiplying out products of sums and exponentiated sums and then simplifying a little. One or more options may be  specified.

To illustrate what unfactoring does, suppose you have the following equations:

1â> a=b*(c+ 1. 1: a = b*(c +                                  d)

1â> z=(x+ 1. 2: z = (x +                                    y)^2

2â> unfactor all 1. 1: a = (b*c) + (b*d)

1. 2: z = (x^2) + (2*x*y) + (y^2)

2â>

(x+y)^2 is called an exponentiated sum and is converted to  (x+y)*(x+y) and then multiplied out, unless the "quick" option is given. Because this is a general but inefficient expansion method, exponentiated sums usually fail expansion when the power is greater than 10, growing larger than will fit in an equation space. "unfactor quick" only expands products of sums, and not exponentiated sums.

The opposite of unfactoring is factoring. Careful and neat factoring is always done by the simplify command.

"unfactor fraction" by itself expands algebraic fractions by also expanding division of sums, multiplying out each fraction with a  sum in the numerator into the sum of smaller fractions with the same denominator for each term in numerator. See the example under the fraction command.

"unfactor power" does only power operator expansion; that is, (a*b)^(n+m) is transformed to (a^n)*(a^m)*(b^n)*(b^m).

Variables command

Syntax: variables ["c" or "java" or "integer"] [equation-number-ranges]

Show all variable names used within the specified expressions, from most frequent to least frequently occurring. The programming language options output the variable definitions required to make code from the specified equations. This does not initialize any variables, it only defines them as needed for a C or Java compiler. This command is not necessary for generating Python code.

Version command

Syntax: version

Shows the version number, compilation options used, expression array size, maximum possible memory usage, invoked security level, and license summary, for the currently running version of  Mathomatic. The maximum memory usage displayed is the amount of RAM used when all equation spaces have been filled. It does not include (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Mc

Midnight Commander

The GNU Midnight Commander is absolutely positively the piece of  software I use the most on Linux. It is a clone of the classic Norton Commander for DOS, but with certain enhancements. For one thing, it is a seamless FTP client that lets me copy files to and from my own web space, or from various third-party DOS and Linux repositories, as easily as I can copy files between drives on my  own system. And I can go into an .iso image file as if it were simply a read-only directory. It's a console-based program, not a  GUI, but so much the better for that. Sometimes rolling old school is best.

The Norton Commander concept with two panes (and a command line  on the bottom) is by far the most efficient way to handle basic management tasks such as copying, moving, editing, viewing, and deleting files, once you know all the keyboard shortcuts and have them committed to muscle memory in your fingers. Most distros don't  ship with Midnight Commander already installed, so it's always the very first thing I download when I try a new OS. If my computer is turned on, it will always have a console open with at least [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Mc

Midnight Commander

The GNU Midnight Commander is absolutely positively the piece of  software I use the most on Linux. It is a clone of the classic Norton Commander for DOS, but with certain enhancements. For one thing, it is a seamless FTP client that lets me copy files to and from my own web space, or from various third-party DOS and Linux repositories, as easily as I can copy files between drives on my  own system. And I can go into an .iso image file as if it were simply a read-only directory. It's a console-based program, not a  GUI, but so much the better for that. Sometimes rolling old school is best.

The Norton Commander concept with two panes (and a command line  on the bottom) is by far the most efficient way to handle basic management tasks such as copying, moving, editing, viewing, and deleting files, once you know all the keyboard shortcuts and have them committed to muscle memory in your fingers. Most distros don't  ship with Midnight Commander already installed, so it's always the very first thing I download when I try a new OS. If my computer is turned on, it will always have a console open with at least [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Mkdir

Create a directory using today's date

mkdir $(date +%Y%m%d)

Make directories for 36 months using brace expansion:

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Mkdir

Create a directory using today's date

mkdir $(date +%Y%m%d)

Make directories for 36 months using brace expansion:

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Mksquashfs

Make a squash filesystem from a directory

mksquashfs C C.sfs

Mount your new squash filesystem (mount point must already exist)

mount -o loop -t squashfs C.sfs /media/teresita/backup-usb/squash

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Mksquashfs

Make a squash filesystem from a directory

mksquashfs C C.sfs

Mount your new squash filesystem (mount point must already exist)

mount -o loop -t squashfs C.sfs /media/teresita/backup-usb/squash

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Mount

Mount an iso image on your system to use it

mount -o loop image.iso /mnt/temp

Mount your SquashFS file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Mount

Mount an iso image on your system to use it

mount -o loop image.iso /mnt/temp

Mount your SquashFS file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

MSDOS Executive

Windows 1.0 runs a program known as the MS-DOS Executive, which is  little more than a mouse-able output of the DIR command that does not support icons and is not Y2K-compliant. Note that the year 2012 is rendered 112.

"[7]http://www.cleanposts.com/index.php/MSDOS_Executive"

Mv

Contents

[6]1 Move all files starting with "B" into the b subdirectory * [7]2 Move all the .jpg images from one folder to another folder, recursively [8]3 Recursively move mp3 files in many directories to a single target directory [9]4 Rename in bulk

Move all files starting with "B" into the b subdirectory

find -name "B*.*" -exec mv {} b \;

Move all the .jpg images from one folder to another folder, recursively

find /home/teresita/Desktop -type f -name *.jpg -exec mv '{}' /home/teresita/Downloads \;

Recursively move mp3 files in many directories to a single target directory

find -name '*.mp3' -exec mv -i {} /home/minix/Desktop/music \;

Rename in bulk

OLD=xxx NEW=yyy for F in $OLD* do SUFFIX=`expr $F : '$OLD\(.*\)'` mv $OLD$SUFFIX $NEW$SUFFIX done

Mv

Contents

[6]1 Move all files starting with "B" into the b subdirectory * [7]2 Move all the .jpg images from one folder to another folder, recursively [8]3 Recursively move mp3 files in many directories to a single target directory [9]4 Rename in bulk

Move all files starting with "B" into the b subdirectory

find -name "B*.*" -exec mv {} b \;

Move all the .jpg images from one folder to another folder, recursively

find /home/teresita/Desktop -type f -name *.jpg -exec mv '{}' /home/teresita/Downloads \;

Recursively move mp3 files in many directories to a single target directory

find -name '*.mp3' -exec mv -i {} /home/minix/Desktop/music \;

Rename in bulk

OLD=xxx NEW=yyy for F in $OLD* do SUFFIX=`expr $F : '$OLD\(.*\)'` mv $OLD$SUFFIX $NEW$SUFFIX done

Nano

Nano

Ncdu

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ncdu

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Newsboat

Newsboat

Nl

Add line numbers to a file (5 digits, leading zeros, separated by a colon)

nl -i1 -s': ' -nrz -w5 twit3.txt >twit4.txt

Nl

Add line numbers to a file (5 digits, leading zeros, separated by a colon)

nl -i1 -s': ' -nrz -w5 twit3.txt >twit4.txt

Oggenc

Use Vorbis Tools to convert a .WAV file to .ogg format

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Oggenc

Use Vorbis Tools to convert a .WAV file to .ogg format

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Openssl

Generate a random password

openssl rand -base64 12

FRYSkfIikVA7AuNm

openssl rand -base64 24

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Openssl

Generate a random password

openssl rand -base64 12

FRYSkfIikVA7AuNm

openssl rand -base64 24

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Paste-python

Paste two files together in columns


 * 1) !/usr/bin/python3

import sys with open ("col1.txt","r") as test1: lines1 = test1.readlines with open ("col2.txt","r") as test2: lines2 = test2.readlines

for i in range (0,46,1): sys.stdout.write(lines1[i].rstrip) sys.stdout.write(" ") sys.stdout.write(lines2[i])

"[6]http://www.cleanposts.com/index.php/Paste-python"

Paste

Combine two files, line by line, comma delimited

$ paste -d, names.txt distances.txt

Combine two files, line by line, tab delimited

paste -d"\t" stardist.txt starname.txt

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Paste

Combine two files, line by line, comma delimited

$ paste -d, names.txt distances.txt

Combine two files, line by line, tab delimited

paste -d"\t" stardist.txt starname.txt

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Perl

Find all the unique four-letter words in a text file

cat love.txt | perl -ne 'print map("$_\n", m/\w+/g);' | tr A-Z [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Perl

Find all the unique four-letter words in a text file

cat love.txt | perl -ne 'print map("$_\n", m/\w+/g);' | tr A-Z [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ps2pdf

= Extract pages from a PDF to build a new PDF

ps2pdf -dFirstPage=4 -dLastPage=8 input.pdf output.pdf

Generate a pdf from a man page

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ps2pdf

= Extract pages from a PDF to build a new PDF

ps2pdf -dFirstPage=4 -dLastPage=8 input.pdf output.pdf

Generate a pdf from a man page

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ps

Count processes running under each user

ps -ef | awk '{print $1}' | sed '/UID/d' | sort | uniq -c | sort -nr

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ps

Count processes running under each user

ps -ef | awk '{print $1}' | sed '/UID/d' | sort | uniq -c | sort -nr

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Rename

Rename all files with extension .OUT with the extension .txt

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Rename

Rename all files with extension .OUT with the extension .txt

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Sc

sc - SPREADSHEET CALCULATOR

[6]File:Screenshot from 2021-02-28 16-38-37.png

Basic sc Usage in Command Mode hjkl â vi keys motion (or  cursor keys). gB13 â go to cell B13. ir, ic â insert row, insert column. ma (mb, mc and so on) â âmarkâ cell as a (or b, or c and so on). ca (cb, cc and so on) â copy contents previously marked with ma. Ctrl-f, Ctrl-b â page up or down (also pgup, pgdown). dr, yr, pr â delete row, yank row, put row. dc, yc, pc â delete column, yank, put column. dd, yd, pd â delete, yank, put a cell. = â enter a numeric value (25 or F13-D14) or formula (@sum(A2:A145)). <  â insert left-justified text. \ â insert centered text. > â insert right-justified text. x â remove cell. *  W<filename.asc> â write plain-text file. P<filename.sc> â write an .sc file. G<filename.sc> â read (âgetâ) an .sc  file. Zr, Zc â zap (hide) row or column. sr, sc â show row or column. @ â force re-calculation. e â edit a numeric value. E â edit a string value. ? â help page Q â quit __________________________________________________________________

^TC Color. This option enables color ^TN Color negative numbers. All cells containing negative numbers will have their color number incremented by one. Cells with color 8 will cycle back to color 1. ^A Go to cell A0 (same as HOME). Arrow Keys The terminal's arrow keys provide another alternate set of cell cursor controls if they exist and are supported in the appropriate termcap entry. Move the cell cursor to row 0 of the current column. row of the current column. 0 Move the cell cursor to column A. $ Move the cell cursor forward to the last valid column of    the current row. g Go to a cell. sc prompts for a cell's name or a number. mx Mark the current cell. sc will prompt for a    lowercase letter to be used as a mark specifier. Marked cells may be used as the source for the c (copy a marked cell) command, or as the target of a ` or ' (go to marked cell) command. zc Center the current cell both horizontally and vertically. =    Enter a numeric constant or expression into the current cell. *    < Enter a label string into the current cell to be flushed left against the left edge of the cell. \ Enter a label string into the current cell to be centered in the col- umn. > Enter a    label string into the current cell to be flushed right against the right edge of the cell. { Left justify the string in the current cell. }    Right justify the string in the current cell. F Enter a format string into the current cell. 0 Digit placeholder. Same as for `#' except that the number is pad- ded with zeroes on either side of the decimal point. . Decimal point. Determines how many digits are placed on the right and left sides of the decimal point in the number. , Thousands separator. The presence of a `,' in the format (multiple com-    mas are treated as one) will cause the number to be formatted with a `,' separating each set of three digits in the integer part of the number with numbering beginning from the right end of the integer. & Precision. When this character is present in the fractional part of the number, it is equivalent to a    number of 0's equal to the preci- sion specified in the column format command. For example, if the preci- sion is 3, `&' is    equivalent to `000'. \ Quote. This character causes the next character to be inserted into the formatted string directly with no special interpretation. E- E+ e- e+ Scientific format. Causes the number to be formatted in sci- entific notation. Some example formats are integer (``0 or ``#), fixed (``0.00), percentage (``0% or ``0.00%), scientific (``0.00E+00), and currency (``$#,0.00;($#,0.00)). e Edit the value associated with the current cell. This is identical to ``= except that the command line starts out containing the old numeric value or    expression associated with the cell. The editing in this mode is    vi-like. ^H Move back a character ^V, v Enter navigate mode. This mode allows you to navigate the spread- sheet while editing a command. When in navigate mode, v will insert the numeric value of the current cell, if any, into the command line, instead, while ^V will return to the previous mode (like the ESCAPE key). ^W Insert the expression attached to the current cell into the command line. If there is none, the result is ``?. This only works while in navi- gate mode. ^A In navigate mode, go to cell this can also be used from insert mode. 0 Goto column 0 B Move back a word. Like b, except words are space delimited only. C Change to end of line (delete first, then enter insert mode) D Delete to end of line F Find the next char typed, moving backwards in the line G Go to the end of history, i.e., to the line being currently entered I Insert at column 0; ESC revert back to edit mode N Repeat the last search in the opposite direction P Insert the most recently deleted text before the cursor R Replace mode; ESC revert back to edit mode T Goto a    char, moving backwards in the line W Forward a word. Like w,    except words are space delimited only. X Delete the char to the left a Append after cursor; ESC revert back to edit mode b Move back a word c Change mode; ESC revert back to edit mode. In navigate mode, insert xolor range which includes the current cell. d Delete ... 0 delete to beginning of line $ delete to end of line b back word e delete to end of word f forward (right) h back char l forward t delete forward up to a given char (next char typed) w delete next word forward e Forward to    next end-of-word f Find the next char typed. In navigate mode, insert the outer frame range which includes the current cell. g In navigate mode, allows you to `goto' a cell or range h Move left a char i Insert before cursor; ESC revert back to    edit mode j Forward through history (same as +) k Backward through history (same as -) l Move right a char n Repeat the last search (find the next match) o When highlighting a range in navigate mode, move to the opposite corner of the highlighted range. p Insert the most recently deleted text after the cursor q Stop editing r Replace char. s Delete current char and enter insert mode (stands for substitute) t Goto a char u Undo w Forward a word x Delete the current char (moving to    the right) y Copies to the delete buffer without deleting. Use like d (above). E Edit the string associated with the current cell. To enter and edit a cell's number part, use the ``=, ``+, and e com- mands. To enter and edit a cell's string part, use the ``<, ``\, ``>, and E commands. " Specify a named buffer for the    next yank/delete/pull command. Buffers are named with a single     character. x Clear the current cell. Deletes the numeric value,     label string, and/or numeric or string expression. mx Mark     the current cell. sc will prompt for a lowercase letter to be     used as a mark specifier. cx Copy a marked cell to the current     cell, adjusting row and column ref- erences in its numeric or     string expression, if any. G Get a new database from a file.     If encryption is enabled, the file is decrypted before it is     loaded into the spreadsheet. P Put the current database into a     file. If encryption is enabled, the file is encrypted before it     is saved. ZZ Save the current database into a file if it has     been modified, and then quit. W Write a listing of the current     database into a file in a form that matches its appearance on the screen. This differs from the Put command in that its files are intended to be reloaded with Get, while Write produces a file for people to look at. T Write a listing of the current database to a file, but include delimit- ers suitable for processing by    the tbl, LaTeX, or TeX table processors. The delimiters are controlled by the tblstyle option. See Set above. The delim- iters are a colon for style 0 or tbl and an ampersand (&) for style latex or tex. With the Put, Write, and Table commands, the optional range argument writes a subset of the spreadsheet to the output file. The three output commands, Put, Write, and Table, can pipe their (unen- crypted only) output to a program. To use this feature, enter ``| program to the prompt asking for a filename. For example, to redirect the output of the Write command to the printer, you might enter ``| lpr -p. M Merge the database from the named file into the current database. Values and expressions defined in the named file are read into the current spreadsheet overwriting the existing entries at    matching cell locations. ir, ic Insert a new row (column) by    moving the row (column) containing the cell cursor, and all following rows (columns), down (right) one row (column). The new row (column) is empty. Inserting rows while the cell cur- sor is    in a framed range will only effect rows in that range, leaving all rows to the left and right untouched. or, oc Open a new row (column). These commands work like the ir and ic commands, except that the new row (column) will be inserted after the cur- rent row (column) instead of before it. ar, ac Append a new row (column) immediately following the current row (column). It is    initialized as a copy of the current one. Appending rows while the cell cursor is in a framed range will only effect rows in    that range, leaving all rows to the left and right untouched. *    dr, dc, dd Delete the current row (column). yr, yc, yy Yank a    copy of the current row (column) into the delete buffer without actually deleting it. yy yanks the current cell (similar to x,    but without actually deleting the contents of the cell). Yanking rows while the cell cursor is in a framed range will only copy the portion of each row contained in that range, while ignoring everything outside the range. pr, pc, pp, pm, px, pt, pC, p.    Pull deleted rows/columns/cells back into the spreadsheet. The last set of cells that was deleted or yanked is put back into the spreadsheet at the current location. pr inserts enough rows to hold the data. pc inserts enough columns to hold the data. pp (paste) does not insert rows or columns; it overwrites the cells beginning at the current cell cursor location. pm (merge) merges the cells in at the current cell cursor location, but does not erase the destination range first like pp. The difference between pp and pm is similar to the difference between the Get and Merge commands. pf (format) works like pm except that only cell formatting information is merged in, leaving the actual data untouched. This makes it easy to copy cell formats from one part of the spreadsheet to another, such as when expanding an    existing spreadsheet file. px (exchange) copies the contents of the delete buffer into the range beginning at the current cell cursor location, while simultaneously copying the contents of this range back into the delete buffer, replacing its cur- rent contents. pt (transpose) overwrites the cells beginning at    the current cell cursor location like pp, but transposes rows for columns and vice ver- sa. pC (copy) works like pp, except that all cell references are adjusted in the same way that they are for the copy command. p. is the same as pC, except that it    switches to navigate mode and allows you to define the des- tination range to be used. This works like the copy command in    that if the source range (the contents of the delete buffer) is     a single row, column, or cell, multiple copies may be made. *    vr, vc, vv Remove expressions from the affected rows (columns) f Set the output format to be used for printing the numeric values in each cell in the current column. This command has only a column version (no second letter). You may change the column width by pressing the h, <, or cursor left key to reduce it, or    the l, >, or cursor right key to increase it. Likewise, you may change the precision (the number of digits to follow decimal    points) by pressing the j, -, or cursor down key to reduce it, or     the k, +, or cursor up key to increase it. You may also change the format type for the column by pressing any digit. rx Clear a range. Cells cleared with this command will be saved in the delete buffer, and may be recalled with any of the pull commands. ry Yank a range. Like rx, cells yanked with this command will be saved in the delete buffer, and may be recalled with any of    the pull commands. rc Copy a source range to a destination range. The source and destination may be different sizes. The result is always one or more full copies of the source. Copying a row to a row yields a row. Copying a column to a column yields a column. Copying a range to anything yields a range. Copying a    row to a column or a column to a row yields a range with as many copies of the source as there are cells in the destination. This command can be used to duplicate a cell through an arbitrary range by making the source a single cell range such as b20:b20. rm Move a source range to a destination range. rv Values only. This command removes the expressions from a ange of cells, leaving just the values of the expressions. rs Sort a range. The rows in the specified range will be sorted according to    criteria given in the form of a string of characters. rf Fill a range with constant values starting with a given value and in- creasing by a given increment. Each row is filled before moving on to the next row if row order recalculation is set. Column order fills each column in the range before moving on to the next column. The start and increment numbers may be positive or negative. To fill all cells with the same value, give an    increment of zero. r{ Left justify all strings in the specified range. r} Right justify all strings in the specified range. *    r| Center all strings in the specified range. rC This command defines a color range, and specifies a foreground/back- ground pair to be used for that range. C This command first prompts you for the color number you would like to define (or redefine). After selecting a number (1-8), you may enter an ex- pression which defines the foreground and background colors. If the chosen color has previously been defined, the old definition will be    presented for editing. The syntax of the color command is: color number = expression, where number is the number of the color pair you want to define, and ex- pression is the definition. rS This command shows lists of the currently defined range names, framed ranges, and color definitions and ranges, one after the other. The output of this command will be piped to less. If the environment variable PAGER is set, its value is used in place of    less. @black red green yellow blue magenta cyan white color 1 = @white;@green will set the foreground color to white and the background color to green for any cell or range of cells defined to use color 1, or which have no color defined. If the semicolon operator is not used, and only one color is specified, that color will be used for the foreground, and the background will default to black. @ Recalculates the spreadsheet. Numeric Expressions -e Negation. e+e Addition. e-e Subtraction. e*e Multiplication. e/e Division. e1%e2 e1 mod e2. e^e Exponentiation. e<e e<=e e=e e!=e e>=e e>e Relationals: true (1) if and only if the indi- cated relation holds, else false (0). ~e Boolean operator NOT. e&e Boolean operator AND. *    e|e Boolean operator OR. @sum(r) Sum all valid (nonblank) entries in the region whose two corners are defined by the two variable names (e.g. c5:e14) @prod(r) @prod(r,e) Multiply together all valid (nonblank) entries in the specified region. @avg(r) @avg(r,e) Average all valid (nonblank) entries in the specified region. @count(r) Count all valid (nonblank) entries in the specified region. @stddev(r) @stddev(r,e) Return the sample standard deviation of the cells in the specified region. @rows(r) Return the number of rows in the specified range. *    @cols(r) Return the number of columns in the specified range. @sqrt(e) Return the square root of e. @exp(e) Return the exponential function of e. @ln(e) Return the natural logarithm of e. @log(e) Return the base 10 logarithm of e. @floor(e) Return the largest integer not greater than e. @ceil(e) Return the smallest integer not less than e. @rnd(e) Round e to the nearest integer. default:*.5 will be rounded up to the next integer; doing a 'set rndtoeven' will cause it to be rounded to the closest even number instead (aka banker's round). *    @round(e,n) Round e to n decimal places. n may be positive to    round off the right side of the decimal or negative to round off the left side. @abs(e) fabs(e) Return the absolute value of e. @pow(e1,e2) Return e1 raised to the power of e2. *    @hypot(e1,e2) Return sqrt(e1*e1+e2*e2), taking precautions against un- warranted overflows. @pi A constant quite close to    pi. @dtr(e) Convert e in degrees to radians. @rtd(e) Convert e in radians to degrees. @asin(e) Return the arc sine of e in    the range -pi/2 to pi/2. @acos(e) Return the arc cosine of e    in the range 0 to pi. @atan(e) Return the arc tangent of e in    the range -pi/2 to pi/2. @atan2(e1,e2) Returns the arc tangent of e1/e2 in the range -pi to pi. @max(e1,e2,...) Return the maximum of the values of the expressions. @min(e1,e2,...) Return the minimum of the values of the expressions. @ston(se) Convert string expression se to a numeric value. @eqs(se1,se2) Return 1 if string expression se1 has the same value as string expression se2, 0 otherwise. @nval(se,e) Return the numeric value of a cell selected by name.
 * 1) Move the cell cursor down to the last valid
 * Center the string in the current cell.
 * 1) Digit placeholder.

Sc

sc - SPREADSHEET CALCULATOR

[6]File:Screenshot from 2021-02-28 16-38-37.png

Basic sc Usage in Command Mode hjkl â vi keys motion (or  cursor keys). gB13 â go to cell B13. ir, ic â insert row, insert column. ma (mb, mc and so on) â âmarkâ cell as a (or b, or c and so on). ca (cb, cc and so on) â copy contents previously marked with ma. Ctrl-f, Ctrl-b â page up or down (also pgup, pgdown). dr, yr, pr â delete row, yank row, put row. dc, yc, pc â delete column, yank, put column. dd, yd, pd â delete, yank, put a cell. = â enter a numeric value (25 or F13-D14) or formula (@sum(A2:A145)). <  â insert left-justified text. \ â insert centered text. > â insert right-justified text. x â remove cell. *  W<filename.asc> â write plain-text file. P<filename.sc> â write an .sc file. G<filename.sc> â read (âgetâ) an .sc  file. Zr, Zc â zap (hide) row or column. sr, sc â show row or column. @ â force re-calculation. e â edit a numeric value. E â edit a string value. ? â help page Q â quit __________________________________________________________________

^TC Color. This option enables color ^TN Color negative numbers. All cells containing negative numbers will have their color number incremented by one. Cells with color 8 will cycle back to color 1. ^A Go to cell A0 (same as HOME). Arrow Keys The terminal's arrow keys provide another alternate set of cell cursor controls if they exist and are supported in the appropriate termcap entry. Move the cell cursor to row 0 of the current column. row of the current column. 0 Move the cell cursor to column A. $ Move the cell cursor forward to the last valid column of    the current row. g Go to a cell. sc prompts for a cell's name or a number. mx Mark the current cell. sc will prompt for a    lowercase letter to be used as a mark specifier. Marked cells may be used as the source for the c (copy a marked cell) command, or as the target of a ` or ' (go to marked cell) command. zc Center the current cell both horizontally and vertically. =    Enter a numeric constant or expression into the current cell. *    < Enter a label string into the current cell to be flushed left against the left edge of the cell. \ Enter a label string into the current cell to be centered in the col- umn. > Enter a    label string into the current cell to be flushed right against the right edge of the cell. { Left justify the string in the current cell. }    Right justify the string in the current cell. F Enter a format string into the current cell. 0 Digit placeholder. Same as for `#' except that the number is pad- ded with zeroes on either side of the decimal point. . Decimal point. Determines how many digits are placed on the right and left sides of the decimal point in the number. , Thousands separator. The presence of a `,' in the format (multiple com-    mas are treated as one) will cause the number to be formatted with a `,' separating each set of three digits in the integer part of the number with numbering beginning from the right end of the integer. & Precision. When this character is present in the fractional part of the number, it is equivalent to a    number of 0's equal to the preci- sion specified in the column format command. For example, if the preci- sion is 3, `&' is    equivalent to `000'. \ Quote. This character causes the next character to be inserted into the formatted string directly with no special interpretation. E- E+ e- e+ Scientific format. Causes the number to be formatted in sci- entific notation. Some example formats are integer (``0 or ``#), fixed (``0.00), percentage (``0% or ``0.00%), scientific (``0.00E+00), and currency (``$#,0.00;($#,0.00)). e Edit the value associated with the current cell. This is identical to ``= except that the command line starts out containing the old numeric value or    expression associated with the cell. The editing in this mode is    vi-like. ^H Move back a character ^V, v Enter navigate mode. This mode allows you to navigate the spread- sheet while editing a command. When in navigate mode, v will insert the numeric value of the current cell, if any, into the command line, instead, while ^V will return to the previous mode (like the ESCAPE key). ^W Insert the expression attached to the current cell into the command line. If there is none, the result is ``?. This only works while in navi- gate mode. ^A In navigate mode, go to cell this can also be used from insert mode. 0 Goto column 0 B Move back a word. Like b, except words are space delimited only. C Change to end of line (delete first, then enter insert mode) D Delete to end of line F Find the next char typed, moving backwards in the line G Go to the end of history, i.e., to the line being currently entered I Insert at column 0; ESC revert back to edit mode N Repeat the last search in the opposite direction P Insert the most recently deleted text before the cursor R Replace mode; ESC revert back to edit mode T Goto a    char, moving backwards in the line W Forward a word. Like w,    except words are space delimited only. X Delete the char to the left a Append after cursor; ESC revert back to edit mode b Move back a word c Change mode; ESC revert back to edit mode. In navigate mode, insert xolor range which includes the current cell. d Delete ... 0 delete to beginning of line $ delete to end of line b back word e delete to end of word f forward (right) h back char l forward t delete forward up to a given char (next char typed) w delete next word forward e Forward to    next end-of-word f Find the next char typed. In navigate mode, insert the outer frame range which includes the current cell. g In navigate mode, allows you to `goto' a cell or range h Move left a char i Insert before cursor; ESC revert back to    edit mode j Forward through history (same as +) k Backward through history (same as -) l Move right a char n Repeat the last search (find the next match) o When highlighting a range in navigate mode, move to the opposite corner of the highlighted range. p Insert the most recently deleted text after the cursor q Stop editing r Replace char. s Delete current char and enter insert mode (stands for substitute) t Goto a char u Undo w Forward a word x Delete the current char (moving to    the right) y Copies to the delete buffer without deleting. Use like d (above). E Edit the string associated with the current cell. To enter and edit a cell's number part, use the ``=, ``+, and e com- mands. To enter and edit a cell's string part, use the ``<, ``\, ``>, and E commands. " Specify a named buffer for the    next yank/delete/pull command. Buffers are named with a single     character. x Clear the current cell. Deletes the numeric value,     label string, and/or numeric or string expression. mx Mark     the current cell. sc will prompt for a lowercase letter to be     used as a mark specifier. cx Copy a marked cell to the current     cell, adjusting row and column ref- erences in its numeric or     string expression, if any. G Get a new database from a file.     If encryption is enabled, the file is decrypted before it is     loaded into the spreadsheet. P Put the current database into a     file. If encryption is enabled, the file is encrypted before it     is saved. ZZ Save the current database into a file if it has     been modified, and then quit. W Write a listing of the current     database into a file in a form that matches its appearance on the screen. This differs from the Put command in that its files are intended to be reloaded with Get, while Write produces a file for people to look at. T Write a listing of the current database to a file, but include delimit- ers suitable for processing by    the tbl, LaTeX, or TeX table processors. The delimiters are controlled by the tblstyle option. See Set above. The delim- iters are a colon for style 0 or tbl and an ampersand (&) for style latex or tex. With the Put, Write, and Table commands, the optional range argument writes a subset of the spreadsheet to the output file. The three output commands, Put, Write, and Table, can pipe their (unen- crypted only) output to a program. To use this feature, enter ``| program to the prompt asking for a filename. For example, to redirect the output of the Write command to the printer, you might enter ``| lpr -p. M Merge the database from the named file into the current database. Values and expressions defined in the named file are read into the current spreadsheet overwriting the existing entries at    matching cell locations. ir, ic Insert a new row (column) by    moving the row (column) containing the cell cursor, and all following rows (columns), down (right) one row (column). The new row (column) is empty. Inserting rows while the cell cur- sor is    in a framed range will only effect rows in that range, leaving all rows to the left and right untouched. or, oc Open a new row (column). These commands work like the ir and ic commands, except that the new row (column) will be inserted after the cur- rent row (column) instead of before it. ar, ac Append a new row (column) immediately following the current row (column). It is    initialized as a copy of the current one. Appending rows while the cell cursor is in a framed range will only effect rows in    that range, leaving all rows to the left and right untouched. *    dr, dc, dd Delete the current row (column). yr, yc, yy Yank a    copy of the current row (column) into the delete buffer without actually deleting it. yy yanks the current cell (similar to x,    but without actually deleting the contents of the cell). Yanking rows while the cell cursor is in a framed range will only copy the portion of each row contained in that range, while ignoring everything outside the range. pr, pc, pp, pm, px, pt, pC, p.    Pull deleted rows/columns/cells back into the spreadsheet. The last set of cells that was deleted or yanked is put back into the spreadsheet at the current location. pr inserts enough rows to hold the data. pc inserts enough columns to hold the data. pp (paste) does not insert rows or columns; it overwrites the cells beginning at the current cell cursor location. pm (merge) merges the cells in at the current cell cursor location, but does not erase the destination range first like pp. The difference between pp and pm is similar to the difference between the Get and Merge commands. pf (format) works like pm except that only cell formatting information is merged in, leaving the actual data untouched. This makes it easy to copy cell formats from one part of the spreadsheet to another, such as when expanding an    existing spreadsheet file. px (exchange) copies the contents of the delete buffer into the range beginning at the current cell cursor location, while simultaneously copying the contents of this range back into the delete buffer, replacing its cur- rent contents. pt (transpose) overwrites the cells beginning at    the current cell cursor location like pp, but transposes rows for columns and vice ver- sa. pC (copy) works like pp, except that all cell references are adjusted in the same way that they are for the copy command. p. is the same as pC, except that it    switches to navigate mode and allows you to define the des- tination range to be used. This works like the copy command in    that if the source range (the contents of the delete buffer) is     a single row, column, or cell, multiple copies may be made. *    vr, vc, vv Remove expressions from the affected rows (columns) f Set the output format to be used for printing the numeric values in each cell in the current column. This command has only a column version (no second letter). You may change the column width by pressing the h, <, or cursor left key to reduce it, or    the l, >, or cursor right key to increase it. Likewise, you may change the precision (the number of digits to follow decimal    points) by pressing the j, -, or cursor down key to reduce it, or     the k, +, or cursor up key to increase it. You may also change the format type for the column by pressing any digit. rx Clear a range. Cells cleared with this command will be saved in the delete buffer, and may be recalled with any of the pull commands. ry Yank a range. Like rx, cells yanked with this command will be saved in the delete buffer, and may be recalled with any of    the pull commands. rc Copy a source range to a destination range. The source and destination may be different sizes. The result is always one or more full copies of the source. Copying a row to a row yields a row. Copying a column to a column yields a column. Copying a range to anything yields a range. Copying a    row to a column or a column to a row yields a range with as many copies of the source as there are cells in the destination. This command can be used to duplicate a cell through an arbitrary range by making the source a single cell range such as b20:b20. rm Move a source range to a destination range. rv Values only. This command removes the expressions from a ange of cells, leaving just the values of the expressions. rs Sort a range. The rows in the specified range will be sorted according to    criteria given in the form of a string of characters. rf Fill a range with constant values starting with a given value and in- creasing by a given increment. Each row is filled before moving on to the next row if row order recalculation is set. Column order fills each column in the range before moving on to the next column. The start and increment numbers may be positive or negative. To fill all cells with the same value, give an    increment of zero. r{ Left justify all strings in the specified range. r} Right justify all strings in the specified range. *    r| Center all strings in the specified range. rC This command defines a color range, and specifies a foreground/back- ground pair to be used for that range. C This command first prompts you for the color number you would like to define (or redefine). After selecting a number (1-8), you may enter an ex- pression which defines the foreground and background colors. If the chosen color has previously been defined, the old definition will be    presented for editing. The syntax of the color command is: color number = expression, where number is the number of the color pair you want to define, and ex- pression is the definition. rS This command shows lists of the currently defined range names, framed ranges, and color definitions and ranges, one after the other. The output of this command will be piped to less. If the environment variable PAGER is set, its value is used in place of    less. @black red green yellow blue magenta cyan white color 1 = @white;@green will set the foreground color to white and the background color to green for any cell or range of cells defined to use color 1, or which have no color defined. If the semicolon operator is not used, and only one color is specified, that color will be used for the foreground, and the background will default to black. @ Recalculates the spreadsheet. Numeric Expressions -e Negation. e+e Addition. e-e Subtraction. e*e Multiplication. e/e Division. e1%e2 e1 mod e2. e^e Exponentiation. e<e e<=e e=e e!=e e>=e e>e Relationals: true (1) if and only if the indi- cated relation holds, else false (0). ~e Boolean operator NOT. e&e Boolean operator AND. *    e|e Boolean operator OR. @sum(r) Sum all valid (nonblank) entries in the region whose two corners are defined by the two variable names (e.g. c5:e14) @prod(r) @prod(r,e) Multiply together all valid (nonblank) entries in the specified region. @avg(r) @avg(r,e) Average all valid (nonblank) entries in the specified region. @count(r) Count all valid (nonblank) entries in the specified region. @stddev(r) @stddev(r,e) Return the sample standard deviation of the cells in the specified region. @rows(r) Return the number of rows in the specified range. *    @cols(r) Return the number of columns in the specified range. @sqrt(e) Return the square root of e. @exp(e) Return the exponential function of e. @ln(e) Return the natural logarithm of e. @log(e) Return the base 10 logarithm of e. @floor(e) Return the largest integer not greater than e. @ceil(e) Return the smallest integer not less than e. @rnd(e) Round e to the nearest integer. default:*.5 will be rounded up to the next integer; doing a 'set rndtoeven' will cause it to be rounded to the closest even number instead (aka banker's round). *    @round(e,n) Round e to n decimal places. n may be positive to    round off the right side of the decimal or negative to round off the left side. @abs(e) fabs(e) Return the absolute value of e. @pow(e1,e2) Return e1 raised to the power of e2. *    @hypot(e1,e2) Return sqrt(e1*e1+e2*e2), taking precautions against un- warranted overflows. @pi A constant quite close to    pi. @dtr(e) Convert e in degrees to radians. @rtd(e) Convert e in radians to degrees. @asin(e) Return the arc sine of e in    the range -pi/2 to pi/2. @acos(e) Return the arc cosine of e    in the range 0 to pi. @atan(e) Return the arc tangent of e in    the range -pi/2 to pi/2. @atan2(e1,e2) Returns the arc tangent of e1/e2 in the range -pi to pi. @max(e1,e2,...) Return the maximum of the values of the expressions. @min(e1,e2,...) Return the minimum of the values of the expressions. @ston(se) Convert string expression se to a numeric value. @eqs(se1,se2) Return 1 if string expression se1 has the same value as string expression se2, 0 otherwise. @nval(se,e) Return the numeric value of a cell selected by name.
 * 1) Move the cell cursor down to the last valid
 * Center the string in the current cell.
 * 1) Digit placeholder.

SEARCH

Scissors, paper, rock, two out of three times, and Deputy Bob Lurz had to be the one to climb into the garbage truck at the place where 6th made a little jog north and 7th took its place. Paul Bergin lived on N Street and 6th. Deputy Bill Holsinger stayed out of sight and drove down to L and 7th to pick Bob up when he was done.

The fellow driving the truck and the fellow dumping the cans were duly dep- utized. At O street Bob was told that Paul Bergin was making a last minute addition of a grocery bag to the can already out on the street. Two more pickups and Bob had this grocery bag in  his hands.

"Jesus Christ, Bob, you reek!" gasped Bill when his partner piled into the truck with the evidence.

"All in the line of duty. Look what we got." He let Bill peek inside at a wooden knife block. The handles were the same as the murder weapon. One blade was missing.

"So it's Deacon Paul Bergin for sure," said Deputy Bill. "I'm with  the sheriff on this one. When the perpetrators make catching them   this easy it's no fun at all."

"There should be nothing fun about any of this, Bill," his partner admon- ished. "Kimberly Zinter is dead."

At the sheriff's station the deputies, Roddy Walker, and even Special Agent Mark Felt donned gloves before the knife holder was removed from the gro- cery bag. Photographs were taken. One blade was removed and photographed next to the tagged murder weapon for comparison. The knife handles were not identical, but that was to be expected in a hand-crafted set. Everything was dusted for fingerprints and photographed as well. Felt began to inter- rogate the deputies as though he were some pricey high-caliber city lawyer Paul Bergin might retain.

Felt: "Are you sure this came from Mr. Bergin's house, Deputy?"

"I counted four stops after I got in the truck. There are three  houses on 6th between the Bergin place and where I crawled inside."

"But did you actually see that you were in front of his house?"

Bob: "No, Agent Felt. I was inside the garbage truck."

Deputy Bill shook his head when Felt glanced at him. He had also been well out of sight.

"But the driver of the garbage truck and the pick-up man both said  they saw Paul Bergin throw this bag in his trash can."

Felt: "Sheriff Walker, I'm pleasantly surprised by what you've  managed to get so far, but do you see the glaring hole in our   case?"

"I can give you their names if you wish, Agent Felt. The trash men  were deputized for this operation. That gives them legal standing."

Roddy: "It also gives them elevated responsibility, Bill, and I  hope you explained that to them when you swore them in."

"That doesn't matter, Sheriff. Please pick them up and see Judge  Porter again. We might have just enough now to fingerprint Mr. and   Mrs. Bergin."

Roddy walked over to look at photographs pinned to a cork board. "And if his boots and tires match what we posted here, Special  Agent Felt, then we will have a little bit more than just enough."

Felt nodded. The case was only starting but moving quite to his satisfac- tion.

The Zinter homocide investigation experienced the first headwind from Judge Karl Porter when he declined to allow the sheriff to  bring the Bergins in for fingerprints as he had previously ruled for Robyn. He mused, aloud, that the case was becoming a fishing expedition. If Agent Mark Felt was disappointed it didn't show. "Let's go visit the Bergin place anyway," he told Sheriff Walker outside the courthouse. "I want to see if I can shake something  loose."

"Do you want Bob and Bill to tag along?"

"No, I need them to make a phone call. Tell your men to get the  number of Bergin's plates, then have them go up to the temple and   take photographs of his tire treads."

"Oh, we already have Bergin's plate on file," Roddy said. "He  doesn't think the wartime speed limit of 35 miles per hour applies   to deacons."

Agent Felt smiled in admiration. "Sheriff, this is one of the  smallest towns I've ever seen, but the way you run your department   is a G-man's dream."

When they arrived at Paul Bergin's home Mark Felt took copious notes begin- ning with the fact that no vehicle was present. Felt thought the most striking thing about the woman who answered the door was how singularly unattractive she was. If she hadn't worn a dress Mark might have thought Deacon Paul himself was standing there. He cleared his throat and identi- fied himself and Sheriff Walker.

"Yes?" she snapped. "How may I help you?"

"Is Mr. Bergin at home?"

She shook her head. "Paul works at the Temple. I'm his wife Ruth."

"Perhaps you can help after all, Mrs. Bergin. It seems a young  woman was attacked with a knife recently."

"Good God, is she well?"

"It's hard to say at this point," said Felt. "What I can tell you  is that we think we have the knife that was used in the attack. It   has a very unique wooden handle. It's hand-crafted, you see. Only a   very few sets were sold, Ruth, and we think you might have one of   them."

Ruth gasped. "You can't think that I, that Paul did this."

"Not at all ma'am. A criminal investigation is much like tracing  out every rabbit trail even when they just come to a dead end. If   you show us your own kitchen knife set then the sheriff and I will   be on our way."

"We never bought our knife block," Ruth said. "It was made by Owen  Bergin when Headwater was first settled and has passed down from   father to son ever since."

Felt made a note of that on his pad, then broke into a smile. "You  see? I knew we must be wasting our time."

"I'm sorry, Ma'am," said Sheriff Walker, "but we had to be sure.  Still, do you mind if we take one little peek at what you do have?"

Mark Felt admired how Roddy caught his little game and slid right into his role without clashing gears. And Ruth went inside to fetch it.

The fact that Ruth didn't know she was missing her knife set was recorded in Felt's notebook. As he expected, she returned empty handed and Felt re- corded that too, not so much that he didn't  know it, but for the affidavit he would have the sheriff type up   for Judge Porter.

"I don't understand," Ruth said. "I used a knife from the block  just this morning when I made breakfast for Paul and the children,   but now everything is gone."

"Oh no, Ruth, that's just what I didn't want to hear," Roddy said "But I'm sure there's a good explanation."

"Ruth, do you mind if the sheriff and I come in so all the heat in  your house doesn't escape through the front door?"

She thought about that for longer than Felt liked but in the end Ruth nod- ded and opened her screen door to let them in. She asked them to sit on a couch.

Roddy thought Ruth's home was very similar to Kim Zinter's place in  size and design but different in almost every other way. There were no decora- tions at all, no paintings, no rugs, not even a single knick-knack. Only two books were in sight, a Bible and the Holy Buron. Another difference: when he visited Robyn she was playing music, but here it was silent. No record collection, no Victrola to play them on. Roddy marveled how reli- gious folk were so keen on a life in the hereafter when their life here on Earth was so  miserable, by choice.

"I see you don't have a radio, Mrs. Bergin."

"There's only one station in town, Sheriff, and more often than not  they play race records. Paul says that's the devil's own music.   Why, even the children in the Temple high school are playing that   garbage if you can imagine."

"The girl who was attacked sang in the Temple school band," revealed Felt. "Do you know somebody who might have stabbed her  because she sang race mu- sic?"

Ruth's eyes said yes but she shook her head no.

"It was very generous inviting us to come indoors, Ruth," he said. "I have no right to ask this of you, and don't believe for an  instant that we real- ly think you attacked the girl, but if I   could just get one print of your thumb I could compare it to what   we found on the knife and completely elim- inate you as a suspect   in this case."

The sheriff had to restrain himself from whistling in admiration at  Agent Felt's performance, it was so beautifully done. Ruth would be thinking of self-preservation in the face of her own husband framing her for the crime. And Roddy thought that wasn't far from the truth.

"Will you have to take me down to the station for a thumbprint?"

"Not at all," said Felt, and he used his pencil to make a thick dark spot on a page in his notebook. "Are you right or left  handed?"

"Right, of course," Ruth said, as though southpaws were somehow immoral. And so with Ruth Bergin fully and freely willing, Special Agent Mark Felt rubbed her right thumb in the spot of graphite, then flipped to a fresh page in his notebook and rolled her thumb across it to get a perfect print. He dared not close the book until it was lacquered.

"This schoolgirl who was attacked, she was Erik Zinter's kid,  wasn't she?"

Felt stood up from the couch still holding his notebook carefully. open He said, "I've been careful not to say too much and upset   .   you, Mrs Bergin.

"I suppose it couldn't be helped," she sniffed.

Sheriff Walker scrambled to his feet at that remark and politely asked Ruth what she meant by making it.

She said, "I think only a believer would fully understand me, but  Erik was putting our most holy relic to common purposes, digging   coal! Our God is a sovereign God."

Roddy made eye contact with Agent Felt, who raised his notebook a  bit and shrugged. He already had what he came for. Roddy said, "So  God wasn't con- tent to take Erik's life for what he did? He had to   take the life of his daughter as well?"

Ruth was shocked. "She's dead?"

"Yes, Ruth, she's dead. What a terrible thing for Clara, don't you  think, losing her entire family? But whoever did it has a death   wish. He elevated it to a federal case. It was already the Chair if   I caught him..."

"...but the Bureau always gets its man," Felt finished.

Judge Karl Porter was directly descended from Alfred and Caroline Porter, who were part of the first wagon train to set down roots in Headwater. In any other town of the West, where family trees actually fork, this would be like tracing one's family back to the Mayflower.

From his corner office on the second floor of the courthouse Judge Porter could look down upon his ancestral family home on the north bank of the river. Most of the land of the homestead had long been sold off for the homes and apartments of the northwest quadrant of town. The courthouse was five blocks away from the sheriff's  office on the same little island in Squaw River that formed the heart of the town. The sheriff himself was in Porter's chambers making another run at Paul Bergin, and this time, Porter suspected, he just might get him.

The judge glanced once more at the Affidavit in Support of Arrest Warrant submitted by Sheriff Walker. On a personal level he didn't  like where this investigation was going. Paul was the deacon of the Church and the Bergins, just like the Porters, were Headwater Old Guard.

The Church of Green Dome had secrets, the judge well knew. Something hap- pened last summer to bring three agents of the Bureau sniffing around. Af- ter a few weeks they had abandoned their trailer outside of town but the death of this girl brought them back with a fourth man. FBI Special Agent Mark Felt was seated at the table next to the sheriff. The judge already learned, the last time these two men appeared before him, that Felt had assumed responsibility for the case. He asked Agent Felt why his name did- n't appear on the Affidavit.

"Your Honor, when I assumed overall direction of the case for the  Bureau the Sheriff had already acquired a quantity of evidence. The   Affidavit be- fore you summarizes the entire case to this point   and only Sheriff Walker could testify as to how all the facts were   obtained."

"And do you foresee a time when the Bureau will no longer be acting  in co- operation with local law enforcement here in Headwater?"

"Certainly, Your Honor. The individual or individuals responsible  for the crime will likely be transported for arraignment in Kansas   City."

Judge Porter said, "Then with the view of hastening that blessed  day please lay out your new evidence."

Mark Felt nodded at the sheriff.

Roddy opened a briefcase and removed a knife in a cellophane bag, a  page from Felt's notebook, and two closeup photographs of these.

The sheriff said, "Your Honor, Mrs. Ruth Bergin, the wife of Paul  Bergin, was kind enough to allow Special Agent Felt to take an   impression of her right thumb and as you can see, it perfectly   matches the single thumbprint we dusted on the weapon found at the   crime scene."

"What in the name of God would make Mrs. Bergin give you her  thumbprint, Sheriff, and why isn't she named as a suspect?"

"I think, Your Honor, the answer to both questions is the same. She  was shocked to find her set of kitchen knives had gone missing, on   garbage day."

Judge Porter growled while he chewed on that item for a moment. Yes, the sheriff, or Agent Felt, or both, would have led poor Mrs. Bergin to think her own husband was framing her for murder. Still, what's done is done, and it was legally airtight. "What else do you  have?"

The sheriff reached into his briefcase and removed two more photographs. "Your Honor, Paul Bergin's vehicle is parked at the  Temple and is under surveillance by my deputies. You can see here   that his tire tread matches the tracks we found at the scene of the   homicide."

The judge looked at the photographs and remembered that under wartime ra- tioning Paul Bergin could only own four tires plus one spare. Karl realized the sheriff had enough to justify an arrest warrant. He could hardly refuse after signing one for Robyn Zinter on much less.

"The court finds probable cause to believe a felony offense,  to wit, the unlawful killing of Kimberly Zinter with malice   aforethought, has been com- mitted. The arrest of Mr. Paul Bergin   at any hour of day or night is so ordered." Karl Porter's law clerk began typing it up. "Special Agent Felt, will it be sufficient to  confine your search for more evidence of the crime to the home of   Paul Bergin?"

Felt replied, "No, Your Honor. If Mr. Bergin was a layman his house  would have been enough. But as a deacon he has access to the whole   Temple."

"Very well, these are the rules of the People for your search,  but I'm signing the order: Let's assume Bergin is hiding evidence   in the Temple. When you make the arrest you will have his keys.   Any door that is locked, but his keys can open, you may enter and   search."

"Thank you, Your Honor. The Bureau accepts this limitation on the  search."

"Proceed with caution, Agent Felt," he said. "The Church of Green  Dome is the very life of Headwater, and the Church is already going   through its most difficult passage in nearly eighty years."

"The words of Dr. Wahkan and Sheriff Walker have already sensitized  me to the plight of the Church, Your Honor," said Felt, "and I   will take great care. But if those troubles somehow led to the   killing of Kimberly Zinter, I don't know how even more trauma can   be avoided."

Special Agent in Charge Clyde Tolson was waiting in the second-floor court- room with Special Agent Sullivan when the sheriff and Felt emerged from the judges chambers. "It's not carte  blanche," said Felt when he handed Tolson the documents, "but it's   the best we could do."

When Tolson finished reading he said, "Edgar knew what he was doing  when he put you on the case. For six months we couldn't get one   foot in the Temple door."

Felt hoped he only heard that wrong. It sounded like Tolson didn't  give two floating turds for the dead girl.

The town of Headwater, true to its name, sits at the source of the Squaw River. Paved road starts there, as does the railroad. No  one ever spends the night in Headwater because no one ever passes through. Even the FBI had to crane off a trailer to have a place to  sleep.

The Church had steadily lost adherents since peaking in 1917 but there were still many congregations scattered across America and even in Europe. When families of the deceased came to Headwater for the Last Rite often the only place for them to stay was the Temple itself.

The C Wing had six modest rooms which were offered to visiting families for their brief stay of a day or two. Klaus Hansen had never given them much thought. As far as he knew or cared the beds made themselves, so he was startled to find Dory and Jerry cleaning the rooms.

"What is this?" he demanded.

"It goes with the position of Extraordinary Lay Minister of the  Final Rite," Jerry replied. "Somebody has to get the rooms ready."

"What's she doing here?"

"Cousin Dory is pitching in."

"I only want to see Red Wingers here on Wednesdays."

Dory and Jerry, being Red Wingers both, made as thought to leave, but Klaus said, "Not you, boy."

"I'll pick you up at five, cuz," said Dory on her way out.

When she was out of earshot, Klaus said, "Where's the Golden Gift?"

"It's somewhere in the Temple, as we agreed."

"How do I know that's true?"

"This is the Temple. Liars have no part in the life to come."

"Show it to me."

"Mike told me I could only bring it out at need."

"Fuck Mike, boy, you need to show it to me."

Jerry unlocked a supply room. A red cookie tin sat on a shelf.

It was empty but Jerry thought it was perfect. When che reached outside of the universe it always looked like somebody chopped hez hand off with an ax, which would need explaining. Jerry produced the relic and to Hansen's eyes it looked like che pulled it out of  the tin.

"How do I know that's not just something you whipped up in metal  shop and painted gold?"

Jerry squeezed the relic. The hissing shifted down in pitch as the black rip in reality grew, drinking in the light and air of the room. Hez pony- tail tossed in the growing breeze.

Klaus Hansen had never been so close to the Golden Gift in  operation and was entranced with the sheer otherworldliness of it. Jerry was amazed at hez self-restraint for not slicing the man in  half where he stood.

Dory saw the sheriff's deputies smoking and joking outside.

"Hello officers," she said.

"Afternoon, Dory," said Deputy Bill. Neither he nor Bob could guess why she was grinning and not even trying to hide it, but she knew why they were there and what was coming. Meantime she got into Peter's station wagon, which was her car now.

Four hundred feet below the temple, on the north side of Green Dome, was Peter's house and that was Dory's too now that he and Jaroah were in heav- en. Hunky and Robyn waited for her there. It was quite a step up from a tree house. They could see the FBI trailer from there.

Dory drove the '41 Chrysler Town and Country down the icy nine percent grade to her love nest and fell into Hunky's tree limbs. Robyn rolled her eyes and said, "Could you hold off long enough  to drive me down to the li- brary? I want to leave a surprise for   Special Agent Felt."

"Alright, Jerry," said Hansen when the thrill of the Golden Gift wore off, "put it back in the can and lock this room back up."

When it was done Klaus told hem to hand over the key and the look on his face seemed to dare hem to show even a twinge of  insubordination, but he got nothing back. "Who else has a key?"

"Deacon Paul," replied Jerry.

As though summoned by an evil spell Paul Bergin joined them, looking some- what distraught. "Ruth just phoned," he said. "The  sheriff and an FBI agent visited our home."

"Let's take this to my office," said Hansen, making a gesture to. hush Klaus took him by the shoulder and led him away.

"What did Ruth say to get rid of them?" he asked when they had more priva- cy.

"Get rid of them? She invited them to come inside!"

"Jesus, Paul, what did she tell them?"

"She didn't tell me that. But she did ask me why the knife block  she used this morning was gone."

"How did you handle that?"

"I said I didn't know anything about it. The knife block is at  the landfill and no one will ever find it, but Ruth said she let   them take her finger- prints, and that makes me wish the knife was   squirrelled away with the clothes and other stuff."

"

"What's done is done," Klaus said. "Even if they found the knife  and trace it to Ruth, so what? She had no motive to kill the girl.   She probably doesn't even know her."

"What if they come here next?"

"Now is a good time to be out in Headwater tending to the flock, Paul."

When Paul went out to his parked car he saw the same deputies Dory had greeted only a few minutes earlier, but he did not stop to chat with them. Instead, he tried to get back inside the Temple. Sheriff Roddy Walker and Special Agent Mark Felt intercepted him at the door.

"Sheriff, would you do the honors?"

Roddy said, "Paul Bergin, you are under arrest for the murder of  Kimberly Zinter. Hold out your right arm please."

Paul was too shocked to move, so Roddy grabbed his jacket sleeve, cuffed his bare wrist, then made Paul face the wall. After both arms were cuffed behind Paul's back Roddy patted him down, removed his wallet, and unlatched the carabiner key chain looped to his belt. He handed both of these to Felt, then handed Paul himself off to his deputies. "Fingerprints, new home, not a word, boys."

Special Agent in Charge Tolson was just coming up with Agent. Sullivan "Do we knock?" Felt asked them.

"No need," said Tolson. "This is a public house of worship." He  pulled the huge doors open.

"Jerry Shybear," Bill Sullivan said when he saw who was standing inside.

Tolson knew Jerry from Sullivan's reports but had never actually seen hem.

"Aren't you supposed to be on some island shooting Japs right now?"

Jerry shook hez head and dug out hez draft card. "The Army didn't  think I was man enough, Special Agent Sullivan. Navy too."

"Jerry, what are you doing here today of all days?" Roddy asked.

"I'm here every day now, Sheriff. There's been some changes. I'm  the Apos- tle of the Church."

Only Felt could find his voice after that news, simply because he  missed the import. "We have a search warrant."

Jerry said, "Uh-oh, I better tell the Prophet," and che jogged backwards up the broad carpeted hall through the center of A Wing, facing the sheriff and the FBI agents, until nearly reaching the drum-shaped Sanctuary in the center of the Temple. Che knocked on  one door.

"Mr. Hansen, some gentlemen are here to see you."

Klaus stepped out of his office, prompting the sheriff to say, "You're the Prophet now? What happened to Peter Twofeathers?"

"I've been given to understand he is dead."

"Not dead," said Jerry. "He lives in heaven now."

"Jerry, are you talking about another homicide?" asked Roddy.

"No, Peter and his wife Jaroah volunteered to go. So did Kim if you  think about it."

"We need to talk," said Felt, "but first, we have an order to  search the Temple for evidence pertaining to Kim's murder."

Klaus demanded to see the order and Tolson let him read it. He  glanced at the keys in Felt's hand. "Where's Paul."

"On his way to county lockup," Roddy said.

"I will hold you fellows to the letter of this search warrant," he  said. "Only rooms locked with those keys."

The offices of Klaus and Jerry were unlocked and so off-limits, but the agents went through Paul's office like a tornado and yielded a pair of boots in a desk drawer. Roddy bagged them, tagged them, and locked them in his truck. Three other rooms were filled with exhibits.

After examining the contents the sheriff offered Felt an  explanation. "B Wing is set up like a museum of Church history. Or  at least it was. This looks like the material that was on display   there."

"Only the history of the Kuwapi," Jerry said. "We're in the New Reich."

"That's a damned shame," Felt said, holding up a broken arrow. "Some of the relics are damaged."

They moved to the hallway that ran around the circumference of the Sanctu- ary and did a third of a turn to the right, checking for more locked doors, before entering C Wing.

The room that Jerry and Dory were cleaning was not locked. The other guest rooms were searched and found to be devoid of any evidence.

"What's behind that door?"

"That's a dry hole, Agent Sullivan," said Jerry. "It's just my  broom clos- et." Che locked eyes with Klaus. Nevertheless, Special Agent Felt found the appropriate key. Like Jerry said, there was nothing within but cleaning supplies. Felt shook the red cookie tin sitting on a shelf but heard noth- ing, and opened it to make sure it was empty. Klaus seemed both puzzled and relieved.

After that the sheriff and three Bureau agents headed down the wide carpet- ed stairs to the basement cafeteria. The Prophet, lagging behind, asked Jerry, "How did you know they would search?"

"I didn't know, Mr. Hansen, my newly-wed wife did. Robyn knows all,  sees all."

There wasn't much of interest downstairs, which was open and airy, even in the kitchen, but the supply room was locked and everyone gravitated to there. "Is this the room from your report?" asked Tolson.

"Mecca," Sullivan said.

Tolson gestured for Felt to pop it open.

Mecca turned out to have the same broken piano, hymnals, mason jars, and stacks of Green Dome coloring books that Jerry had seen before when he took Robyn and Dory in the supply room. Bill Sullivan pointed at the plywood board at the back wall. "Flashlights, gentlemen."

The board was moved aside, and presently the three G-men were standing around the rock cairn that formed the uttermost summit of  Green Dome. Tol- son said to Sullivan, "If the kids were in such  a hurry to clear out when Paul caught them why are all the stones   back in place?"

"That is a very perceptive question," Sullivan said. He began looking for the easiest stone to move. Felt didn't like the sudden turn in the murder investigation into an area where he hadn't been briefed. Tolson's agenda was intruding. A stone fell and Tolson went in.

Felt heard Tolson utter an oath that was most unbecoming of an FBI agent. After Sullivan ducked inside the cairn items started getting tossed out: a dress, shoes, bloody clothing, rubber gloves. Felt shouted for them to stop but [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Setxkbmap

Turn the capslock key into a second ESC key

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Setxkbmap

Turn the capslock key into a second ESC key

(en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Stardata

V,4.85 2. Alpha Cen,14,36,11,-60,37,48,4.35,0,G2 V,4.38 3. Alpha Cen B,14,36,11,-60,37,48,4.35,0,K0 V,5.71 4. Epsilon Eri,3,30,34,-9,37,36,10.7,0,K2 V,6.16 5. 61 Cyg,21,4,40,38,30,0,11.3,0,K5 Ve,7.51 6. Epsilon Ind,21,59,33,-56,59,36,11.3,0,K5 Ve,6.99 7. 61 Cyg B,21,4,40,38,30,0,11.3,0,K7 Ve,8.33 8. Procyon,7,36,41,5,21,18,11.4,0,F5 IV-V,2.66 9. Tau Cet,1,41,45,-16,12,0,11.4,0,G8 Vp,5.77 10. Omicron(2) Eri,4,12,58,-7,43,48,15.7,0,K1 Ve,6.01 11. 70 Oph,18,2,56,2,30,36,16.4,0,K0 Ve,5.7 12. 70 Oph B,18,2,56,2,30,36,16.4,0,K5 Ve,7.49 13. 36 Oph,17,12,16,-26,31,48,17.4,0,K1 Ve,6.44 14. 36 Oph B,17,12,16,-26,31,54,17.4,0,K1 Ve,6.48 15. Sigma Dra,19,32,28,69,34,36,18.3,0,K0 V,5.93 16. Delta Pav,20,3,50,-66,18,42,18.6,0,G8 V,4.78 17. Eta Cas,0,46,3,57,33,6,19.4,0,G3 V,4.58 18. Eta Cas B,0,46,3,57,33,6,19.4,0,K7 V,8.64 19. 82 Eri,3,17,56,-43,15,36,20.4,0,G5 V,5.28 20. Beta Hyi,0,23,9,-77,32,6,21,0,G2 IV,3.76 21. Xi Boo,14,49,5,19,18,24,21.9,0,G8 Ve,5.57 22. P Eri,1,37,54,-56,26,54,21.9,0,K2 V,6.66 23. P  Eri B,1,37,54,-56,26,54,21.9,0,K3 V,6.76 24. Xi  Boo B,14,49,5,19,18,24,21.9,0,K4 Ve,7.84 25. Gl 667,17,15,33,-34,56,12,23.3,0,K5 V,7.9 26. Pi(3) Ori,4,47,7,6,52,30,24.5,0,F6 V,3.81 27. Chi Dra,18,21,57,72,42,42,24.6,0,F7 V,4.18 28. TW PsA,22,53,37,-31,49,48,25.5,0,K5 Ve,7.02 29. 107 Psc,1,39,47,20,1,36,25.8,0,K1 V,5.73 30. Gamma Lep,5,42,23,-22,27,48,26.1,0,F6 V,4.06 31. Beta Com,13,9,32,28,7,54,27.2,0,G0 V,4.65 32. CP  -51Â°4413,11,40,49,-51,33,18,27.4,0,K0,10.74 33. 61 UMa,11,38,25,34,29,0,28.1,0,G8 Ve,5.65 34. Gamma Pav,21,22,20,-65,35,36,28.2,0,F8 V,4.53 35. Mu Her,17,44,30,27,44,54,28.3,0,G5 IV,3.73 36. Beta CVn,12,31,22,41,37,42,28.4,0,G0 V,4.57 37. Alpha Men,6,11,44,-74,44,12,28.6,0,G5 V,5.37 38. 70 Vir,13,25,59,14,2,42,29.1,0,G2.5 Va,5.23 39. 61 Vir,13,15,47,-18,2,0,29.1,0,G6 V,4.99 40. Luyten 763-63,13,56,27,-19,35,24,29.1,0,K2 :,13.2 41. Eta Boo,13,52,18,18,38,54,31.2,0,G0 IV,2.78 42. Kappa Cet,3,16,44,3,11,18,31.2,0,G5 Ve,4.92 43. Delta Eri,3,40,51,-9,55,54,31.5,0,K0 IVe,3.6 44. Chi(1) Ori,5,51,25,20,16,6,31.6,0,G0 V,4.47 45. Mu Ara,17,40,10,-51,48,36,31.7,0,G5 V,5.2 46. Zeta Her,16,39,24,31,41,30,32.9,0,G0 IV,2.89 47. Zeta Her B,16,39,24,31,41,30,32.9,0,K0 V,5.4 48. Gamma Vir,12,39,7,-1,10,30,33,0,F0 V,3.43 49. Gamma Vir B,12,39,7,-1,10,30,33,0,F0 V,3.49 50. Beta Vir,11,48,5,2,2,48,33,0,F9 V,3.58 51. Delta Tri,2,14,0,33,59,48,33.2,0,G0 Ve,4.83 52. Xi UMa,11,15,31,31,48,36,34,0,G0 Ve,4.24 53. Xi UMa B,11,15,31,31,48,36,34,0,G0 Ve,4.7 54. 12 Oph,16,33,44,-2,13,12,34.3,0,K0 Ve,5.64 55. 54 Psc,0,36,45,20,58,54,34.3,0,K0+ V,5.74 56. Zeta(1) Ret,3,16,41,-62,46,0,34.8,0,G2 V,5.4 57. Iota Per,3,5,27,49,25,24,35.3,0,G0 V,3.88 58. Zeta TrA,16,23,4,-69,58,30,35.3,0,G0 V,4.74 59. Wolf 635,17,2,27,-4,59,0,36.8,0,K5 V,7.47 60. LHS 257,8,50,44,70,59,24,36.9,0,K6 V,8.6 61. Zeta(2) Ret,3,17,7,-62,41,48,37.3,0,G1 V,4.95 62. CC Eri,2,32,28,-44,0,36,37.4,0,K7 Ve,8.55 63. I Boo,15,2,8,47,50,54,38.3,0,F9 V n,4.84 64. Gamma Ser,15,54,8,15,49,24,38.8,0,F6 V,3.47 65. Lambda Ser,15,44,1,7,30,30,38.9,0,G0 V,4.05 66. Kappa For,2,20,15,-24,2,36,39.3,0,G1 V,4.8 67. Beta TrA,15,50,43,-63,16,42,39.7,0,F2 IV,2.41 68. Nu Phe,1,12,56,-45,47,54,39.8,0,F8 V,4.53 69. Gl 269,7,16,3,-46,53,42,40,0,K4 V,7.5 70. Theta Boo,14,23,30,52,4,54,40.3,0,F7 V,3.6 71. Iota Peg,22,4,41,25,6,0,40.8,0,F5 V,3.27 72. 85 Peg,23,59,33,26,49,0,41,0,G3 V,5.31 73. Gl  914,23,59,33,26,49,0,41,0,K6 V,8.5 74. Theta Per,2,40,46,49,1,6,41.1,0,F7 V,3.63 75. 58  Eri,4,45,21,-17,1,30,41.3,0,G1 V,4.98 76. 36  UMa,10,27,26,56,14,18,41.8,0,F8 V,4.3 77. VY  Ari,2,45,42,30,54,36,41.8,0,G9 e,6.22 78. Psi Cap,20,43,8,-25,27,6,42.4,0,F5 V,3.56 79. Eta Cep,20,44,16,61,38,36,42.9,0,K0 IVe,2.84 80. Beta Aql,19,52,51,6,16,48,43.9,0,G8 IV,3.07 81. 59 Vir,13,14,18,9,41,6,44,0,G0 V,4.55 82. Tau Boo,13,44,53,17,42,18,44.1,0,F7 V,3.85 83. 72 Her,17,18,47,32,31,54,44.3,0,G2 V,4.73 84. Gl 737,18,53,21,-56,3,6,44.6,0,K5 V,9.32 85. Tau(1) Eri,2,42,46,-18,47,0,44.7,0,F6 V,3.78 86. Zeta Dor,5,4,39,-57,32,24,44.7,0,F7 V,4.03 87. Alpha For,3,9,57,-29,11,0,44.9,0,F7 IV,3.26 88. Gl 127,3,9,57,-29,11,0,44.9,0,G7 V,6 89. Delta Aql,19,22,59,3,0,48,45,0,F0 IV,2.66 90. Iota Psc,23,37,23,5,21,18,45,0,F7 V,3.43 91. Pi(1) UMa,8,34,47,65,11,42,45.2,0,G1 V,4.93 92. 47 UMa,10,56,40,40,41,54,45.4,0,G0 V,4.33 93. Tau(1) Hya,9,26,37,-2,33,0,46.3,0,F6 V,3.84 94. Tau(1) Hya B,9,26,37,-2,31,54,46.3,0,K0,6.42 95. Nu Ind,22,20,22,-72,30,0,46.6,0,G0 V J,5.21 96. CP -62Â°5888,18,29,24,-62,47,0,46.6,0,K7,8.75 97. Gl 292,7,50,24,-34,34,42,46.7,0,K3,7.8 98. CP -49Â°990,6,35,55,-49,59,42,46.8,0,K0,8.84 99. Lambda Aur,5,15,37,40,3,24,46.9,0,G2 IV-V,3.92 100. Theta UMa,9,29,31,51,54,24,47.2,0,F6 IV,2.37 101. Epsilon Cet,2,37,9,-12,5,0,47.5,0,F5 V,4.68 102. Epsilon Cet B,2,37,9,-12,5,0,47.5,0,F5 V,4.8 103. Gl 255,6,55,30,-35,26,24,47.7,0,F8 IV-V,6.3 104. Iota Hor,2,40,51,-51,0,54,47.8,0,G3 IV,4.58 105. Gamma CrA,19,3,2,-37,8,12,48,0,F8 V,4.03 106. Gamma CrA B,19,3,2,-37,8,12,48,0,F8 V,4.16 107. 26 Dra,17,34,28,61,54,48,48,0,G0 Va,4.5 108. Gl 684,17,34,28,61,54,48,48,0,K3 V,7.22 109. Epsilon Ret,4,15,37,-59,25,18,48.7,0,K2 IV,3.57 110. Gamma Cep,23,37,17,77,21,12,49,0,K1 IVe,2.32 111. Gl 332,8,57,24,41,58,54,49.2,0,G5 V,5.29 112. Psi(5) Aur,6,43,8,43,37,48,49.3,0,G0 V,4.34 113. Gl 225.2,5,58,28,-31,2,12,49.4,0,K5 V,7.4 114. 11 Tau,5,21,30,17,20,18,50,0,F8 Ve,4.06 115. 18 Sco,16,12,54,-8,14,18,50.1,0,G1 V,4.56 116. 20 LMi,9,58,8,32,10,12,50.6,0,G2 Va,4.4 117. 31  Aql,19,22,35,11,50,12,50.7,0,G8 IV,4.2 118. Psi Vel B,9,28,44,-40,14,48,50.8,0,F0 IV,3.69 119. Psi Vel,9,28,44,-40,14,48,50.8,0,F3 IV,3.16 120. Sigma Boo,14,32,30,29,57,42,50.9,0,F2 V,3.5 121. Chi Cnc,8,17,2,27,22,54,51.1,0,F6 V,4.16 122. 10 CVn,12,42,38,39,33,0,51.4,0,G0 V,4.96 123. SZ Crt,11,18,57,-20,10,42,51.4,0,K4/5 V J,7.75 124. Gl 795,20,37,5,4,47,36,51.4,0,K8 V,8.4 125. Gl 314,8,36,57,-22,29,24,51.5,0,K0 V,5.8 126. Nu(2) Lup,15,18,25,-48,8,6,51.7,0,G2 V,4.65 127. Wolf 318,8,37,15,43,17,48,51.9,0,K2 V,8.31 128. 9 Pup,7,49,27,-13,45,48,52,0,F9 V,4.71 129. 9  Pup B,7,49,27,-13,45,48,52,0,G4 V,5.16 130. Delta Gem,7,17,8,22,4,36,52.3,0,F1 IV-V,2.51 131. Delta Gem B,7,17,8,22,4,36,52.3,0,K3 V,7.2 132. NN 3232,3,27,37,19,55,42,52.3,0,K7 V,9.77 133. 6 Cet,0,8,43,-15,44,30,52.6,0,F7 V,3.85 134. Pi Men,5,41,8,-80,30,30,52.6,0,G1 V,4.61 135. 13 Cet,0,32,40,-3,52,6,53.1,0,F6 V,4.59 136. 13 Cet B,0,32,40,-3,52,6,53.1,0,G1 V,5.3 137. 39 Leo,10,14,30,23,21,30,53.6,0,F8 Vbw,4.74 138. 53 Aqr,22,23,52,-16,59,48,53.6,0,G3 V,5.13 139. Gl 98,2,25,9,4,12,18,53.6,0,K7 V,8.4 140. 83 Leo,11,24,13,3,17,6,54,0,K0 IV,5.41 141. 15  Sge,20,1,51,16,56,0,54.2,0,G1 V,4.7 142. Rho CrB,15,59,8,33,27,12,54.4,0,G0 V,4.3 143. Xi  Oph,17,18,0,-21,3,42,54.5,0,F2 V,3.29 144. 58  Oph,17,40,26,-21,39,36,54.5,0,F5 V,3.75 145. Gl 670,17,18,0,-21,3,42,54.5,0,K3,7.8 146. Eta CrB,15,21,8,30,28,0,54.7,0,G2 V,4.5 147. Eta CrB,15,21,8,30,28,0,54.7,0,G2 V,4.84 148. 10  Tau,3,34,19,0,14,42,54.9,0,F8 V,3.15 149. 99  Her,18,5,8,30,33,12,55.1,0,F7 V,3.95 150. Gl  704,18,5,8,30,33,12,55.1,0,K5 V,7.31 151. Rho Gem,7,25,54,31,53,6,55.2,0,F0 V,3.04 152. 19  Dra,16,55,45,65,12,42,55.3,0,F6 V,3.74 153. Tau PsA,22,7,13,-32,47,42,55.3,0,F6 V,3.77 154. Omicron Aql,19,48,38,10,17,24,55.3,0,F8 V,3.96 155. 37 Gem,6,52,14,25,26,24,55.3,0,G0 V,4.59 156. Wolf 231,5,7,58,16,22,18,55.3,0,K0,7.4 157. 104 Tau,5,4,30,18,34,48,55.5,0,G4 V,4.45 158. 104 Tau B,5,4,30,18,34,48,55.5,0,G4 V,4.55 159. I Car,10,23,24,-73,46,36,55.8,0,F2 IV,2.83 160. 51 Peg,22,55,0,20,30,0,55.8,0,G4 V,4.33 161. Gl 340,9,14,56,28,46,42,56,0,K3 V,6.9 162. Gl 60,1,32,42,-30,10,0,56.2,0,K4 V,6.8 163. BY  Dra,18,32,45,51,41,0,56.2,0,K6 Ve,6.9 164. Eta Sco,17,8,34,-43,10,30,56.7,0,F0 IVn,2.13 165. Chi Her,15,50,57,42,35,24,56.7,0,F9 V,3.41 166. 39  Tau,4,2,22,21,52,30,56.7,0,G5 V,4.7 167. Alpha Cha,8,19,51,-76,45,42,56.8,0,F6 IV,2.86 168. Upsilon And,1,33,51,41,9,24,56.8,0,F8 V,2.88 169. Beta Cae,4,40,17,-37,14,30,57.3,0,F1 V,3.8 170. Kappa Ret,3,28,30,-63,6,48,57.3,0,F5 IV-V,3.49 171. 37 Cet,1,11,53,-8,11,30,57.4,0,F5 V,3.91 172. CP -45Â°7173,14,59,42,-46,5,54,57.4,0,K5 V,8.63 173. Gl 738,18,55,9,32,50,12,57.7,0,K1 V,6.5 174. CP -43Â°6820,14,56,14,-43,53,30,57.8,0,K7 V,8.91 175. 16 UMa,9,10,25,61,37,54,58.2,0,F9 V,3.87 176. Lambda(2) For,2,34,54,-34,47,30,59.1,0,G5 IV,4.49 177. 1 Hya,8,22,5,-3,35,18,59.3,0,F3 V,4.31 178. 64 Psc,0,46,21,16,40,18,59.3,0,F8 V,3.77 179. Phi(2) Pav,20,35,55,-60,43,6,59.3,0,F8 V,3.82 180. GJ 1120,8,58,31,15,27,54,59.3,0,K5,8.19 181. Psi Dra,17,42,49,72,10,24,59.4,0,F5 IV-V,3.28 182. Psi(1) Dra,17,42,51,72,10,54,59.4,0,F8 V,4.49 183. Eta Crv,12,29,29,-15,55,12,59.5,0,F0 IV,2.99 184. Chi Eri,1,54,1,-51,51,24,59.5,0,G5 IV,2.39 185. Alpha Cir,14,38,26,-64,45,30,60.2,0,F0 Vp,1.86 186. Alpha Cir B,14,38,26,-64,45,30,60.2,0,K5 V,7.14 187. Gamma Aps,16,25,43,-78,47,18,60.3,0,K0 IV,2.6 188. G098-008,5,29,53,29,21,24,60.3,0,K7,10.7 189. Theta Cyg,19,35,6,50,6,18,60.4,0,F4 V,3.14 190. Sigma(2) UMa,9,6,1,67,20,24,60.4,0,F7 IV-V,3.5 191. Gl 335,9,6,1,67,20,24,60.4,0,K2 V,7.1 192. Alpha Tri,1,50,13,29,20,12,61.1,0,F6 IV,2.06 193. Delta Equ,21,12,3,9,48,12,61.2,0,F7 V,3.74 194. Delta Equ B,21,12,3,9,48,12,61.2,0,F7 V,4 195. 94 Cet,3,10,13,-1,22,54,61.2,0,F8 V,3.69 196. B Car,8,8,11,-61,9,0,61.5,0,F5 V,3.38 197. 39 Ser,15,50,52,13,21,6,61.5,0,G1 V,4.72 198. 9 Cet,0,20,18,-12,29,12,61.5,0,G2 V,5 199. Ross 620,8,11,51,13,10,30,61.5,0,K4,7.47 200. NN 3570,9,50,4,3,22,0,61.9,0,K4,9.19 201. Gl  764.1,19,34,2,-10,33,6,62.1,0,K7,8.8 202. Rho Cap,20,26,1,-17,58,48,62.6,0,F2 IV,3.36 203. Gl  836.9,21,43,2,-57,55,18,62.6,0,K7 V,8.2 204. Theta Ant,9,41,58,-27,32,24,62.7,0,F6 V,4.03 205. Theta Ant B,9,41,58,-27,32,24,62.7,0,F8 V,4.2 206. EQ Vir,13,32,7,-8,5,6,62.7,0,K5,7.89 207. Gl  615.1,16,10,58,13,39,36,63,0,G8 V,6.1 208. Alpha Com,13,7,33,17,47,36,63.1,0,F5 V,3.55 209. Alpha Com B,13,7,33,17,47,36,63.1,0,F5 V,3.74 210. Iota Pav,18,5,47,-62,0,54,63.2,0,G3 IV-V,4.04 211. Tau Cyg,21,12,48,37,49,54,63.5,0,F0 IV,2.37 212. Gl 822.1,21,12,48,37,49,54,63.5,0,G0 V,4.97 213. Wolf 1332,22,11,46,-8,59,6,63.6,0,K2,10.4 214. Omega Dra,17,37,14,68,46,54,64,0,F5 V,3.34 215. Iota Crt,11,36,8,-12,55,36,64,0,F7 V,4.02 216. 94 Aqr,23,16,29,-13,43,54,64,0,G5 IV,3.7 217. Gl 894.2,23,16,29,-13,43,36,64,0,K2 V,6.15 218. V791,17,15,45,-1,43,42,64,0,K7,9.13 219. G029-033,23,23,39,8,37,0,64,0,K7,9.08 220. 40  Leo,10,17,1,19,43,30,64.1,0,F6 IV,3.3 221. Wolf 1409,18,6,48,52,47,24,64.2,0,K5,11 222. Kappa(2) Tuc,1,14,5,-69,8,30,64.3,0,F6 IV J,3.5 223. Kappa(1) Tuc,1,14,4,-69,8,24,64.3,0,G5,5.7 224. Psi Ser,15,41,31,2,40,24,64.5,0,G5 V,4.38 225. Gl 678,17,27,49,-1,1,24,64.6,0,G8 IV-V,4.7 226. 36 Dra,18,13,36,64,22,48,64.8,0,F5 V,3.54 227. Pi PsA,23,0,44,-35,1,12,65,0,F0 IV,3.6 228. 110  Her,18,43,31,20,29,48,65.1,0,F6 V,2.69 229. 45  Boo,15,5,6,25,3,48,65.2,0,F5 V,3.42 230. Xi  Peg,22,44,12,11,55,0,65.2,0,F6 IV-V,2.7 231. 19  LMi,9,54,38,41,17,42,65.2,0,F6 Vas,3.63 232. 18 Cet,0,42,58,-13,9,6,65.2,0,G0 V,4.64 233. G136-078,15,10,30,19,28,30,65.2,0,G7 V,6.02 234. Luyten 999-6,20,41,6,0,21,48,65.2,0,K0,10 235. LHS 3204,16,26,41,18,31,6,65.2,0,K3 V,6.34 236. Wolf 370,11,10,40,0,30,42,65.2,0,K7,8.7 237. Iota Mic,20,45,6,-44,10,18,66,0,F1 IV,3.57 238. 7  And,23,10,15,49,8,0,66.4,0,F0 V,2.98 239. Nu(2) Col,5,35,47,-28,43,6,66.6,0,F5 V,3.75 240. Wolf 225,3,43,37,41,17,24,66.7,0,K1 V,6.6 241. LHS 181,3,43,37,41,17,30,66.7,0,K2 V,7.2 242. 18  Pup,8,8,21,-13,39,6,66.8,0,F7 V,3.98 243. Theta Dra,16,0,57,58,41,54,67,0,F8 IV-V,2.45 244. Alpha(1) Lib,14,47,55,-15,47,24,67.1,0,F5 IV-V,3.58 245. CP -47Â°9997,23,26,49,-47,18,36,67.1,0,K7 V,8.64 246. Wo 9125,3,41,17,24,37,36,67.2,0,G0,9.2 247. Mu Cet,2,42,14,9,54,18,67.5,0,F0 IV,2.7 248. CP -45Â°6863,14,26,3,-46,14,18,67.9,0,K5,8.76 249. GJ 1164,12,45,31,-24,32,0,67.9,0,K7,8.45 250. 59 Dra,19,11,1,76,28,42,69,0,F2 V,3.5 251. G011-034,11,58,35,-1,27,24,69.1,0,K4,9.3 252. 9 Aur,5,2,45,51,32,0,69.2,0,F0 V,3.4 253. 1  Cen,13,42,50,-32,47,30,69.4,0,F3 IV,2.59 254. G078-004,2,42,20,44,44,24,69.4,0,K6,9.21 255. Luyten 1140-40,19,26,38,7,3,12,69.4,0,K7,9.1 256. RS CVn,13,8,18,36,12,0,69.5,0,F5 IV,6.5 257. 57  Vir,13,13,16,-19,40,42,69.5,0,K1 IV,3.6 258. Zeta Ser,17,57,50,-3,41,18,69.8,0,F3 V,3 259. CP -49Â°1388,7,49,42,-50,10,42,70,0,K2,8.4 260. Wo 9127,3,41,23,24,36,36,70.1,0,G3,9.43 261. I  Pup,7,11,8,-46,40,30,70.7,0,F0 IV,2.8 262. 68  Eri,5,6,15,-4,31,12,70.9,0,F2 V,3.42 263. 71  Ori,6,11,54,19,10,30,70.9,0,F6 V,3.51 264. Tau(1) Gru,22,50,41,-48,51,48,70.9,0,G3 IV,4.3 265. Pi(1) Cnc,9,9,34,15,11,54,71.5,0,K0 V J,5.54 266. Sigma Ser,16,19,32,1,8,42,72,0,F0 V,3.1 267. Luyten 317-002,9,9,3,-45,6,12,72.2,0,K0 V,8.58 268. V774 Her,18,31,12,22,16,54,72.5,0,K4 V,7.16 269. NN 3219,3,19,27,26,58,42,72.5,0,K7,9.3 270. Alpha Cae,4,38,57,-41,57,30,72.8,0,F2 V,2.7 271. Phi Vir,14,25,37,-2,0,18,73.1,0,G2 IV,3.08 272. Phi Vir B,14,25,37,-2,0,18,73.1,0,G4 V,7.2 273. Wo 9124,3,41,17,24,38,36,73.3,0,F8,8.9 274. 17  Cyg,19,44,32,33,36,36,73.5,0,F5 IV-V,3.23 275. Sigma CrB,16,12,48,33,59,0,73.5,0,F8 V,3.88 276. Sigma CrB,16,12,48,33,59,0,73.5,0,G1 V,4.96 277. Upsilon Aqr,22,31,58,-20,57,54,74.1,0,F3 V,3.42 278. Theta Scl,0,9,12,-35,24,48,74.1,0,F4 V,3.47 279. 22 Lyn,7,26,9,49,46,42,74.1,0,F6 V,3.58 280. 29 Ari,2,30,10,14,48,54,74.1,0,F8 V,4.24 281. NN 3712,12,8,58,53,41,54,74.1,0,K3,6.45 282. Ross 55,7,8,34,-14,21,30,74.1,0,K5,8.16 283. NN 3640,11,1,29,40,16,30,74.1,0,K5,9 284. Wo 9390,12,6,55,-11,34,30,74.1,0,K5,7.4 285. Gl  431.1,11,29,32,61,21,36,74.3,0,G3 V,5.3 286. Gl  765.4,19,43,39,33,29,6,74.3,0,K3 V,6.75 287. Beta Ret,3,43,34,-64,57,48,74.6,0,K0 IV,2.1 288. Wo 9713,20,57,35,-42,13,24,75,0,K4,10.5 289. 74  Ori,6,13,38,12,17,18,75.2,0,F5 IV-V,3.2 290. Lambda CrB,15,53,58,38,5,24,75.5,0,F0 IV,3.63 291. 16 Lib,14,54,34,-4,8,36,75.5,0,F0 V,2.67 292. Mu(1) Cyg,21,41,54,28,31,0,75.5,0,F4 V,2.96 293. Mu(2) Cyg,21,41,54,28,31,0,75.5,0,G2 V,4.27 294. Eta Ari,2,10,0,20,58,36,75.9,0,F5 V,3.44 295. 50 Per,4,5,16,37,54,36,75.9,0,F7 V,3.69 296. Mu Dra,17,4,17,54,32,6,75.9,0,F7 V,3.8 297. Mu Dra B,17,4,17,54,32,6,75.9,0,F7 V,3.9 298. 16 Cyg,19,40,29,50,24,30,75.9,0,G2 V,4.13 299. G226-044,17,2,38,59,39,12,75.9,0,K4,8.48 300. Lambda Ara,17,36,32,-49,23,12,76.4,0,F2 V,2.92 301. 12 Per,2,39,5,39,59,0,76.4,0,F9 V,3.07 302. Wo 9086,2,34,6,-47,52,54,76.6,0,G0,10.1 303. 79 Cet,2,32,49,-3,46,18,76.9,0,G5 IV,4.96 304. Mu(1) Boo,15,22,36,37,33,6,77.7,0,F0 V,2.43 305. Mu(2) Boo,15,22,36,37,33,24,77.7,0,G1 V,4.62 306. 51 Ari,2,59,28,26,24,54,77.7,0,G8 V,4.74 307. G128-061,23,23,26,28,55,30,77.7,0,K3,9.2 308. Wolf 412,12,24,44,27,18,18,77.7,0,K3 V,7.01 309. 75 Cnc,9,5,51,26,50,12,78.6,0,G5 IV,4.08 310. Epsilon Cep,22,13,12,56,47,54,78.8,0,F0 IV,2.28 311. Xi Sco,16,1,37,-11,14,12,79.4,0,F6 IV-V,2.91 312. Xi Sco B,16,1,37,-11,14,12,79.4,0,F6 IV-V,3.1 313. 34 Peg,22,24,5,4,8,18,79.4,0,F7 V,3.82 314. Wo 9540,16,1,37,-11,14,6,79.4,0,G8 V,5.37 315. Wo 9782,22,24,5,4,8,18,79.4,0,K4:,9.8 316. Sigma Peg,22,49,52,9,34,6,79.6,0,F7 IV,3.22 317. Wolf 401,11,29,10,14,38,36,79.6,0,G0 V,4.26 318. Wo  9543,16,2,29,-32,43,30,79.6,0,K1 V,7.1 319. Wo  9543,16,2,29,-32,43,30,79.6,0,K5,9.2 320. Luyten 1562-52,16,14,5,35,56,30,79.6,0,K5,7.68 321. NN  3670,11,29,10,14,38,36,79.6,0,K6 IV,7.28 322. Ross 411,5,31,51,28,4,12,79.6,0,K7,8.14 323. Wolf 1414,18,9,42,49,57,48,79.6,0,K7,8 324. V775 Her,18,53,47,23,29,42,79.7,0,K2,6.15 325. Ross 679,23,59,22,25,44,0,79.9,0,K3,9.4 326. Eta UMi,16,18,56,75,52,18,80.1,0,F3 V,3 327. VW  Cep,20,38,3,75,25,0,80.7,0,K0 V,6 328. Chi(1) Hya,11,2,55,-27,1,24,80.9,0,F3 IV J,3.7 329. 13 Ori,5,4,54,9,24,42,81.1,0,G1 IV,4.19 330. 12 Boo,14,8,7,25,19,42,81.3,0,F8 IV,2.8 331. Lambda(2) Phe,0,33,18,-48,16,30,81.5,0,F6 V,3.52 332. Epsilon(2) Ara,16,59,9,-53,9,54,81.5,0,F6 V,3.3 333. Wolf 363,11,7,7,2,43,36,81.5,0,G5,5.69 334. Wo 9155,4,23,13,-57,11,6,81.5,0,G6 V,5.3 335. LHS 2436,11,36,6,45,23,6,81.5,0,K2 V,6.41 336. G087-009,6,46,16,35,12,6,81.5,0,K5,8.18 337. V549,9,33,12,37,45,12,81.5,0,K5,9.03 338. LHS 1771,5,36,46,-46,7,36,81.5,0,K5 V,7.7 339. NN 3226,3,24,55,9,45,42,81.5,0,K7,8.46 340. Gl 426,11,19,12,18,27,54,81.5,0,K7,8.7 341. G241-008,22,24,52,63,37,18,81.5,0,K7,7.52 342. 23 UMa,9,27,37,63,16,54,81.9,0,F0 IV,1.67 343. G212-024,21,7,1,46,57,18,82.2,0,K3,8.8 344. Alpha Hyi,1,57,12,-61,48,48,82.4,0,F0 V,0.85 345. Epsilon For,2,59,28,-28,16,54,82.6,0,G5 IV,3.86 346. Wo  9593,17,33,36,-49,22,30,82.8,0,G5,8.2 347. Rho(1) Sgr,19,18,46,-17,56,36,83.4,0,F0 IV,1.89 348. Eta(1) Pic,5,1,30,-49,13,18,83.6,0,F2 V,3.33 349. Phi Gru,23,15,25,-41,5,48,83.6,0,F5 V,3.49 350. Xi(2) Cap,20,9,39,-12,45,54,83.6,0,F7 V,3.81 351. 38 Gem B,6,51,49,13,14,36,83.6,0,G6 V,5.64 352. G026-032,21,47,6,-11,54,54,83.6,0,K5,8.79 353. 89 Leo,11,31,48,3,20,18,85.8,0,F6 V,3.67 354. G251-016,6,38,53,71,56,48,86.3,0,K7,8.8 355. 15  Peg,21,50,16,28,33,30,88.2,0,F5 VI-V,3.37 356. Wo 9474,14,14,26,51,36,24,88.2,0,K1 V,6.07 357. 38 Vir,12,50,37,-3,16,54,90.6,0,F5 V,3.89 358. Wo 9212,6,25,10,-25,49,18,93.2,0,K7,9.29 359. 66  Cet,2,10,14,-2,37,36,95.9,0,F8 V,3.33 360. 66  Cet B,2,10,13,-2,37,48,95.9,0,G5 V,5.4 361. 49  Lib,15,57,31,-16,23,18,98.2,0,F8 V,3.08

Starplot

Starplot is another free UNIX/Linux toy for science fiction writers that shows the nearby stellar neighborhood in a display you can rotate in any direction. Click on a sun and the chart re-centers itself on it. Click on buttons to hide or show dimmer stars based on a threshold magnitude. Find the distance between any two systems. Print the results to a .PNG file.

Whereas I can get spacechart to install under Debian, I can't  get it to work under Hacky Linux even after resolving a chain of   seventeen dependencies in a tedious process that took about two hours. So starplot is the only program of this type that I have.

There are two databases available, one is the Gliese catalog that has 3803 stars within 25 parsecs of Earth. The other is the Yale catalog that has 9096 stars brighter than magnitude 6.5. All of  this data was obtained by earthbound observations. There is also the Hipparcos data, obtained automatically by a satellite. It has about 300,000 stars brighter than magnitude 8.0 but it was some work getting it converted to a format that starplot could read.

First I had to get the raw data from an FTP site, stored in 23 .gz  files, and gunzip them. Then I renamed them one by one to 1.dat, 2.dat, etc. Then I concatenated them into a single catalog.dat file by using cat *.dat >>catalog.dat and put them in the sky2000-4-0.95 folder with the spec file. Then I typed starpkg sky2000-4-0.95 and it converted the data to a .stars file that starplot could read. The website linked above warned that it was so much data that it  would really slow down starplot but Hacky Linux seems to eat it for lunch.

Streamripper

Grabbing music with peer-to-peer software is both dangerous and tedious. It's dangerous because your download folder is shared across the network, which allows the copyright owner to collect evidence against you and file a lawsuit. It's tedious because companies are paid to flood the network with fake MP3s which are nothing but three minutes of noise or a lecture on piracy. The solution is streamripper.

Every radio station in the world is streaming their music over the Internet, and there's thousands of stations which only stream over the net. And these streams include information such as  the artist, song title, and bit rate. Streamripper takes this information, records the song, and then creates a MP3 and lays it  nice and neat on your hard drive. All you need to do is provide the URL for the stream. Get several instances of streamripper going, all ripping different radio stations, and when you get home from work you'll have 4GB of music, enough to fill a data DVD. I've got far more music now than I'll ever have time to listen to it all. As Robert Heinlein once said (about solar power), "It's raining soup, get a bucket!" Psyndora Chillout streamripper [6]http://95.217.39.141:9125 -u 'WinAmpMPEG/5.0' ANTENNE BAYERN Chillout streamripper stream.antenne.de/chillout Retrieved from "[7]http://www.cleanposts.com/index.php/Streamripper"

Streamripper

Grabbing music with peer-to-peer software is both dangerous and tedious. It's dangerous because your download folder is shared across the network, which allows the copyright owner to collect evidence against you and file a lawsuit. It's tedious because companies are paid to flood the network with fake MP3s which are nothing but three minutes of noise or a lecture on piracy. The solution is streamripper.

Every radio station in the world is streaming their music over the Internet, and there's thousands of stations which only stream over the net. And these streams include information such as  the artist, song title, and bit rate. Streamripper takes this information, records the song, and then creates a MP3 and lays it  nice and neat on your hard drive. All you need to do is provide the URL for the stream. Get several instances of streamripper going, all ripping different radio stations, and when you get home from work you'll have 4GB of music, enough to fill a data DVD. I've got far more music now than I'll ever have time to listen to it all. As Robert Heinlein once said (about solar power), "It's raining soup, get a bucket!" Psyndora Chillout streamripper [6]http://95.217.39.141:9125 -u 'WinAmpMPEG/5.0' ANTENNE BAYERN Chillout streamripper stream.antenne.de/chillout Retrieved from "[7]http://www.cleanposts.com/index.php/Streamripper"

SUBSTITUTE function

Substitutes all occurrences of a search text string, within an  original text string, with the supplied replacement text

A B 1 Four score and seven years ago our fathers brought forth... 2 Four score & seven years ago our

Tar

Extract tarball

tar -xvf /dev/hda/FILE

Make archive

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Tar

Extract tarball

tar -xvf /dev/hda/FILE

Make archive

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Touch

Create a file and a directory with unique names from the system clock

touch "$(date +"%y%m%d%H%M%S")";sleep 1; mkdir [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Touch

Create a file and a directory with unique names from the system clock

touch "$(date +"%y%m%d%H%M%S")";sleep 1; mkdir [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Tricks

Linux Jedi Mind Tricks

Make an image of a CD on your hard drive:

dd if=/dev/sr0 of=image.iso Mount that image on your system to  make a copy:

mount -o loop image.iso /mnt/temp Make a new .iso image in  /mnt/burn from the contents in /mnt/hold:

mkisofs -o /mnt/burn/image.iso /mnt/hold Burn that image to  another CD:

cdrecord dev=/dev/sr0 /mnt/burn/image.iso Convert RPM package to  DEB package:

alien FILE.RPM List only non-blank lines in a file:

awk 'NF >0' FILE.TXT Create a custom command to list files:

alias l = 'ls -l --color=auto' Add line numbers to a file:

cat -n FILE2.TXT Make a file lowercase:

cat FILE1.TXT | tr '[A-Z]' '[a-z]' > FILE2.TXT Change the owner of a directory and all its contents:

chown -R teresita DIRECTORY Extract tarball:

tar -xvf /dev/hda/file Make archive:

tar -c DIRECTORY | bzip2 > dir.tar.bz2 Make a file executable for all users:

chmod u+x FILE Turn a directory into a SquashFS file:

mksquashfs /tmp/merge pup_412.sfs Mount your SquashFS file:

mount -o loop -t squashfs pup_412.sfs /mnt/pup Upload a file to  your webspace:

wput MYFILE [6]ftp://username:password@web.host.com Convert a  MIDI file to a .WAV file:

timidity -Ow -oruby.wav ruby.mid Replace spaces in a filename with hyphens:

find. -name "* *mp3" -exec rename 's/\ /-/g' {} \; Print the current month in Julian dates:

cal -j

LUSH:

streamripper [7]http://streamer-ntc-aa06.somafm.com:80/stream/1073

GROOVE SALAD:

streamripper [8]http://streamer-ntc-aa08.somafm.com:80/stream/1018

181.FM CHILLED

streamripper [9]http://yp.shoutcast.com/sbin/tunein-station.pls?id=1275050

CHILLOUT LOUNGE

[10]http://yp.shoutcast.com/sbin/tunein-station.pls?id=1268725 * Cleanposts: 75.147.177.4

mencoder manoro.avi -of mpeg -mpegopts format=mpeg1:tsaf:muxrate=2000 -o manoro.mpg -oac lavc -lavcopts acodec=mp2:abitrate=224 -ovc lavc -lavcopts vcodec=mpeg1video:vbitrate=1152:keyint=15:mbd=2:aspect=4/3

Factorial function implemented by recursion.

define fact(n)

{

if (n <= 1) return (n);

return (n fact(n-1));

Tr

Contents

[6]1 Build a list of unique words in a file 7]2 Make a file [lowercase 8]3 Make all filenames in a directory lowercase 9]4 [Make a new file of the individual words in another file 10]5 [Convert text files from MS-DOS format to UNIX format 11]6 [Convert WordStar files to plain text 12]7 Make the text in a [file all uppercase 13]8 Perform a ROT 13 conversion 14]9 Strip [carriage returns from a DOS file

Build a list of unique words in a file

tr ' ' \\n < notes20191108.txt | sort | uniq

Make a file lowercase

cat FILE1.TXT | tr '[A-Z]' '[a-z]' > FILE2.TXT

Make all filenames in a directory lowercase

$x | tr '[A-Z]' '[a-z]'` if [ $lc != $x ]; then mv -i $x $lc fi done
 * 1) !/bin/bash for x in `ls` do if [ ! -f $x ]; then continue fi lc=`echo

Make a new file of the individual words in another file

tr ' ' '\012' <INFILE >OUTFILE

Convert text files from MS-DOS format to UNIX format

tr -d '\r' <MULE.ASC >mule.txt

Convert WordStar files to plain text

cat rubymae.ws | tr -c '[:print:]\t\r\n' '[ *]' >rubymae.txt

Make the text in a file all uppercase

cat testa.txt | tr '[a-z]' '[A-Z]' > testb.txt

Perform a ROT 13 conversion


 * 1) !/bin/sh echo "$1" | tr '[A-Za-z]' '[N-ZA-Mn-za-m]'

Strip carriage returns from a DOS file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Tr

Contents

[6]1 Build a list of unique words in a file 7]2 Make a file [lowercase 8]3 Make all filenames in a directory lowercase 9]4 [Make a new file of the individual words in another file 10]5 [Convert text files from MS-DOS format to UNIX format 11]6 [Convert WordStar files to plain text 12]7 Make the text in a [file all uppercase 13]8 Perform a ROT 13 conversion 14]9 Strip [carriage returns from a DOS file

Build a list of unique words in a file

tr ' ' \\n < notes20191108.txt | sort | uniq

Make a file lowercase

cat FILE1.TXT | tr '[A-Z]' '[a-z]' > FILE2.TXT

Make all filenames in a directory lowercase

$x | tr '[A-Z]' '[a-z]'` if [ $lc != $x ]; then mv -i $x $lc fi done
 * 1) !/bin/bash for x in `ls` do if [ ! -f $x ]; then continue fi lc=`echo

Make a new file of the individual words in another file

tr ' ' '\012' <INFILE >OUTFILE

Convert text files from MS-DOS format to UNIX format

tr -d '\r' <MULE.ASC >mule.txt

Convert WordStar files to plain text

cat rubymae.ws | tr -c '[:print:]\t\r\n' '[ *]' >rubymae.txt

Make the text in a file all uppercase

cat testa.txt | tr '[a-z]' '[A-Z]' > testb.txt

Perform a ROT 13 conversion


 * 1) !/bin/sh echo "$1" | tr '[A-Za-z]' '[N-ZA-Mn-za-m]'

Strip carriage returns from a DOS file

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Unicks

ported. anonymous ftp is unix terminology for leech access. *  beauty and the beast...macintosh and unix bell labs programmers do it with unix bell labs programmers do it with unix. bell labs unix - reach out and grep someone bell labs unix -- reach out and grep someone. bell labs unix --- reach out, reach out and grep someone benson's dogma: ascii is our god, and unix is  his profit berkeley has two famous exports: unix and lsd. this is not a coincidence bother, said @f, and deleted unix from his machine bother, said pooh, and deleted unix from his machine. *  bother! said pooh, and deleted unix from his machine. bother, said pooh as he deleted unix from his machine bother, said pooh, as he deleted unix from his machine. bother! said pooh as he  deleted unix from his machine. bother! said pooh, as he deleted unix from his machine. can i run win '95 under dv under unix? cp/m < windows 3.1 < dos 5.0 < desqview < unix dad's a unix; mother board. debugging unix is not an option. dos: the bastard child of cp/m and unix dos unix version...rm*.dos. emacs is a  nice operating system, but i prefer unix emasculate your computer with unix! e pluribus unix. error 75ff: msdos.sys not found. buy unix? ever wanted to go to a unix box and type ping pong? *  for %%friendly in ( dos, vms, unix ) echo %%friendly.....dos..vms friends don't let friends run unix f u cn rd ths ur prbly a  unix usr fun with unix gcc 2.0 is to c as svr4 is to unix. *  give me a dos (or unix) cli or give me death! give me a standard unix! sure, which one: svr4, sco,...? grep... grep... grep... (a frog with unix stuck in its throat) grep..grep..grep... (a  frog w/unix stuck in his throat) grep..grep..grep(a frog w/unix  stuck in his throat) have windows, don't need unix headline: os scandal: unix and ms. dos found in love nest! help! i've been possessed by a unix daemon! he who gazed upon the naked unix prompt and lived. hier laeuft ehnix, weils zunix kompatibel ist how many unix hackers does it take to change a light bulb? none, they program by the light of the terminal screens how much does it cost to entice a dope-smoking unix system guru to  dayton? -- brian boyle, unix/world's first annual salary survey * i am root of unix. resistance is futile i am unix of borg. your compatability will be assimulated. ibm's workplace operating system. (dos, os/2, unix, mac capable). nt r if god had a beard, he'd be a unix programmer if god wanted you to think, he would have installed unix in your brain. if it doesn't run unix, forget it if ms-dos and pc-dos and ibm-dos were castrated, they would become unix! i listen to the c shells on the c shore of the unix c i'm confused about unix, aren't they the ones without balls? *  in accord to unix philosophy, perl gives you enough rope to hang yourself installing unix fixes the [vms] bug. -- barry shein * i see.... and unix is an operating system, is it? $ is the // of all unix. is unix a castrated servant? it is easier to fix unix than to live with nt i tried unix but i couldn't get to  greps with it i wonder who they named unix after i work off unix and can use multiple operating systems. crow i work off unix and can use multiple operating systems. crow just about every computer on the market today runs unix, except the mac (and  nobody cares about it). -- bill joy 6/21/85 learning unix via man | pg life is nasty, brutish and short. why add unix? life is too short to waste time learning unix. ls -d: better living thru unix? <- next release, full unix support* -grep-grep-grep- manual? what manual? this is unix! mathematician using unix: 1 is prime. 3 is prime. 5 is prime. 7 is prime. 9 is bus error * micro$oft gives you windows. unix gives you the house most unix programmers are great masters of style. -- the unnamed usenetter * mother's board, dad's a unix. msdos-the latest utility supported by unix! msdos was created to keep idiots away from unix my answer to unix documentation: ginsu. my other computer had a  vaxextomy, now it's a unix. my other computer has punch cards running win nt inside a unix window. my sister opened a unix computer store in hawaii. she sells c shells by the seashore * new book: unix programmers who wear ties. new unix/ts manuals available in 2f--101. next: unix with training wheels by armanni - ibid (after admitting to owning a next) no! i said unix expert, not eunuch expert not only is unix dead, it's starting to smell really bad. -- rob pike now if i can run win3 under dv  under unix now if i can run windows under desqview under os/2 under unix oh bother, said pooh, as he deleted unix from his machine oh, this is a *unix* system. i know all about this. *  one who is able to work both windows and unix at the same time is considered very ambidextros. os/2: an imitation unix thats better than dos! os/2...unix for the mentally handicapped. *  os/2 win unix the good, the bad & the ugly our os which art in cpu - unix be thy name our os which art in cpu - unix be  thy name, thy pentium come our os who art in cpu, unix be thy name. thy programs run, thy syscalls done, in kernel as it is in  user! oxymoronic book title: _unix for dummies_ oxymoron: secure unix oxymoron: understanding unix oxymoron: unix security oxymoron: unix security. oxymoron...unix simplified. pc-dos&ms-dos&cp/m&unixi'lldiddlewithos/2wouldn'tyou? perl - the swiss army chainsaw of unix tools -- rob kolstad pipesinta [unix] -computer jargon 3.0.0 reality is a crutch for people who can't handle unix. real men use basic. c is for unix. remember, unix spelled backwards is xinu. rime unix conference chairman * sc0 unix was made by a sadist! scotty, how much longer until we  can shift into unix? security for unix is like multitasking for dos. sex and drugs and unix sex and drugs and unix. some of our favorite things sex, unix & rock-n-roll sex,unix & rock-n-roll shortest book: easy unix shortest book: fun with unix * shortest book: user friendly unix slowly and surely the unix crept up on the nintendo user subj: breaking down unix system firewalls sure there is.in fact,there are dozens of std unixs out there taco bell laboratories: where unix programmers eat out * tag x pro @ver@ <- next release, full unix support -grep-grep-grep- terrifying sysadmin comment: dd if=/dev/null of=/vmunix * the electric chair supports os/2, nt and unixware ! the new african-american unix interface: malcolm x-windows the number of unix installations has grown to 10, with more expected. (6/72) there are 2 kinds of o/s's: unix, and brain-farts there are three kinds of people: men, women, and unix there are two major products that come out of berkeley; lsd and bsd unix. we there are two major products that come out of berkeley: lsd and unix. we don't believe this to be a coincidence there are two major products to come out of berekley: lsd and unix. we don't believe this to be a coincidence there is no editor but emacs, and unix is its prophet there's nothing wrong with dos that unix wouldn't  fix. there's nothing wrong with windows that unix wouldn't fix * the unix environment...a programer's eternal purgatory. the unix fortran optimizer is invoked with rm *.f the unix learning curve bends over backwards to help this bit here says 'i don't think we're in unix anymore toto'... -- me this is unix. this is your brain on unix: #%z&@!!$?! this is your brain: os/2; your brain on  unix $*#$(%!%!% this is your brain...this is your brain on unix this message has been unixized for your protection. those who   do not understand unix are condemned to reinvent it, poorly those   who do not understand unix are condemned to reinvent it, poorly.   -- henry spencer those who do not understand unix are doomed   to reinvent it - poorly to be a kind of moral unix, he touched   the hem of nature's shift. -- shelley to kill a bad sector unix   it understanding unix unix...99 and 44/100 percent carpal ! unix a manly sort of operating system! unix... a manly sort   of operating system! unix and the world unix with you; vax and   you vax alone. unix are lousy lovers. unix? aren't they those   guys who were castrated? unix...developed just to tickle your   imagination. unix doesn't do it; their users do it unix doesn't   do it; their users do it. unix don't do it. unix don't do it; their users do it. unix: dos on acid unix enhancements aren't unix est un, et c est son langage unix - first, last, and only revenge of the nerds unix hackers go down all the time. unix has gurus. os/2 has evangelists. windows has penitents unix hype: /here/is/a/quarter/now/go/buy/yourself/a/computer/ unix? i can't even do one thing at once. unix - if you listen to the shell, you can hear the c unixinu: unix, forwards and backwards. unix is #1. i just love case-sensitive operating systems unix is a computer virus with a user interface. unix is a four letter word that comes with a 1000 page manual. unix is a registered bell of at&t trademark laboratories. -- donn seeley unix is a  very user-friendly system--it's just not promiscuous unix is a  very user-friendly system -- it's just not promiscuous about which unix is futile - bill borg unix is irrelevant - bill borg * unix is like a vorlon: it is incredibly powerful, gives terse, cryptic unix is many things to many people, but it has never been everything to anybody. unix is not an a-ha experience - it's more of a holy-$#!* experience unix is not only dead, it's starting to smell bad. - rob pike unix isn't vax/vms (fortunately!) * unix is our friend! unix is riscy unix is simple, but it takes a genius to understand the simplicity unix is simple, but it  takes a genius to understand the simplicity. -dennis ritchie * unix! is that from at&t? or ... satan! unix is the answer, but only if you phrase the question very carefully. unix is the worst operating system; except for all others. -- berry kercheval unix is user friendly. it's just selective about who its friends are unix...it's not a career...it's a lifetime of drudgery. *  unix...it's not a job... it's a career. unix: it's not just a  hair color, it's a way of life. unix: live free or die! unix, ms-dos, and windows nt (also known as the good, the bad, and the  ugly). (by matt welsh) unix...nobody does it worse better. *  unix? no nick! not nicks! unix? no thanks, i don't keep a harem. unix...not just another pretty interface ! unix (n.) : see archaic. unix: operating system for the vowel impaired. unix programmers do it in the background. unix programmers do it with (c)-shells. unix programmers do it with forks. unix programmers do it with (k)orn. unix programmers do it with pipes unix programmers just do it cryptically unix programmers just do it  cryptically. unix programmers must c her's. unix prompt unix security unix: security software for harems unix should be used as an adjective. - at&t unix soit qui mal y pense unix soit qui mal y pense. unix, the mf of all dos's. unix: the operating system of the future of the past. unix - the operating system whose commands look like line noise unix, theynix, shenix, henix; inix? os/2! no, netware unix, theynix, shenix, henix, weenix, inix os/2? no, netware unix users are lousy lovers unix: user-viciousness raised to an art form unix was not designed to  stop you from doing stupid things, because unix was the father of amigados. wallow in amiga culture. unix weirdo in training. handle with care. unix when words fail you. unix... when words fail you. unixwhen words fail you. unix will continue for a  long time to be the gentic code of the internet - ibid unix will self-destruct in five seconds... 4... 3... 2... 1 veni, vidi, vi...i came, i saw, i wrote about it on a unix editor. vms is a text adventure. if you win you get to use unix. vms is a  text-only adventure game. if you win you can use unix wanted: unix programmers...we're looking for a few million programmers. *  wat isn calvados? n unixderivat, watt?? we are microsoft, os/2 is irrelevant, unix is irrelevant, hp ux is my life, prepare to  be assimilated we are microsoft. unix is irrelevant. openness is futile. prepare to be assimilated welcome to hell. here's  your copy of unix. what is a unix wizard? beginner - someone who has never heard the phrase rtfm what is a unix wizard? expert - someone who has rtfm ... again ... and again ... and again what is a unix wizard? guru - someone who doesn't need to rtfm what is  a unix wizard? hacker - someone who knows what isn't in tfm what is a unix wizard? knowledgeable user - someone who has rtfm what is a unix wizard? novice - someone who wonders what rtfm means * what is a unix wizard? user - someone who has tried to rtfm what is a unix wizard? wizard - someone who wtfm what's the difference between a unix group and a group of eunichs? x-windows...playing tic-tac-toe on a unix box. yabua yet another backbreaking unix acronym grep? you are in a maze of twisty little unix versions, all different. you mean i can put stuff past column 72? wow! unix is gre your brain: ÃÃÃÃÃÃÃÃÃÃÃ, your brain on  unix: )**&%^$^%$#&# your brain: ---, you brain on unix:   )**&%^$^%$#&#&

Uniq

Build a list of items duplicated after the first field, sorted by number of instances

sort -k 2 all28.txt | uniq -f 1 -d -c | sort -n >dupes04.tx

Uniq

Build a list of items duplicated after the first field, sorted by number of instances

sort -k 2 all28.txt | uniq -f 1 -d -c | sort -n >dupes04.tx

Uptime

Display time since boot

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Uptime

Display time since boot

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

VBA

VBA

ExtractElement

[6]File:ExtractElement2.png

Returns the nth item of a text string separated by a user-defined separation character. Function ExtractElement(Txt, n, Sep) ExtractElement = Split(Application.Trim(Txt), Sep)(n - 1) End Function

VBA-XorHexStrings

XORHEXSTRINGS

[6]File:Cover.png

Function XorHexStrings(ByVal V1 As String, ByVal V2 As String,  Optional PadRight As Boolean) As String ' XOR two hexadecimal strings, returning the result as a hexadecimal string. ' If one of the argument strings is shorter than the other, that string '  will be padded with zeros; by default, padded on the left, but the ' optional argument PadRight may be used to specify padding on  the right.

Dim L1 As Long ' length of first hex string L2 As Long ' length Dim of second hex string D1 As String ' hex digit extracted Dim from first string D2 As String ' hex digit extracted from Dim second string R As String ' result string I As Long ' digit Dim iterator

If V1 Like "*[!0-9A-F]*" Then Err.Raise 5 End If

If V2 Like "*[!0-9A-F]*" Then Err.Raise 5 End If

L1 = Len(V1 2 = Len(V2                                       )

If L1 < L2 Then If PadRight Then V1 = V1 & String(L2 - L1, "0") Else V1 = String(L2 - L1, "0") & V1 End If L1 = L2 ElseIf L2 < L1 Then If PadRight Then V2 = V2 & String(L1 - L2, "0") Else V2 = String(L1 - L2, "0") & V2 End If L2 = L1 End If

For I = 1 To L1 D1 = Mid$(V1, I, 1) D2 = Mid$(V2, I, 1) R = R & Hex(Val("&H" & D1) Xor Val("&H" & D2)) Next I XorHexStrings = R End Function

[3]CleanPosts Atom feed

Vim

Contents

[6]1 VIM COMMANDS + [7]1.1 70 columns + [8]1.2 Append text after the cursor [count] times + [9]1.3 Append text at the end of the line [count] times + [10]1.4 Append to end of current line + [11]1.5 Back one word + [12]1.6 Back screenful + [13]1.7 Begin overstrike or replace mode, use ESC key to exit + [14]1.8 Capitalize the first letter of each line + [15]1.9 Change + [16]1.10 Change current word to a new word + [17]1.11 Close tab + [18]1.12 Copy all lines and put at end of file + [19]1.13 Create abbreviation + [20]1.14 CTRl F - Forward screenful + [21]1.15 D caret, not CTRL d - Delete to beginning of line + [22]1.16 Delete all lines + [23]1.17 Delete all lines in file + [24]1.18 Delete all text on a line after, and including, a    period + [25]1.19 Delete blank lines + [26]1.20 Delete character + [27]1.21 Delete [count] characters before the cursor + [28]1.22 Delete [count] lines + [29]1.23 Delete {count} lines, starting with [range] + [30]1.24 Delete + [31]1.25 Delete five lines + [32]1.26 Delete from current line to end of file + [33]1.27 Delete lines 1 through 9 + [34]1.28 Delete lines x through y    + [35]1.29 Delete the characters under the cursor until the end of the line + [36]1.30 Delete to end of line + [37]1.31 Delete unicode character + [38]1.32 Delete word backward + [39]1.33 Delete word from cursor on + [40]1.34 Directory list + [41]1.35 Display file list + [42]1.36 Down half screenful + [43]1.37 Edit {file} always. Discard any changes to the current buffer + [44]1.38 Edit {file} + [45]1.39 Edit the file whose name is under or after the cursor + [46]1.40 Enable left-right scrolling + [47]1.41 Enter Insert mode, replacing characters rather than inserting + [48]1.42 Example 10G goes to line 10 + [49]1.43 Execute {cmd} and insert its standard output below the cursor + [50]1.44 Exit Visual mode without making any change + [51]1.45 Filter through 'equalprg' option command + [52]1.46 Filter through external command + [53]1.47 Find match, ahead + [54]1.48 Find match, behind + [55]1.49 Find previous + [56]1.50 Force autowrap + [57]1.51 Format lines to 'textwidth' length + [58]1.52 Forward one word + [59]1.53 Get file + [60]1.54 Go    to column 56 + [61]1.55 Go to file beginning + [62]1.56 Go to     file end + [63]1.57 Go to last tab + [64]1.58 Go to next line + [65]1.59 Go to next tab + [66]1.60 Go to previous line + [67]1.61 Go to screen bottom + [68]1.62 Go to screen middle + [69]1.63 Go to screen top + [70]1.64 Highlight matches + [71]1.65 indent line + [72]1.66 Indent paragraph + [73]1.67 Insert + [74]1.68 Insert tab + [75]1.69 Insert text at the beginning of the cursor line + [76]1.70 Insert text before the cursor [count] times + [77]1.71 Insert the file [name] below the cursor + [78]1.72 Join all lines ending in a hyphen and reformat to 80 character lines + [79]1.73 Join lines 13 and 14 + [80]1.74 Join next line to    the end of the current line + [81]1.75 Justify selected range to 40 columns wide + [82]1.76 List all the current marks not a    motion command + [83]1.77 Make backspace standard + [84]1.78 Move cursor to the beginning of current line + [85]1.79 Move cursor to the end of current line + [86]1.80 Move lines to end of file + [87]1.81 Move the current line to the clipboard + [88]1.82 Moves the cursor down one line + [89]1.83 Moves the cursor one character to the left + [90]1.84 Moves the cursor one character to the right + [91]1.85 Moves the cursor up one line + [92]1.86 Move tab to position n + [93]1.87 Number of lines for command line + [94]1.88 One page backward + [95]1.89 One page forward + [96]1.90 Open new tab + [97]1.91 Open up a new line following the current line and add text there + [98]1.92 Open up a new line in front of the current line and add text there + [99]1.93 Paste after + [100]1.94 Paste from buffer 2 [there are 9] + [101]1.95 Paste twice + [102]1.96 Pattern Search backward for the pattern + [103]1.97 Pattern Search forward for the pattern + [104]1.98 Quit always, without writing + [105]1.99 Quit current file and exit - same as "q! + [106]1.100 Quit, no warning +    [107]1.101 Quit Vim. This fails when changes have been made +     [108]1.102 Quit without writing + [109]1.103 Quit with warning +     [110]1.104 Read in sorted file + [111]1.105 Remove line breaks     + [112]1.106 Repeat command + [113]1.107 Repeat the latest "/"     or "?" [count] times in opposite direction + [114]1.108 Repeat     the latest "/" or "?" [count] times + [115]1.109 Replace a by     nothing + [116]1.110 Replace <\/b> globally + [117]1.111 Replace     globally + [118]1.112 Replace with null + [119]1.113 Replace     foo with newline + [120]1.114 Replace old with new in range +     [121]1.115 Replace tabs with spaces + [122]1.116 Replace the     character under the cursor with {char} + [123]1.117 Replace the     letter a, by blank + [124]1.118 Replace with confirm + [125]1.119     Restore line + [126]1.120 Return the number of search matches + [127]1.121 Reverse order of file + [128]1.122 Same as above, but only write the lines in [range] + [129]1.123 Scroll the screen so the cursor is at the bottom + [130]1.124 Scroll the screen so the cursor is at the top + [131]1.125 Search forward for the [count]'th occurrence of {pattern} + [132]1.126 Set 70 columns wide + [133]1.127 Set amount by which text is tabbed + [134]1.128 Set bar at column 70 + [135]1.129 set wrapping + [136]1.130 Shift left + [137]1.131 Shift right + [138]1.132 Show line numbers + [139]1.133 Show ruler + [140]1.134 Show tabs and end of lines + [141]1.135 Sort file + [142]1.136 Start editing a new file + [143]1.137 Start Visual mode per character + [144]1.138 Switch case + [145]1.139 To the mark {A-Z0-9} in the correct file + [146]1.140 Turn on ruler + [147]1.141 Unabbreviate a word + [148]1.142 Undent line + [149]1.143 Undo last change + [150]1.144 Up half screenful + [151]1.145 Visual block, by characters + [152]1.146 Visual block, by lines + [153]1.147 Visual mode, by    line + [154]1.148 Write current file if modified and exit + [155]1.149 Write file to disk and quit the editor + [156]1.150 Write lines 10 through 25 into file named temp + [157]1.151 Write lines to shell + [158]1.152 Write out + [159]1.153 Write the current file and exit always + [160]1.154 Write visual block to    clipboard + [161]1.155 Write workspace to named file + [162]1.156 Write workspace to original file + [163]1.157 Yank 5 lines + [164]1.158 Yank current line + [165]1.159 Yank current line + [166]1.160 Yank from cursor to end of current word + [167]1.161 Yank line + [168]1.162 Yank to end of current line from cursor + [169]1.163 Yank

VIM COMMANDS

70 columns

set wm=60

Append text after the cursor [count] times

a

Append text at the end of the line [count] times

A

Append to end of current line

A

Back one word

b

Back screenful

^B

Begin overstrike or replace mode, use ESC key to exit

R

Capitalize the first letter of each line

%norm gUl

Change

c

Change current word to a new word

cw

Close tab

tabc

Copy all lines and put at end of file

1,$co$

Create abbreviation

ab abbr phrase

CTRl F - Forward screenful

^F

D caret, not CTRL d - Delete to beginning of line

d^

Delete all lines

%d

Delete all lines in file

1,$d

Delete all text on a line after, and including, a period

norm f.1D

Delete blank lines

v/\S/d

Delete character

x

Delete [count] characters before the cursor

X

Delete [count] lines

dd

Delete {count} lines, starting with [range]

[range]d[elete]

Delete

d

Delete five lines

d5d

Delete from current line to end of file

.,$d

Delete lines 1 through 9

1,9d

Delete lines x through y

x,yd

Delete the characters under the cursor until the end of the line

D

Delete to end of line

d$

Delete unicode character

%s/\%u200d//g

Delete word backward

db

Delete word from cursor on

dw

Directory list

Explore

Display file list

!ls

Down half screenful

^D

Edit {file} always. Discard any changes to the current buffer

e[dit]!

Edit {file}

e[dit]

Edit the file whose name is under or after the cursor

gf

Enable left-right scrolling

set nowrap

Enter Insert mode, replacing characters rather than inserting

R

Example 10G goes to line 10

nG or n

Execute {cmd} and insert its standard output below the cursor

r[ead] !{cmd}

Exit Visual mode without making any change

<Esc>

Filter through 'equalprg' option command

=

Filter through external command

!

Find match, ahead

/foo

Find match, behind

?foo

Find previous

N

Force autowrap

set fo-=1

Format lines to 'textwidth' length

gq

Forward one word

w

Get file

r filename

Go to column 56

56|

Go to file beginning

gg

Go to file end

G

Go to last tab

tabl

Go to next line

+

Go to next tab

tabn

Go to previous line

-

Go to screen bottom

L

Go to screen middle

M

Go to screen top

H

Highlight matches

set hlsearch

indent line

>>

Indent paragraph

5>>

Insert

i

Insert tab

TAB -

Insert text at the beginning of the cursor line

I

Insert text before the cursor [count] times

i

Insert the file [name] below the cursor

r[ead] [name]

Join all lines ending in a hyphen and reformat to 80 character lines

g/-$/j

%s/- //g

%!par -w 80

Join lines 13 and 14

13,14j

Join next line to the end of the current line

J

Justify selected range to 40 columns wide

!par 40j

List all the current marks not a motion command

marks

Make backspace standard

set backspace=2

Move cursor to the beginning of current line

0

Move cursor to the end of current line

$

Move lines to end of file

1,10m$

Move the current line to the clipboard

.!xclip -sel clip

Moves the cursor down one line

j

Moves the cursor one character to the left

h

Moves the cursor one character to the right

l

Moves the cursor up one line

k

Move tab to position n

tabm n

Number of lines for command line

set cmdheight=3

One page backward

^b

One page forward

^f

Open new tab

tabnew filename

Open up a new line following the current line and add text there

o

Open up a new line in front of the current line and add text there

O

Paste after

p

Paste from buffer 2 [there are 9]

"2p

Paste twice

2p

Pattern Search backward for the pattern

?

Pattern Search forward for the pattern

/

Quit always, without writing

cq[uit]

Quit current file and exit - same as "q!

ZQ

Quit, no warning

q!

Quit Vim. This fails when changes have been made

q[uit]

Quit without writing

q[uit]!

Quit with warning

q

Read in sorted file

r !sort phone.txt

Remove line breaks

w ++ff=unix

Repeat command

.

Repeat the latest "/" or "?" [count] times in opposite direction

N

Repeat the latest "/" or "?" [count] times

n

Replace a by nothing

g/a/s///g

Replace <\/b> globally

1,$s/<\/b>//g

Replace globally

1,$s/<b>//g

Replace with null

1,$s/<\/b>//g

Replace foo with newline

%s/foo/^M/g

Replace old with new in range

50,100s/old/new/g

Replace tabs with spaces

set retab

Replace the character under the cursor with {char}

r{char}

Replace the letter a, by blank

g/a/s// /g

Replace with confirm

50,100s/old/new/gc

Restore line

U

Return the number of search matches


 * %s/love//gn

Reverse order of file

g/^/m 0

Same as above, but only write the lines in [range]

[range]wq[!] [file]

Scroll the screen so the cursor is at the bottom

zb

Scroll the screen so the cursor is at the top

zt

Search forward for the [count]'th occurrence of {pattern}

/{pattern}[/]

Set 70 columns wide

set wm=60

Set amount by which text is tabbed

set shiftwidth=4

Set bar at column 70

set colorcolumn=70

set wrapping

set wrap

Shift left

<

Shift right

>

Show line numbers

set nu

Show ruler

set ru

Show tabs and end of lines

1,$l

Sort file

1,$!sort

Start editing a new file

e file

Start Visual mode per character

v

Switch case

~

To the mark {A-Z0-9} in the correct file

`{A-Z0-9}

Turn on ruler

set ruler

Unabbreviate a word

una word

Undent line

<<

Undo last change

u

Up half screenful

^U

Visual block, by characters

CTRL-v

Visual block, by lines

CTRL-V

Visual mode, by line

V

Write current file if modified and exit

ZZ

Write file to disk and quit the editor

wq

Write lines 10 through 25 into file named temp

10,25w temp

Write lines to shell

1,10w !command

Write out

w[!][>>] filename

Write the current file and exit always

wq!

Write visual block to clipboard

w !xclip -selection clipboard

Write workspace to named file

w file

Write workspace to original file

w

Yank 5 lines

5yy

Yank current line

Y

Yank current line

yy

Yank from cursor to end of current word

yw

Yank line

[address]y[a-z][count]

Yank to end of current line from cursor

y$

Yank

y

W3m

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

W3m

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Wcalc

WCALC - Terminal-based scientific calculator

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Wget

[6]Image:Eb.png

wget

Grab a copy of a website

wget -w9 -r --random-wait -l3 -np -E [7]https://rosettacode.org/wiki/Rosetta_Code

My blog is just a diary, with very few comments from the outside, so to make a copy of my blog I can just load the posts into my  browser at once and save the whole thing to disk. But the Elephant Bar is a blog with about 70 comments per day. I've been posting on  the Elephant Bar for about three years, and I wanted to retrieve all my comments. But there's more than 2000 articles, and to surf to the comments you have to follow links and I didn't want to get Mouse Finger. So I set Linux to do it for me with the following command in a terminal session:

wget -nc -w 3 -r --random-wait -l 2 -np -E --domains=2164th.blogspot.com [8]http://2164th.blogspot.com

-nc means no clobber. It means if wget has already downloaded a  page, it won't download it again.

-w 3 means wait three seconds between downloads, so I don't hammer the target website. That allows the boys at the Elephant Bar to  keep posting.

-r means "recursive"...that means I want wget to surf to any links it finds and download those too.

--random wait varies the three second delay randomly so the server on the other end doesn't think I'm a robot doing this, which I am.

-l 2 means I just want to surf to a depth of 2. That way I don't  probe too deeply which would fill up my hard drive real quick. I  wanted the comments, but I don't want to follow any links made in   those comments. Otherwise I'd be downloading the whole internet.

-np means "no parent". I just want to stay in the Elephant Bar, not go up to Blogger itself and start downloading everyone else's blog.

-E means convert funky pages ending in ".asp" to html.

--domains=2164th.blogspot.com limits my search to the Elephant Bar, so I don't follow anything on listed in the blogroll. And the last bit is the URL to the Elephant Bar itself.

Wget ran for about 24 hours and finally finished up. I now have a mirror of the EB blog on my hard drive, complete with all the comments, which I want to filter to get just my comments and repost them here on my blog. Fresh off that success, I'm stealing the entire website at www.textfiles.com. Linux is wunnerful. Retrieved (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Wget

[6]Image:Eb.png

wget

Grab a copy of a website

wget -w9 -r --random-wait -l3 -np -E [7]https://rosettacode.org/wiki/Rosetta_Code

My blog is just a diary, with very few comments from the outside, so to make a copy of my blog I can just load the posts into my  browser at once and save the whole thing to disk. But the Elephant Bar is a blog with about 70 comments per day. I've been posting on  the Elephant Bar for about three years, and I wanted to retrieve all my comments. But there's more than 2000 articles, and to surf to the comments you have to follow links and I didn't want to get Mouse Finger. So I set Linux to do it for me with the following command in a terminal session:

wget -nc -w 3 -r --random-wait -l 2 -np -E --domains=2164th.blogspot.com [8]http://2164th.blogspot.com

-nc means no clobber. It means if wget has already downloaded a  page, it won't download it again.

-w 3 means wait three seconds between downloads, so I don't hammer the target website. That allows the boys at the Elephant Bar to  keep posting.

-r means "recursive"...that means I want wget to surf to any links it finds and download those too.

--random wait varies the three second delay randomly so the server on the other end doesn't think I'm a robot doing this, which I am.

-l 2 means I just want to surf to a depth of 2. That way I don't  probe too deeply which would fill up my hard drive real quick. I  wanted the comments, but I don't want to follow any links made in   those comments. Otherwise I'd be downloading the whole internet.

-np means "no parent". I just want to stay in the Elephant Bar, not go up to Blogger itself and start downloading everyone else's blog.

-E means convert funky pages ending in ".asp" to html.

--domains=2164th.blogspot.com limits my search to the Elephant Bar, so I don't follow anything on listed in the blogroll. And the last bit is the URL to the Elephant Bar itself.

Wget ran for about 24 hours and finally finished up. I now have a mirror of the EB blog on my hard drive, complete with all the comments, which I want to filter to get just my comments and repost them here on my blog. Fresh off that success, I'm stealing the entire website at www.textfiles.com. Linux is wunnerful. Retrieved (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Whereis

Find the man page for a command

whereis -m genisoimage genisoimage: (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Whereis

Find the man page for a command

whereis -m genisoimage genisoimage: (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Win311apps

track of the carbs I eat (one unit equals fifteen grams of  carbs, I get eleven units per day, unless I go a little   over, the spread sheet keeps me honest and I have to go   under on the next day. I also use it to keep track of   my daily expenses, I round to the nearest five dollars.   __________________________________________________________________

ï»¿ Drafix Windows CAD, professional technical drawing software for Windows 3.11, with 5000 symbols and sample drawings. __________________________________________________________________

Thesaurus software, for those ten dollars words just on the tip of my tongue. __________________________________________________________________

ï»¿ This version of Opera works in Windows 3.1 (kinda), and it's free for 30 days of continuous use. I've used it for two. When I get to a full month, I'll just re-install it. __________________________________________________________________

ï»¿ Netscape Navigator 3.04, from 1996 when they were pretty much the only game in town. But Microsoft started giving away Internet Explorer free with later versions of Windows 95 and all versions of 98. So Netscape folded, made their browser freeware, and distributed the source code. Now we have Firefox. __________________________________________________________________

Win311edit

__________________________________________________________________

ï»¿ Microsoft Word 4.3 is inferior to WordPerfect 6.1, but I can use it to read my extensive collection of ebooks stored as .DOC files. __________________________________________________________________

ï»¿ Dida is an HTML editor that doubles as an off-line browser. This is the primary use I put it to, since HTML is  fairly simple and I can code it from scratch on Notepad. __________________________________________________________________

Notepad, bundled with Windows, can't open a text file bigger than about 40 kilobytes, and there are certain other annoyances that weren't fixed until later versions. Super Pad is an excellent replacement, so I have it set (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Win311file

running under MS-DOS, and Windows 3.11 running in a  second window, and XP running in a third window, all running at the same time inside Debian Linux 6.0.4. __________________________________________________________________

Calmira gives the look and feel of Windows 95 to Windows 3.1 __________________________________________________________________

Total Commander is the obligatory two-panel Orthodox File Manager that I require on all my platforms to do file management. Under DOS I use Dos Navigator. Under Linux I use Midnight Commander. __________________________________________________________________

ï»¿ Windows 3.11 running File Manager and Program Manager side-by-side in 800x600x8 screen resolution. Each program group, when opened, unpacks to a window of icons adjusted not to hide the other program group icons. Minimized programs form icons along the bottom row. The user interface configured this way is efficient but very different from the all-pervasive Windows 95 paradigm of a taskbar and folders within folders, where even the desktop is a folder. __________________________________________________________________

ï»¿ Windows 1.0 and 2.0 used a non-Y2K compliant file manager named MS-DOS Executive for file management, which was little more than a fancy full-screen DOS DIR command that did nothing to show off pretty icons, so Microsoft dropped it for Windows 3. But it's lightweight and very fast, and can be  configured to show only executable programs, as shown here. __________________________________________________________________

ï»¿ PC Tools File Manager set to display all the files on the C  drive, useful for finding duplicates and large space-hogging files. __________________________________________________________________

Win311font

Windows 3.1, professional font editor and logo creator with optical character recognition for scanned images of text. __________________________________________________________________

ï»¿ Program Manager in Windows 3.11 before changing the font with an entry in WIN.INI ï»¿ Program Manager with a  larger, bold font by adding the following code: [Desktop] IconTitleFaceName=System IconTitleSize=10 IconTitleStyle=1 __________________________________________________________________

Win311game

game where the cards are already all dealt, and you have four empty spaces which will act temporary holding spots for moving cards around as you stack them in order. I'm still learning the game, and I generally have to resign two times out of three. __________________________________________________________________

ï»¿ ARASAN16 chess program, for when I feel like getting (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Win311grapg

Capture (WNCAP), part of the PC Tools for Windows suite, is what I use to make screen shots in Win3.11. By my own personal convention I set F11 as the hot key, as I do in  Screen Thief for DOS, and I have it write the file straight to   floppy since I need to move the image to an internet-capable computer using sneakernet. Unfortunately the Wiki doesn't  take .BMP files, so I convert them to .JPGs with Irfanview. __________________________________________________________________

ï»¿ Classic Windows Paint, which I'm using to develop a map for my Great American Novel. There's not much to say about this program, but I'm documenting everything I'm doing in Windows 3.1. __________________________________________________________________

Windows Draw by Micrografix, an application that used to  (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Win311icon

bit-maps, but Iconmaster lets me draw icons on a  transparent background that will match the place the icons end up, Desktop or Program Manager groups. __________________________________________________________________

Win311ref

topographical maps covering Oregon and Washington which can run under Windows 3.11. There's no installed program, the binary sits on each one of the CDs and can be run on the fly. Shown here is a  pair of small mountains on the outskirts of Renton with a network of trails that can be accessed from neighborhood cul-de-sacs. __________________________________________________________________

ï»¿ New Grolier Multimedia Encyclopedia CD-ROM, running under Windows 3.11. __________________________________________________________________

ï»¿ The MultiMedia Encyclopedia of Knowledge (MMEK) is  comprehensive, but the entries are very brief. This is because CD-ROMs turn out to have not nearly the data capacity people thought when they were new and it  was thought they would revolutionize everything. ï»¿ __________________________________________________________________

Compton's Complete Street Guide, a CD-ROM from the 1990's I picked up from a thrift store. Here it is  centered above my own neighborhood, a pale substitute for Google Maps on a platform that can't access broadband. __________________________________________________________________

Encarta 94 Encyclopedia, the next item in the series of Windows 3.1 reference CD-ROMs that I've obtained for a song at thrift stores. __________________________________________________________________

Win311science

software today from Amazon for only $10, Expert Astronomer for Windows 3.1, a very full-featured planetarium program with a multimedia suite included on the CD-ROM. __________________________________________________________________

ï»¿ Expert Astronomer Multimedia has photographs and video that look fairly good under 800x600 with 256 colors, but the Table of Contents is white on pale yellow, making it almost unreadable. I think I'll just snag the data off the CD and look at it under a different interface. __________________________________________________________________

ï»¿ Astrolab will show the current position of the planets (and alternatively the Jovian moons) in an animated top view or plotted on a chart over the time domain. ï»¿ __________________________________________________________________

"[6]http://www.cleanposts.com/index.php/Win311science"

Win311

Win 3.11

[6]File:Win311A.png

Fresh install of Windows 3.11 running inside DOSBox on Debian with File Manager and Program Manager set up the way I like, [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Win311util

Consultant, part of the PC Tools suite, not only displays a comprehensive set of information about your system, it  will make recommendations for tweaking it for maximum performance, and carry out those tweaks if you so desire. __________________________________________________________________

The PC Tools disk copy utility allows me to make images of floppy disks, which is a good idea because over time, the magnetic domains on floppies smear out and a certain percentage of my disks become unusable every year. The same utility will write teh image back to  (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Win31

Windows 3.1

[6]Pool2

[7]Freecell

[8]Make5

[9]Arasan

[10]Db

[11]Spiro

[12]Cook

[13]Skymap

[14]Lathe

[15]Dict

[16]Vision

[17]JoeEdit

[18]WS5

[19]Draw

[20]Wpwin

[21]Slider

[22]Blocks

[23]ADW

[24]Reversi2

[25]QPW

[26]VMG

[27]Trips

[28]Web

[29]Wnjpg

[30]Thes

[31]Dominote

[32]Write

[33]Paint

[34]Corel

[35]Canvas

[36]Bricks

[37]Reversi1

[38]Checkers

[39]3dvrl

[40]BPW

[41]Encarta

[42]Suns

[43]Wingrep

[44]Movie

[45]Ngmeb

[46]Word

[47]Spad

[48]CCS

[49]GWS

[50]Cnvrt

[51]Solitaire

[52]Hexmines

[53]Lview

[54]Opera

[55]FreePT

[56]Wordweb

[57]MMEK

[58]Hexedit

[59]Chemwin

[60]Gwswin

[61]Audit

[62]Moon

[63]Life1

[64]Pman

[65]3Dlife

[66]Progman

[67]Format

[68]Exec

[69]TC

[70]WnDOS

[71]Saw

[72]WnCap

[73]Copy

[74]WnDT

[75]WnFM

[76]VB

[77]GWBas

[78]Hmhtml

[79]Dida

[80]WnIE

[81]Control

[82]Where

[83]Pifedit

[84]4Dos

[85]Icon master

[86]WnImg

[87]Fddlls

[88]Stuffit

[89]Slide

[90]Ipplus

[91]Appware

[92]Hexedit

[93]PGV

[94]Webford

[95]WnDF

[96]Winfile

[97]Fontog

[98]WnSC

[99]Regedit

[100]MSInfo

[101]Smrtdoc

[102]CC

[103]Clnsys

[104]Char

[105]Imay

[106]Graph

[107]Ref

[108]Lcw

[109]Quotes

[110]AEA [111]Windows 3.1 Applications [112]Windows 3.1 Editors [113]Windows 3.1 File Managers [114]Windows 3.1 Font Editors * [115]Windows 3.1 Graphics [116]Windows 3.1 Games [117]Windows 3.1 Icon Editors [118]Windows 3.1 Information [119]Windows 3.1 Miscellaneous [120]Windows 3.1 Reference Apps [121]Windows 3.1 Scientific [122]Windows 3.1 Utilities [123]Windows 3.1 Viewers

Windows31

If I boot computer #3 with no floppy in the drive, it  comes up Windows 98. If I want to boot Windows 3.1 I  use a DOS 7.1 floppy with the following CONFIG.SYS __________________________________________________________________

DEVICE=HIMEM.SYS

DEVICE=VIDE-CDD.SYS /D:IDE-CD

SHELL=c:\4dos.com /P /E:640

DOS=HIGH

NUMLOCK=OFF

FILES=30

BUFFERS=20,0

LASTDRIVE=26

STACKS=9,256

SET COMSPEC=c:\4dos.com __________________________________________________________________

This sets up a CD-ROM driver, and uses 4DOS for the shell. Then it runs the following AUTOEXEC.BAT file: __________________________________________________________________

@loadhigh C:\SHARE.EXE /l:500 /f:5100

SET DIRCMD=/OGN /4

SET PROMPT=$P$G

SET TEMP=F:\

SET TMP=F:\

SET PATH=C:\;C:\DOS71

SHSUCDX /D:IDE-CD

XMSDSK.EXE 50000 /Y

CTMOUSE

D:

CD DN

DN  __________________________________________________________________

This sets up a 50 megabyte RAM disk in drive F and runs DOS Navigator in D drive. I then copy the latest backup of my Windows directory to this RAM disk, then go to that directly and type WIN Calmira gives the look and feel of Windows 95 to Windows 3.1 I use Excel to keep track of the carbs I eat (one unit equals fifteen  grams of carbs, I get eleven units per day, unless I go a little   over, the spread sheet keeps me honest and I have to go under on   the next day. I also use it to keep track of my daily expenses, I   round to the nearest five dollars. FreeCell is a solitaire game   where the cards are already all dealt, and you have four empty   spaces which will act temporary holding spots for moving cards   around as you stack them in order. I'm still learning the game, and   I generally have to resign two times out of three. Total Commander   is the obligatory two-panel Orthodox File Manager that I require   on all my platforms to do file management. Under DOS I use Dos   (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Windows 3.1

is slow? Play Solitaire on Windows 3.1 on Virtual Box It was harder than you think. Virtual Box formats hard drives to FAT32 by  default, so DOS 6.22 can't use it. I had to get a DOS 6.22 live CD  and use FDISK to do a low-level format, then format it again to   FAT16. Then I had to use Isomaster to change the CONFIG.SYS on the live CD image to install HIMEM.SYS so Windows would work. And I had to make another CD with a copy of the Windows directory from my  laptop to transfer it to the virtual hard drive.

If I boot computer #3 with no floppy in the drive, it  comes up Windows 98. If I want to boot Windows 3.1 I  use a DOS 7.1 floppy with the following CONFIG.SYS __________________________________________________________________

DEVICE=HIMEM.SYS

DEVICE=VIDE-CDD.SYS /D:IDE-CD

SHELL=c:\4dos.com /P /E:640

DOS=HIGH

NUMLOCK=OFF

FILES=30

BUFFERS=20,0

LASTDRIVE=26

STACKS=9,256

SET COMSPEC=c:\4dos.com __________________________________________________________________

This sets up a CD-ROM driver, and uses 4DOS for the shell. Then it runs the following AUTOEXEC.BAT file: __________________________________________________________________

@loadhigh C:\SHARE.EXE /l:500 /f:5100

SET DIRCMD=/OGN /4

SET PROMPT=$P$G

SET TEMP=F:\

SET TMP=F:\

SET PATH=C:\;C:\DOS71

SHSUCDX /D:IDE-CD

XMSDSK.EXE 50000 /Y

CTMOUSE

D:

CD DN

DN  __________________________________________________________________

This sets up a 50 megabyte RAM disk in drive F and runs DOS Navigator in D drive. I then copy the latest backup of my Windows directory to this RAM disk, then go to that directly and type WIN Calmira gives the look and feel of Windows 95 to Windows 3.1 I use Excel to keep track of the carbs I eat (one unit equals fifteen  grams of carbs, I get eleven units per day, unless I go a little   over, the spread sheet keeps me honest and I have to go under on   the next day. I also use it to keep track of my daily expenses, I   round to the nearest five dollars. FreeCell is a solitaire game   where the cards are already all dealt, and you have four empty   spaces which will act temporary holding spots for moving cards   around as you stack them in order. I'm still learning the game,   and I generally have to resign two times out of three. Total   Commander is the obligatory two-panel Orthodox File Manager that   I require on all my platforms to do file management. Under DOS   I use Dos Navigator. Under Linux I use Midnight Commander. The   16-bit File Manager cannot be configured as an orthodox file   manager with two panels side-by-side using options in the menu, but with two directory windows open, if the user holds down the SHIFT key and selects WINDOW->TILE VERTICALLY the windows will form two identically-sized panels as shown. My Windows 3.11 desktop configuration as of 20130223, with a Super VGA driver that works with a VESA compatible graphics card (finally!), giving me 800x600 pixels with 256 colors, natively, on the machine, without having to resort to running Windows in a DOSBOX. My  Windows 3.11 desktop configuration as of 20130124, with File Manager running side-by-side with Program Manager in a 640x480 display with 16 colors. Holding the SHIFT key down when exiting either File Manager or Program Manager will save the current (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Windows 98

Wine-Sol

Word processors and spreadsheets are one thing, but let's face it, the most efficient way to waste time is with MS Windows Solitaire. But Micro$loth programs don't run on Linux unless (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Wine

Wine

Word processors and spreadsheets are one thing, but let's face it, the most efficient way to waste time at work is with MS Windows Solitaire. But Micro$loth programs don't run on Linux unless you help them along with a program called WINE. It officially stands for "WINE Is Not an Emulator" and I guess that's true, it's a  "compatibility layer". Whatever. I'm a practical person. For me, WINE is an acronym that stands for WINdows Emulator.

WINE is not perfect. I can't get it to run any of my software from Magix except the one I use for authoring DVDs. I can install my  beloved Cakewalk Kinetic but I can't get it to see my sound card (yet). I can run a classic DAW (Digital Audio Workstation) called Acid 2.0. I can run ReBirth, which emulates the TB-303 bassline synthesizer. I can run Audacity, plus my map software from National Geographic, CDEX for ripping CD's, and Terragen for making virtual landscapes. It runs MS Office. And I have zillions of other Windows apps left over from the old days that work under Wine too. Like Hacky Linux itself, WINE is a work in progress. Over time, all the issues will be worked out and it will simply work, with everything.

Wine is also mankind's ancient and sacred beverage, made from fermented grapes.

There are countries, for example those bordering the Mediterranean Sea which have a sacramental world-view, which says that an  infinite God comes to meet finite man using the things of creation: water, oil, bread, wine, the touch of a hand. People of those countries believe that all creation is good. They tend to be  connected with the earth, with hard work, with simple pleasures. They appreciate sex as a gift of God not only for procreation but for physical and emotional joy. In those countries, wine is just another gift of the Creator to be accepted in moderation and with thanksgiving.

Then there are other countries, for example those to the north of  Europe, which have almost a gnostic world-view, which says that all flesh and matter is weak and sinful, and only intellectual things are pure and godly. They hold that God meets man only in the mental realm, and approach the bible as a set of doctrines which need to be properly decoded. They say man is saved by knowledge and assent to key doctrines. People in those countries tend to  believe that creation is fallen. They tend to be connected to  business, to the power of investment capital, and they hold a   man's financial success as a sign of his election. They accept sex as a necessary evil for the procreation of more tithe-paying foot soldiers for God. In those countries, wine is evil, based on  [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Wodim

Burn ISO to disk

wodim -eject -tao speed=0 dev=/dev/sr0 -v -data files1.iso

Wodim

Burn ISO to disk

wodim -eject -tao speed=0 dev=/dev/sr0 -v -data files1.iso

Wordgrinder

Wordgrinder

Wput

Upload a file to your webspace

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Wput

Upload a file to your webspace

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Xaos

Xaos

This is a journey into a place called the Mandelbrot Set using a tool in Linux (and DOS) called Xaos. The Mandelbrot Set is  a mindscape, it's a place anyone in the universe can explore. Aliens in another galaxy can visit the same exotic places in the Mandelbrot Set that we do. The red arrow indicates where I'm going to zoom in.

To understand what the Mandelbrot Set is, I have to explain complex numbers. That name doesn't mean the numbers are complicated, it  just means they are numbers which have two parts, and when the two parts are multiplied, they have to be handled seperately just like a binomial. For instance, 2 + 3i is a complex number. If I multiply it by itself (square it), I end up with 4+ 6i + 6i + 9i^2. Now to  continue I have to explain what i is.

i is defined as the square root of -1. The normal operations of algebra don't give us the square roots of negative numbers, because the squares of negative numbers are always positive. But in Algebra Deluxe we have defined i as the square root of -1 by  fiat so we don't end up quadratic equations with only one solution, or even none. In an unfortunate choice of math jargon i is called an imaginary number but that doesn't mean it's pure fantasy. For instance, i^i = e^(-Ï/2)

So now that we know i is the square root of -1, it follows that i^2 is simply -1. In my squared complex number above, the solution becomes 4 + 12i - 9, or -5 + 12i. Now what good are complex numbers? They extend the one-dimensional number line of real numbers to the two-dimensional Argand Plane. The real part of my  complex numbers (+2 in the first case, -5 in the second case) represent the horizontal position of a point. The "imaginary" part of my complex number (+3 in the first case, +12 in the second case) represent the vertical position of a point.

So here's what Xaos does to generate the Mandelbrot set. Each point on the screen is a complex number which is multiplied by  itself repeatedly. Each solution is a new point. If the solutions remain on the screen after, say, 100 iterations, that point is  assigned a dark color. If the solutions fly off the screen, they are assigned lighter colors based on how soon they depart. And the result is a wonderful fractal universe that you can dive into real time with your mouse, as it smoothly zooms in (or out if  you hold down the right-clicker instead). This universe is like Mount Everest. We didn't make it. God didn't even make it. It's  just "there", and it has always been there, like the distribution of primes. You can go down and down, forever and ever, and the funny thing is, sometimes you find little baby copies of the whole Mandelbrot Set down there, but they are never exact copies, only [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Xapps

Printing extension (Xprint) wire protocol x11vnc-data - data files for x11vnc x2goserver-fmbindings - X2Go Server (file  manager bindings) x2goserver-printing - X2Go server (printing  support) x2goserver - X2Go server x509-util - utility for X.509 certificates and chains xa xabacus xacc xacursor xacursor1 xalarm xanim27062 xaos xapian-tools - Basic tools for Xapian search engine library xapm - X program to  monitor APM battery status xapplaunch xapps-common - Common files for XApp desktop apps xapps-doc - Libxapp documentation xarchie xart xastir - X Amateur Station Tracking and Information Reporting xautolock xaw3dg-dev - Xaw3d widget set development package xaw3dg - Xaw3d widget set xawplus * xawtv-plugins - television viewer - plugins xawtv - television viewer - X11 application xawtv-tools - television viewer - tools xbattbar - Display battery status in X11 xbench xbiff++ xbill xbindkeys - Associate a combination of keys or mouse buttons with a shell command xbindkeys-config - an easy to use gtk program for configuring Xbindkeys xblackjack xblast * xblast-tnt-images - image files for xblast-tnt xblast-tnt-levels - level files for xblast-tnt xblast-tnt-models - player models for xblast-tnt xblast-tnt-musics - music files for xblast-tnt xblast-tnt-sounds - sound files for xblast-tnt xbmbrows * xbmbrowser5 xboard xboing2 xbomber xboxdrv - Xbox360 gamepad driver for the userspace xbrowse xbrowse1 xbs - 3-d models and movies of molecules xbubble-data - Data files for XBubble, a nice Puzzle Bubble clone xbuffy3 xcalib - Tiny monitor calibration loader for Xorg xcb xcfa-dbg - X Convert File Audio - debugging symbols xcftools - command-line tools for extracting data for XCF files xchat-common - Common files for X-Chat xchat - IRC client for X similar to AmIRC xchm - Compiled HTML Help (CHM) file viewer for X xcircuit xcircuit1 * xcircuit - Draw circuit schematics or almost anything xclosedown XCmail xcol xcolors - display all X11 color names and colors xcolorse xcolorsel xcolorsel - display colors and names in X xcoral xcpustate xcra xcrysden - Crystalline and Molecular Structure Visualizer xcycle xdaliclock xdatplot/ 10 xdclock xdebt xdefmap xdemineur xdemineur - Yet another minesweeper for X xdeview - Smart multi-file multi-part decoder (X11 GUI) xdf xdg-desktop-portal-gtk - GTK+/GNOME portal backend for xdg-desktop-portal xdg-desktop-portal-kde - backend implementation for xdg-desktop-portal using Qt xdm * xdotool - simulate (generate) X11 keyboard/mouse input events * xdtm xdvi xearth xed1 xelm xemacs21-support - highly customizable text editor -- architecture independent support files xen-hypervisor-4.9-amd64 - Xen Hypervisor on AMD64 xenomai-doc - Xenomai documentation xenomai-kernel-source - Linux kernel patches for Xenomai xenstore-utils - Xenstore command line utilities for Xen xenwatch - Virtualization utilities, mostly for Xen xephem xevil - A violent side-scrolling game for X xf3 x-face-el - utility for displaying X-Face on emacsen * xfburn - CD-burner application for Xfce Desktop Environment * xfce4-appmenu-plugin - Application Menu plugin for xfce4-panel xfce4-battery-plugin - battery monitor plugin for the Xfce4 panel xfce4-clipman-plugin - clipboard history plugin for Xfce panel xfce4-dict - Dictionary plugin for Xfce4 panel * xfce4-goodies - enhancements for the Xfce4 Desktop Environment xfce4-linelight-plugin - Search plugin for Xfce panel * xfce4-messenger-plugin - Dbus messages plugin for xfce4-panel xfce4-mount-plugin - mount plugin for the Xfce4 panel * xfce4-notifyd - simple, visually-appealing notification daemon for Xfce xfce4-panel - panel for Xfce4 desktop environment xfce4-power-manager-data - power manager for Xfce desktop, arch-indep files xfce4-power-manager-plugins - power manager plugins for Xfce panel xfce4-power-manager - power manager for Xfce desktop xfce4-screenshooter-plugin - transitional dummy package for xfce4-screenshooter xfce4-screenshooter - screenshots utility for Xfce xfce4-session - Xfce4 Session Manager xfce4-taskmanager - process manager for the Xfce4 Desktop Environment xfce4-terminal - Xfce terminal emulator xfce4-timer-plugin - timer plugin for Xfce panel * xfce4-verve-plugin - Verve (command line) plugin for Xfce panel xfce4-volumed - volume keys daemon xfdashboard - GNOME shell like dashboard for Xfce xfdashboard-plugins - GNOME shell like dashboard for Xfce - plugins xfdesktop4-data - xfce desktop background, icons and root menu (common files) * xfe-i18n - lightweight file manager for X11 (i18n support) xfe - lightweight file manager for X11 xfe-themes - lightweight file manager for X11 (themes) xfibs08 xfig - Facility for Interactive Generation of figures under X11 xflr5-doc - xflr5 documentation xfm xfmail xfonts-100dpi - 100 dpi fonts for X xfonts-100dpi-transcoded - 100 dpi fonts for X  (transcoded from ISO 10646-1) xfonts-75dpi - 75 dpi fonts for X xfonts-75dpi-transcoded - 75 dpi fonts for X (transcoded from  ISO 10646-1) xfonts-a12k12 - 12-dot Kanji & ASCII fonts for X xfonts-ayu - Gothic 18/20 dot Japanese and ISO-8859-1 X11 bitmap fonts xfonts-baekmuk - Baekmuk bitmap Korean fonts for X xfonts-biznet-100dpi - 100 dpi BIZNET ISO-8859-2 fonts for X  servers xfonts-biznet-75dpi - 75 dpi BIZNET ISO-8859-2 fonts for X servers xfonts-biznet-base - Standard BIZNET ISO-8859-2 fonts for X servers xfonts-bolkhov-75dpi - 75 dpi Unicode Cyrillic fonts for X (Cyr-RFX collection) xfonts-bolkhov-cp1251-75dpi - 75 dpi CP1251 encoded Cyrillic fonts for X (Cyr-RFX  collection) xfonts-bolkhov-cp1251-misc - Character-cell CP1251 encoded Cyrillic fonts for X (Cyr-RFX collection) * xfonts-bolkhov-isocyr-75dpi - 75 dpi ISO 8859-5 encoded Cyrillic fonts for X (Cyr-RFX collection) xfonts-bolkhov-isocyr-misc - Character-cell ISO-8859-5 encoded Cyrillic fonts for X  (Cyr-RFX collection) xfonts-bolkhov-koi8r-75dpi - 75 dpi KOI8-R encoded Cyrillic fonts for X (Cyr-RFX collection) * xfonts-bolkhov-koi8r-misc - Character-cell KOI8-R encoded Cyrillic fonts for X (Cyr-RFX collection) xfonts-bolkhov-koi8u-75dpi - 75 dpi KOI8-U encoded Cyrillic fonts for X (Cyr-RFX collection) xfonts-bolkhov-koi8u-misc - Character-cell KOI8-U encoded Cyrillic fonts for X (Cyr-RFX collection) xfonts-bolkhov-misc - Character-cell Unicode Cyrillic fonts for X (Cyr-RFX collection) xfonts-cronyx-100dpi - 100 dpi Unicode Cyrillic fonts for X  (Cronyx collection) xfonts-cronyx-75dpi - 75 dpi Unicode Cyrillic fonts for X (Cronyx collection) xfonts-cronyx-cp1251-100dpi - 100 dpi CP1251 encoded Cyrillic fonts for X (Cronyx collection) xfonts-cronyx-cp1251-75dpi - 75 dpi CP1251 encoded Cyrillic fonts for X (Cronyx collection) xfonts-cronyx-cp1251-misc - Character-cell CP1251 encoded Cyrillic fonts for X (Cronyx  collection) xfonts-cronyx-isocyr-100dpi - 100 dpi ISO 8859-5 encoded Cyrillic fonts for X (Cronyx collection) * xfonts-cronyx-isocyr-75dpi - 75 dpi ISO 8859-5 encoded Cyrillic fonts for X (Cronyx collection) xfonts-cronyx-isocyr-misc - Character-cell ISO-8859-5 encoded Cyrillic fonts for X  (Cronyx collection) xfonts-cronyx-koi8r-100dpi - 100 dpi KOI8-R encoded Cyrillic fonts for X (Cronyx collection) * xfonts-cronyx-koi8r-75dpi - 75 dpi KOI8-R encoded Cyrillic fonts for X (Cronyx collection) xfonts-cronyx-koi8r-misc - Character-cell KOI8-R encoded Cyrillic fonts for X  (Cronyx collection) xfonts-cronyx-koi8u-100dpi - 100 dpi KOI8-U encoded Cyrillic fonts for X (Cronyx collection) * xfonts-cronyx-koi8u-75dpi - 75 dpi KOI8-U encoded Cyrillic fonts for X (Cronyx collection) xfonts-cronyx-koi8u-misc - Character-cell KOI8-U encoded Cyrillic fonts for X (Cronyx  collection) xfonts-cronyx-misc - Character-cell Unicode Cyrillic fonts for X (Cronyx collection) xfonts-cyrillic - Cyrillic fonts for X xfonts-efont-unicode - /efont/ Unicode fonts for X which cover various scripts xfonts-efont-unicode-ib - /efont/ Unicode fonts for X (italic and bold) xfonts-intl-arabic - international fonts for X - Arabic xfonts-intl-asian - international fonts for X - (south-east) Asian xfonts-intl-chinese-big - international fonts for X - large Chinese xfonts-intl-chinese - international fonts for X - Chinese xfonts-intl-european - international fonts for X - European xfonts-intl-japanese-big - international fonts for X - large Japanese xfonts-intl-japanese - international fonts for X - Japanese xfonts-intl-phonetic - international fonts for X - International Phonetic Alphabet xfonts-jisx0213 - JIS X 0213 Japanese Kanji bitmap fonts for X xfonts-jmk - James M. Knoble's character-cell fonts for X xfonts-kaname - Kaname Cho 12 dot Japanese Kanji, Latin 1 fonts for X11 xfonts-kappa20 - X11 Kappa 20dot Fonts (ISO-8859-1..4/9/10/13..16, Japanese) with bold xfonts-libdockapp - Window Maker Dock App support (fonts) xfonts-marumoji - Roundish fonts (marumoji fonts) for X xfonts-mplus - M+ bitmap 10/12 dot Latin/Japanese fonts for X11 xfonts-nexus - Nexus font for X xfonts-shinonome - Various 12,14,16 dot Japanese Kanji, iso8859-1 fonts for X11 xfonts-thai - Collection of Thai fonts for X (metapackage) xfonts-thai-etl - Thai etl fonts for X xfonts-thai-manop - Manop Wongsaisuwan's  bitmap fonts for X xfonts-thai-nectec - Thai fixed fonts for X from Nectec xfonts-thai-poonlap - Poonlap Veerathanabutr's  bitmap fonts for X xfonts-thai-vor - Voradesh Yenbut's bitmap fonts for X xfonts-tipa - X11 PostScript Type 1 font for the Phonetic Alphabet xfonts-traditional - Traditional fixed-width fonts for X xfonts-wqy - WenQuanYi Bitmap Song CJK font for X xfonts-x3270-misc - Font files for the x3270(1) IBM 3270 emulator xforward xforward2 xfractal xfrisk - Server and X11 client for playing risk with humans or AIs xfsm xfsm195 * xfstest1 xfstt - X Font Server for TrueType fonts xfwm4-dbg - window manager of the Xfce project (debugging symbols) * xfwm4-theme-breeze - Breeze theme files for xfwm4 xfwm4-themes - Theme files for xfwm4 xfwm4 - window manager of the Xfce project xgalaga xgammon - Implementation of backgammon under X xgnokii - Datasuite for mobile phone management (X interface) xgospel18h+term xgrabsc xgrep - grep-like utility for XML files xgridfit-doc - Documentation for xgridfit xh xhdg * xhtml xigc xindy-rules - rule files for xindy xine-ui - the xine video player, user interface xininfo - small helper program for monitor layouts xinout xinput xinput-calibrator - Generic touchscreen calibration program for X.Org xinv3d * xinv3d - 3D space invaders for X xinvest xip xiphos-data - data files for Xiphos Bible study software xisola xitalk xiterm+thai - X terminal program with Thai languague support xjdic - Japanese-English dictionary search program xjed - editor for programmers (x11 version) xjig xjig - An X11 jigsaw puzzle xjokes - X11 jokes xjump - jumping game for X xkbset - Small utility to change the AccessX settings of XKEYBOARD xkeycaps xkeycaps - manipulate X11 keymaps (for xmodmap) graphically xkobo xlax - send keyboard input to multiple X11 windows xless xletters - Type falling words before they land xli - command line tool for viewing images in X11 xloadimage - Graphics file viewer under X11 xlockmore xlog-data - data for xlog, a GTK+ Logging program for Hamradio Operators xLogin xlogout xmacro - Record / Play keystrokes and mouse movements in X displays xmaddressbook xmail xmailbox xmailtool * xmbase xmcalendar xmcd/ 20 xmcolor/ 06 xmdfix xmdiary xmedcon - Medical Image (DICOM, ECAT, ...) conversion tool (GUI) xmessage xmfract xmgr xmh xmille xminehunter * xmir-hwe-16.04 - Transitional package for xmir-hwe-16.04 xmix - X11-based interface to the Linux sound driver mixer xmlbeans - Java library for accessing XML by binding it to Java types - tools xmlformat-doc - XML Document Formatter documentation * xmlformat-perl - XML Document Formatter xmlformat-ruby - XML Document Formatter xmlrpc-api-utils - Generate C++ wrapper classes for XML-RPC servers xml-security-c-utils - C++ library for XML Digital Signatures (utilities) xmltooling-schemas - XML schemas for XMLTooling xmltv-gui - graphical user interface for XMLTV tv_check utility xmmix xmms2-client-cli - XMMS2 - cli client xmms2-plugin-airplay - XMMS2 - airplay output plug-in xmms2-plugin-alsa - XMMS2 - ALSA output xmms2-plugin-ao - XMMS2 - libao output plug-in xmms2-plugin-apefile - XMMS2 - Monkey's Audio decoder plug-in xmms2-plugin-asf - XMMS2 - ASF plug-in xmms2-plugin-avcodec - XMMS2 - avcodec decoder * xmms2-plugin-cdda - XMMS2 - CDDA plug-in xmms2-plugin-curl - XMMS2 - curl transport for HTTP xmms2-plugin-faad - XMMS2 - faad decoder xmms2-plugin-flac - XMMS2 - FLAC decoder * xmms2-plugin-flv - XMMS2 - Flash Video plug-in xmms2-plugin-gvfs - XMMS2 - gvfs plug-in xmms2-plugin-html - XMMS2 - HTML playlist plug-in xmms2-plugin-jack - XMMS2 - JACK output * xmms2-plugin-karaoke - XMMS2 - karaoke plug-in xmms2-plugin-mad - XMMS2 - libmad based mp3 decoder xmms2-plugin-mms - XMMS2 - MMS transport xmms2-plugin-modplug - XMMS2 - modplug decoder * xmms2-plugin-mp4 - XMMS2 - MPEG-4 plug-in xmms2-plugin-mpg123 - XMMS2 - libmpg123 based mp3 decoder xmms2-plugin-musepack - XMMS2 - mpc decoder xmms2-plugin-normalize - XMMS2 - Normalize plug-in xmms2-plugin-oss - XMMS2 - OSS output xmms2-plugin-pulse - XMMS2 - PulseAudio output plug-in * xmms2-plugin-smb - XMMS2 - Server Message Block (SMB) transport * xmms2-plugin-sndfile - XMMS2 - sndfile decoder xmms2-plugin-speex - XMMS2 - Speex decoder xmms2-plugin-tta - XMMS2 - TTA decoder plug-in xmms2-plugin-vorbis - XMMS2 - vorbis decoder xmms2-plugin-wavpack - XMMS2 - WavPack decoder plug-in * xmms2-scrobbler - Audioscrobbler/Last.FM client for XMMS2 * xmobar - lightweight status bar for X11 window managers xmonad - Lightweight X11 window manager written in Haskell xmorph - digital image warp and morph (x11) xmotd xmotd - message of  the day browser for X xmountains - Fractal landscape generator for X xmpuzzles - collection of puzzles for X (Motif version) xmris xmtoolbar xnc xnee-doc - X event recorder/replayer - documentation xnee - X event recorder/replayer - metapackage xnetload xnews xoids xorg-server-source-hwe-16.04 - Transitional package for xorg-server-source-hwe-16.04 xorgxrdp - Remote Desktop Protocol (RDP) modules for X.org xpacman * xpad - sticky note application for X xpaint xpaint-dev - simple paint program for X (development files) xpaint - simple paint program for X xpaste xpat2 - Generic patience game for X11 xpdf xpilot-extra - Maps, utilities and configs for XPilot xpilot-ng-client-sdl - Client for XPilot NG * xpilot-ng-client-x11 - Client for XPilot NG xpilot-ng-common - Common files for XPilot NG xpilot-ng - Multi-player tactical game for X (NG version) xpilot-ng-server - Server for hosting XPilot NG games xpilot-ng-utils - Utilities for XPilot NG * xping xplanet-images - imagery for xplanet xplore xpmutils - X11 pixmap utilities xpost xpostit xpra - tool to  detach/reattach running X programs xpseudo xpts xpuzzles * xpuzzles - collection of puzzles for X (plain X version) xquote xrdp-pulseaudio-installer - Remote Desktop Protocol (RDP) server - PulseAudio module installer xrdp - Remote Desktop Protocol (RDP) server xrestop - X11 server resource usage monitor xrgb * xrn/ 10 xrolodex xroute xrsh xscavenger - Lode-runner-like platform game for X xscreensaver xscreensaver-data-extra - Extra screen saver modules for screensaver frontends * xscreensaver-data - Screen saver modules for screensaver frontends xscreensaver-gl-extra - Extra GL(Mesa) screen saver modules for screensaver frontends xscreensaver-gl - GL(Mesa) screen saver modules for screensaver frontends xscreensaver - Screensaver daemon and frontend for X11 xsecure2 xserver-xephyr-hwe-16.04 - Transitional package for xserver-xephyr-hwe-16.04 * xserver-xorg-core-hwe-16.04 - Transitional package for xserver-xorg-core-hwe-16.04 xserver-xorg-dev-hwe-16.04 - Transitional package for xserver-xorg-dev-hwe-16.04 xserver-xorg-hwe-16.04 - Transitional package for xserver-xorg-hwe-16.04 xserver-xorg-input-all-hwe-16.04 - Transitional package for xserver-xorg-input-all-hwe-16.04 xserver-xorg-input-evdev-dev-hwe-16.04 - Transitional package for xserver-xorg-input-evdev-dev-hwe-16.04 * xserver-xorg-input-evdev-hwe-16.04-dbg - Transitional package for xserver-xorg-input-evdev-hwe-16.04-dbg xserver-xorg-input-evdev-hwe-16.04 - Transitional package for xserver-xorg-input-evdev-hwe-16.04 * xserver-xorg-input-joystick-dev-hwe-16.04 - Transitional package for xserver-xorg-input-joystick-dev-hwe-16.04 xserver-xorg-input-joystick-hwe-16.04 - Transitional package for xserver-xorg-input-joystick-hwe-16.04 * xserver-xorg-input-libinput-dev-hwe-16.04 - Transitional package for xserver-xorg-input-libinput-dev-hwe-16.04 xserver-xorg-input-libinput-hwe-16.04 - Transitional package for xserver-xorg-input-libinput-hwe-16.04 * xserver-xorg-input-mtrack-hwe-16.04 - Transitional package for xserver-xorg-input-mtrack-hwe-16.04 * xserver-xorg-input-synaptics-dev-hwe-16.04 - Transitional package for xserver-xorg-input-synaptics-dev-hwe-16.04 xserver-xorg-input-synaptics-dev - Synaptics TouchPad driver for X.Org server (development headers) * xserver-xorg-input-synaptics-hwe-16.04 - Transitional package for xserver-xorg-input-synaptics-hwe-16.04 * xserver-xorg-input-synaptics - Synaptics TouchPad driver for X.Org server xserver-xorg-input-void-hwe-16.04 - Transitional package for xserver-xorg-input-void-hwe-16.04 xserver-xorg-input-wacom-hwe-16.04 - Transitional package for xserver-xorg-input-wacom-hwe-16.04 * xserver-xorg-legacy-hwe-16.04 - Transitional package for xserver-xorg-legacy-hwe-16.04 xserver-xorg-video-all-hwe-16.04 - Transitional package for xserver-xorg-video-all-hwe-16.04 xserver-xorg-video-amdgpu-hwe-16.04-dbg - Transitional package for xserver-xorg-video-amdgpu-hwe-16.04-dbg xserver-xorg-video-amdgpu-hwe-16.04 - Transitional package for xserver-xorg-video-amdgpu-hwe-16.04 * xserver-xorg-video-ati-hwe-16.04-dbg - Transitional package for xserver-xorg-video-ati-hwe-16.04-dbg xserver-xorg-video-ati-hwe-16.04 - Transitional package for xserver-xorg-video-ati-hwe-16.04 * xserver-xorg-video-dummy-hwe-16.04 - Transitional package for xserver-xorg-video-dummy-hwe-16.04 * xserver-xorg-video-fbdev-hwe-16.04 - Transitional package for xserver-xorg-video-fbdev-hwe-16.04 * xserver-xorg-video-intel-hwe-16.04-dbg - Transitional package for xserver-xorg-video-intel-hwe-16.04-dbg xserver-xorg-video-intel-hwe-16.04 - Transitional package for xserver-xorg-video-intel-hwe-16.04 * xserver-xorg-video-mach64-hwe-16.04-dbg - Transitional package for xserver-xorg-video-mach64-hwe-16.04-dbg xserver-xorg-video-mach64-hwe-16.04 - Transitional package for xserver-xorg-video-mach64-hwe-16.04 * xserver-xorg-video-neomagic-hwe-16.04 - Transitional package for xserver-xorg-video-neomagic-hwe-16.04 * xserver-xorg-video-nouveau-hwe-16.04-dbg - Transitional package for xserver-xorg-video-nouveau-hwe-16.04-dbg xserver-xorg-video-nouveau-hwe-16.04 - Transitional package for xserver-xorg-video-nouveau-hwe-16.04 * xserver-xorg-video-openchrome-hwe-16.04 - Transitional package for xserver-xorg-video-openchrome-hwe-16.04 xserver-xorg-video-qxl-hwe-16.04 - Transitional package for xserver-xorg-video-qxl-hwe-16.04 * xserver-xorg-video-r128-hwe-16.04-dbg - Transitional package for xserver-xorg-video-r128-hwe-16.04-dbg xserver-xorg-video-r128-hwe-16.04 - Transitional package for xserver-xorg-video-r128-hwe-16.04 * xserver-xorg-video-radeon-hwe-16.04-dbg - Transitional package for xserver-xorg-video-radeon-hwe-16.04-dbg xserver-xorg-video-radeon-hwe-16.04 - Transitional package for xserver-xorg-video-radeon-hwe-16.04 * xserver-xorg-video-savage-hwe-16.04 - Transitional package for xserver-xorg-video-savage-hwe-16.04 * xserver-xorg-video-siliconmotion-hwe-16.04 - Transitional package for xserver-xorg-video-siliconmotion-hwe-16.04 xserver-xorg-video-sisusb-hwe-16.04 - Transitional package for xserver-xorg-video-sisusb-hwe-16.04 * xserver-xorg-video-tdfx-hwe-16.04 - Transitional package for xserver-xorg-video-tdfx-hwe-16.04 * xserver-xorg-video-trident-hwe-16.04 - Transitional package for xserver-xorg-video-trident-hwe-16.04 * xserver-xorg-video-vesa-hwe-16.04 - Transitional package for xserver-xorg-video-vesa-hwe-16.04 * xserver-xorg-video-vmware-hwe-16.04 - Transitional package for xserver-xorg-video-vmware-hwe-16.04 xsession xsettingsd - Provides settings to X11 applications xshisen xshisen - Shisen-sho puzzle game for X11 xshogi - X11 frontend to  gnushogi xsnow xsok - generic Sokoban game for X11 * xspacewa xspacewarp xssh xss-lock - invoke external screen lock in response to XScreenSaver events xssproxy - Forward freedesktop.org Idle Inhibition Service calls to Xss xsw54 * xsysstats1 xsystem35 - System 3.5 games engine for X Window System xtail - like "tail -f", but works on truncated files, directories, more xtar xtartan xtdb xtea xtensor-doc - documentation for xtensor xtensor-python-dev - Python bindings for the xtensor library xtensor-python-doc - documentation for xtensor-python xterm xterm - X terminal emulator xtetris * xtic1 xtide-coastline - coastline data for xtide xtide-data - Harmonics data for xtide xtightvncviewer - virtual network computing client software for X xtitle - set window title and icon name for X terminal xtoolwait xtrace - trace communication between X client and server xtris xtron - Tron game for X11 * xtruco xtuner xtv - View the screen of a remote X11 display xubuntu-icon-theme - Xubuntu icon theme xubuntu-wallpapers - Xubuntu wallpapers Xvan xvile - VI Like Emacs - vi work-alike (X11) xvkbd - software virtual keyboard for X11 xvnc4viewer - Virtual network computing client software for X xvnews xvset xvtdl xwatchwin xwayland-hwe-16.04 - Transitional package for xwayland-hwe-16.04 xwho xwit xwit - collection of  simple routines to call some X11 functions xwmdialog xwpe - Programming environment and editor for console and X11 xwpick * xxgdb xxkb - Keyboard state indicator and switcher for xkb xy * xye-data - data files for xye xymon-client - client for the Xymon network monitor xymonq - query cli for Xymon xzgv - Picture viewer for X with a thumbnail-based selector xzip - Interpreter of Infocom-format story-files

Xchat

People who use Internet Relay Chat (IRC) under Windows usually run a great piece of shareware called mIRC. The equivalent to mIRC in  Linux world is Xchat, shown above running with my preferred colors and fonts. IRC, much like USENET, is a whole sector of the Internet that is separate from the World Wide Web. The beauty of IRC is how it lets you interact in real time with people from anywhere in the world, so long as you are a touch typist and can keep up.

Chatrooms devoted to religious topics are typically controlled by narrow-minded factions who tolerate little or no theological dissent. Some even have rules against using a "pagan" or "worldly" nickname. The only truly successful religious chatroom is Undernet #scripture, because the rules are minimally intrusive.

On #scripture Atheists, Catholics, Protestants, Eastern Orthodox Christians, Jews, and Muslims all clash on one battlefield and it  is survival of the thickest-skinned. Over a decade of operation many verses have been thumped, the Catholic Meat Axe swung back and forth, hearts were hardened, and the regulars settled into two camps.

To me, for a long, long time the brightest Angel in the #scripture sky was Terri Powell, aka "TheMOM". She is a Protestant of the Charismatic Pentecostal persuasion who doesn't agree with many Catholic doctrines but she was very friendly toward Catholic people. God blessed TheMOM with three children, and her absolutely beautiful feet are the model from which God fashioned all other beautiful feet. I met her in #bible about twelve years ago and came over to #scripture in the Exodus.

Ever since that time, we had been like two peas in a pod. Twelve years. My loyalty to her was even more important than the reservations I had about her on-line gallery of trolls, which I  taught her to do. I was never an enthusiastic supporter of her drive to set up an alternative channel to #scripture with enemy bans pre-programmed into it. That's...not a Christian thing to do.

A friend is a person who knows you and still likes you. I needed a  friend to talk to very badly for the last three days and she wasn't   there for me. Fortunately (or through divine providence if you are  inclined that way), someone else saw that I needed someone to talk things over with, and we did. She said:

"I believe God puts friends in our life for a season and a  reason..so that we can learn from them..whatever that may be..some   stay and after awhile some leave.. when we have learned what we   were suppose to..."

I agree, but it's hard to see a good thing come to an end. Twelve years! It's hard. Maybe we're just tired. Maybe something happened in TheMOM's life too. But now there's been a clean irreversible break, and the channel "war" that has frustrated Edub is over...at  least for me.

Mad Fiddler said...

Hallooo Teresita,

I followed the link from BC, just to visit and read a bit. I'm  sorry to hear such a long-standing friendship hit what seems to be   a mortal impasse.

But I know it happens, and it doesn't have to mean it was wrong investing so much time in striving to connect.

Your posts at the very least demonstrate your determination to  engage. Over time I've seen you state your views with clarity and remarkably little sarcasm or impatience, seemingly resisting a lot of provocations and maintaining civility.

Well, even if all people don't change, sometimes it takes a  long conversation to discover points where two people they are irreconcilable. I hope you find other folks with whom you can enjoy such a long-lasting exchange, and more.

Mad Fiddler

p.s. the link in your signature first took me to the excellent [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Xclip

Copy command-line output to clipboard

cat spock2.txt | xclip -selection clipboard

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Xedit

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Xlists

Xli

XLI(1) General Commands Manual XLI(1)

NAME xli - load images into an X11 window or onto the root window

SYNOPSIS xli [global_options] {[image_options] image ...} xli [global_options] [image_options] stdin < image

DESCRIPTION xli displays images in an X11 window or loads them onto the root window. See the IMAGE TYPES section below for supported image types.

If the filename stdin is given, xli will read the image from standard inpu t.

If the destination display cannot support the number of colors in the imag e, the image will be dithered (monochrome destination) or have its colormap reduced (c olor destinaâ tion) as appropriate. This can also be done forcibly with the -halftone, -dither, and -colors options.

A variety of image manipulations can be specified, including gamma correc tion, brightâ ening, clipping, dithering, depth-reduction, rotation, and zooming. Mo st of these manipulations have simple implementations; speed was opted for above accur acy.

If you are viewing a large image in a window, the initial window will be a t most 90% of the size of the display unless the window manager does not correctly handl e window size requests or if you've used the -fullscreen or -fillscreen options. You may move the image around in the window by dragging with the first mouse button. The cursor will indicate which directions you may drag, if any.

When the keyboard focus is in the window you can: Type 'q' or     '^C' to exit xli. Type space, 'n' or 'f' to move to the next image in the list. Type 'b' or 'p' to move to the previous image in the list. Type. to reload the image. Type l to rotate the image anti-clockwise. Type r to rotate the image clockwise. Type 0 to set the images assumed gamma to your display gamma (usually     darkens images) Type 1 to set the images assumed gamma to 1.0 (usually lightens images) Type 5-2 to lighten the image (5 in     small steps, up to 2 in large steps) Type 6-9 to darken the image (6 in small steps, up to 9 in large steps) Type > resp. <     to zoom in resp. out

A wide variety of common image manipulations can be done by mixing and matching the available options. See the section entitled HINTS FOR GOOD IMAGE DISPLA YS for some ideas.

RESOURCE CLASS xli uses the resource class name _XSETROOT_Id for window managers wh ich need this resource set.

GLOBAL OPTIONS The following options affect the global operation of xli. They may be sp ecified anyâ where on the command line.

-default Set the root background to the default root weave. This is the sam e as xsetroot with no arguments.

-debug Talk to the X server in synchronous mode. This is useful for debug ging. If an X error is seen while in this mode, a core will be dumped.

-dumpcore Signals will not be trapped, and instead a coredump will occur.

-display display_name X11 display name to send the image(s) to.

-dispgamma Display_gamma Specify the gamma correction value appropriate for the display device. This overrides the value read from the environment variable DISPLAY_GA MMA, or the default value of 2.2, which is approximately correct for many disp lays. A value of between 1.6 and 2.8 is reasonable. If individual images are to o bright or dark, use the -gamma option.

There is an image provided with xli called 'chkgamma.jpg' that lets you se t the display gamma reasonably accurately. This file contains two grayscale ramps. Th e ramps are chosen to look linear to the human eye, one using continuous tones, and th e other using dithering. When the display gamma is correct, then the two ramps should l ook symmetriâ cal, and the point at which they look equally bright should be almost exa ctly half way from the top to the bottom. (To find this point it helps if you move away a little from the screen, and de-focus your eyes a bit.)

If the equal brightness point is above center increase the gamma, and decr ease it if it is below the center. The value will usually be around 2.2 Once you've got it right, you can set the DISPLAY_GAMMA environment variable in your .profile

-fillscreen Use the whole screen for displaying an image. The image will be z oomed so that it just fits the size of the screen. If -onroot is also specified, it will be zoomed to completely fill the screen.

-fit Force image to use the default visual and colormap. This is use ful if you do not want technicolor effects when the colormap focus is inside the image window, but it may reduce the quality of the displayed image. This is on by default if -onroot or -windowid is specified.

-forall Apply -fillscreen and -fullscreen options to all images and not jus t the first.

-fork Fork xli. This causes xli to disassociate itself from the shell. This option automatically turns on -quiet.

-fullscreen Use the whole screen for displaying an image. The image will be su rrounded by a border if it is smaller than the screen. If -onroot is also specifi ed, the image will be zoomed so that it just fits the size of the screen.

-geometry WxH[{+-X}{+-}Y] This sets the size of the window onto which the images are loaded t o a different value than the size of the image. When viewing an image in a windo w, this can be used to set the size and position of the viewing window. If th e size is not specified in the geometry, (or is set to 0), then the size will be chosen to be small enough to able to fit the window in the screen (as usual).

-goto image_name When the end of the list of images is reached, go to image image_n ame. This is useful for generating looped slideshows. If more than one image of the same name as the target exists on the argument list, the first in the argument list is used.

-help [option ...] Give information on an option or list of options. If no option is given, a simâ ple interactive help facility is invoked.

-identify Identify the supplied images rather than display them.

-install Forcibly install the images colormap when the window is focused. This violates ICCCM standards and only exists to allow operation with naive wind ow managers. Use this option only if your window manager does not install colorm aps properly.

-list List the images which are along the image path.

-onroot Load image(s) onto the root window instead of viewing in a window. This option automatically sets the -fit option. This is the opposite of -view. If used in conjunction with -fullscreen, the image will be zoomed to just fit. If used with -fillscreen, the image will be zoomed to completely fill the scre en. -border, -at, and -center also affect the results.

-path Displays the image path and image suffixes which will be used whe n looking for images. These are loaded from ~/.xlirc and optionally from a syste m wide file (normally /usr/lib/xlirc).

-pixmap Force the use of a pixmap as backing-store. This is provided for servers where backing-store is broken (such as some versions of the AIXWindows server). It may improve scrolling performance on servers which provide backing- store.

-private Force the use of a private colormap. Normally colors are all ocated shared unless there are not enough colors available.

-quiet Forces xli and xview to be quiet.

-supported List the supported image types.

-verbose Causes xli to be talkative, telling you what kind of image it's pla ying with and any special processing that it has to do. This is the default for xview and xli.

-version Print the version number and patchlevel of this version of xli.

-view View image(s) in a window. This is the opposite of -onroot and the default for xview and xli.

-visual visual_name Force the use of a specific visual type to display an image. Norma lly xli tries to pick the best available image for a particular image type. T he available visual types are: DirectColor, TrueColor, PseudoColor, StaticColo r, GrayScale, and StaticGray. Nonconflicting names may be abbreviated and case i s ignored.

-windowid hex_window_id Sets the background pixmap of a particular window ID. The argument must be in hexadecimal and must be preceded by "0x" (eg -windowid 0x400 00b. This is intended for setting the background pixmap of some servers which use untagged virtual roots (eg HP-VUE), but can have other interesting applicati ons.

PERSISTENT IMAGE OPTIONS The following options may precede each image. They take effect from th e next image, and continue until overridden or canceled with -newoptions.

-border color This sets the background portion of the window or clipped image w hich is not covered by any images to be color.

-brighten percentage Specify a percentage multiplier for a color images colormap. A value of more than 100 will brighten an image, one of less than 100 will darken i t.

-colors n Specify the maximum number of colors to use in the image. This i s a way to forcibly reduce the depth of an image.

-cdither

-colordither Dither the image with a Floyd-Steinberg dither if the number of colors is reduced. This will be slow, but will give a better looking re sult with a restricted color set. -cdither and -colordither are equivalent.

-delay secs Sets xli to automatically advance to the following image, secs seco nds after the next image file is displayed.

-dither Dither a color image to monochrome using a Floyd-Steinberg ditherin g algorithm. This happens by default when viewing color images on a monochrome d isplay. This is slower than -halftone and affects the image accuracy but usually looks much better.

-gamma Image_gamma Specify the gamma of the display the image was intended to be displayed on. Images seem to come in two flavors: 1) linear color images, prod uced by ray tracers, scanners etc. These sort of images generally look too d ark when disâ played directly to a CRT display. 2) Images that have been proces sed to look right on a typical CRT display without any sort of processing. Thes e images have been 'gamma corrected'. By default, xli assumes that 8 bit image s have been gamma corrected and need no other processing. 24 bit images are assumed to be linear. If a linear image is displayed as if it is gamma corrected it will look too dark, and a gamma value of 1.0 should be specified, so that xl i can correct the image for the CRT display device. If a gamma corrected image is displayed as if it were a linear image, then it will look too light, and a g amma value of (approximately) 2.2 should be specified for that image. Some f ormats (RLE) allow the image gamma to be embedded as a comment in the file it self, and the -gamma option allows overriding of the file comment. In general, v alues smaller than 2.2 will lighten the image, and values greater than 2.2 wi ll darken the image. In general this will work better than the -brighten option.

-gray Convert an image to grayscale. This is very useful when display ing colorful images on servers with limited color capability. The optional s pelling -grey may also be used.

-idelay secs Set the delay to be used for this image to secs seconds (see -delay ). If -delay was specified, this overrides it. If it was not specified, this s ets the autoâ matic advance delay for this image while others will wait for the user to advance them.

-smooth Smooth a color image. This reduces blockiness after zooming an image up. If used on a monochrome image, nothing happens. This option can tak e awhile to perform, especially on large images. You may specify more tha n one -smooth option per image, causing multiple iterations of the smoothing algo rithm.

-title window_title Set the titlebar of the window used to display the image. This w ill override any title that is read from the image file. The title will also be used for the icon name.

-xpm color_context_key Select the preferred xpm colour map. XPM files may contain more tha n one color mapping, each mapping being appropriate for a particular visual. Normally xli will select an appropriate color mapping from that supported by the XPM file by checking on the default X visual class and depth. This option al lows the user to override this choice. Legal values of color_context_key are: m, g4, g and c. m = mono, g4 = 4 level gray, g = gray, c = color ).

-xzoom percentage Zoom the X axis of an image by percentage. A number greater than 100 will expand the image, one smaller will compress it. A zero value will be ignored. This option, and the related -yzoom are useful for correcting the aspect ratio of images to be displayed.

-yzoom percentage Zoom the Y axis of an image by percentage. See -xzoom for more inf ormation.

-zoom percentage Zoom both the X and Y axes by percentage. See -xzoom for more information. Technically the percentage actually zoomed is the square of the nu mber supplied since the zoom is to both axes, but I opted for consistency instead of accuracy.

-zoom auto Zoom large images to fit the screen; don't zoom small images.

-newoptions Reset options that propagate. The -bright, -colors, -colordit her, -delay, -dither, -gamma, -gray, -normalize, -smooth, -xzoom, -yzoom, and -zoom options normally propagate to all following images.

LOCAL IMAGE OPTIONS The following options may precede each image. These options are local t o the image they precede.

-at X,Y Indicates coordinates to load the image at X,Y on the base image. If this is an option to the first image, and the -onroot option is specified, the image will be loaded at the given location on the display background.

-background color Use color as the background color instead of the default (usually w hite but this depends on the image type) if you are transferring a monochrome ima ge to a color display.

-center Center the image on the base image loaded. If this is an option to the first image, and the -onroot option is specified, the image will be cent ered on the display background.

-clip X,Y,W,H Clip the image before loading it. X and Y define the upper-left corner of the clip area, and W and H define the extents of the area. A zero valu e for W or H will be interpreted as the remainder of the image. Note that X and Y may be negative, and that W and H may be larger than the image. This cause s a border to be placed around the image. The border color may be set with the -b order option.

-expand Forces the image (after all other optional processing) to be ex panded into a True Color (24 bit) image. This is useful on systems which support 24 bit color, but where xli might choose to load a bitmap or 8 bit image into one of the other smaller depth visuals supported on your system.

-foreground color Use color as the foreground color instead of black if you are tr ansferring a monochrome image to a color display. This can also be used to inv ert the foreâ ground and background colors of a monochrome image.

-halftone Force halftone dithering of a color image when displaying on a mon ochrome disâ play. This option is ignored on monochrome images. This dither ing algorithm blows an image up by sixteen times; if you don't like this, the -d ither option will not blow the image up but will take longer to process and will be less accurate.

-invert Inverts a monochrome image. This is shorthand for -foreground whit e -background black.

-merge Merge this image onto the base image after local processing. The base image is considered to be the first image specified or the last image that w as not preâ ceded by -merge. If used in conjunction with -at and -clip, very c omplex images can be built up. Note that the final image will be the size of the first image, and that subsequent merged images overlay previous images. The fin al image size can be altered by using the -clip option on the base image to make it bigger or smaller. This option is on by default for all images if the -on root or -winâ dowid options are specified.

-name image_name Force the next argument to be treated as an image name. This is us eful if the name of the image is -dither, for instance.

-normalize Normalize a color image.

-rotate degrees Rotate the image by degrees clockwise. The number must be a multip le of 90.

EXAMPLES To load the rasterfile "my.image" onto the background and replicate i t to fill the entire background:

xli -onroot my.image

To load a monochrome image "my.image" onto the background, using red as th e foreground color, replicate the image, and overlay "another.image" onto it at coordin ate (10,10):

xli -foreground red my.image -at 10,10 another.image

To center the rectangular region from 10 to 110 along the X axis and f rom 10 to the height of the image along the Y axis:

xli -center -clip 10,10,100,0 my.image

To double the size of an image:

xli -zoom 200 my.image

To halve the size of an image:

xli -zoom 50 my.image

To brighten a dark image:

xli -brighten 150 my.image

To darken a bright image:

xli -brighten 50 my.image

HINTS FOR GOOD IMAGE DISPLAYS Since images are likely to come from a variety of sources, they may be in a variety of aspect ratios which may not be supported by your display. The -xzo om and -yzoom options can be used to change the aspect ratio of an image before display. If you use these options, it is recommended that you increase the size of one of t he dimensions instead of shrinking the other, since shrinking looses detail. For instan ce, many GIF and G3 FAX images have an X:Y ratio of about 2:1. You can correct this f or viewing on a 1:1 display with either -xzoom 50 or -yzoom 200 (reduce X axis to 50% of its size and expand Y axis to 200% of its size, respectively) but the latter should be used so no detail is lost in the conversion.

When zooming color images up you can reduce blockiness with -smooth. For zooms of 300% or more, I recommend two smoothing passes (although this can take awhile to do on slow machines). There will be a noticeable improvement in the image.

You can perform image processing on a small portion of an image by loadin g the image more than once and using the -merge, -at and -clip options. Load the imag e, then merge it with a clipped, processed version of itself. To brighten a 100x100 rec tangular porâ tion of an image located at (50,50), for instance, you could type:

xli my.image -merge -at 50,50 -clip 50,50,100,100 -brighten 150 my.im age

If you're using a display with a small colormap to display colorful imag es, try using the -gray option to convert to grayscale.

XLITO xlito (XLoadImageTrailingOptions) is a separate utility that provides a file format independent way of marking image files with the appropriate options to display corâ rectly. It does this by appending to file a string specified by the user, marked with some magic numbers so that this string can be extracted by a program tha t knows where to look. Since almost all image files have some sort of image size specifi er, the proâ grams that load or manipulate these files do not look beyond the point at which they have read the image, so trailing information can safely be appended to t he file. If appending this information causes trouble with other utilities, it can simply be deleted.

xli will recognize these trailing options at the end of the image files, a nd will treat the embedded string as if it were a sequence of command line IMAGE OPTION S. Any GLOBAL OPTIONS will be ignored, and the IMAGE OPTIONS are never propagated to oth er images.

Trailing options can be examined with:

xlito image_file ...

Changed or added with:

xlito -c "string of options" image_file

And deleted with:

xlito -d image_file ...

For example, if you have a gif file fred.gif which is too dark and is the wrong aspect ratio, then it may need to be viewed with:

xli -yzoom 130 -gamma 1.0 fred.gif

to get it to look OK. These options can then be appended to the file by:

xlito -c "-yzoom 130 -gamma 1.0" fred.gif

and from then on xli will get the appropriate options from the image file itself. See the xlito manual entry for more details about this utility.

PATHS AND EXTENSIONS The file ~/.xlirc (and optionally a system-wide file) defines the path and default extensions that xli will use when looking for images. This file can ha ve two stateâ ments: "path=" and "extension=" (the equals signs must follow the word wit h no spaces between). Everything following the "path=" keyword will be prepended to the supplied image name if the supplied name does not specify an existing file. The pa ths will be searched in the order they are specified. Everything following the "ext ension=" keyâ word will be appended to the supplied image name if the supplied name does not specify an existing file. As with paths, these extensions will be searched in t he order they are given. Comments are any portion of a line following a hash-mark (#).

The following is a sample ~/.xlirc file:

# paths to look for images in path= /usr/local/images /home/usr1/guest/madd/images /usr/include/X11/bitmaps

# default extensions for images; .Z is automatic; scanned in       order extension= .csun .msun .sun .face .xbm .bm

Versions of xli prior to version 01, patchlevel 03 would load the system-w ide file (if any), followed by the user's file. This behavior made it difficult fo r the user to configure her environment if she didn't want the default. Newer versions will ignore the system-wide file if a personal configuration file exists.

IMAGE TYPES xli currently supports the following image types:

CMU Window Manager raster files Faces Project images Fuzzy Bitmap (.fbm) images GEM bit images GIF images (Including       GIF89a compatibility) G3 FAX images JFIF style jpeg images McIDAS areafiles MacPaint images Windows, OS/2 RLE Image Monochrome PC Paintbrush (.pcx) images Photograph on CD Image Portable Bitmap (.pbm, .pgm, .ppm) images Sun monochrome rasterfiles Sun color RGB rasterfiles Targa (.tga) files Utah Raster Toolkit (.rle) files X pixmap (.xpm) files (Version       1, 2C and 3) X10 bitmap files X11 bitmap files X Window Dump (except TrueColor and DirectColor)

Normal, compact, and raw PBM images are supported. Both standard a nd run-length encoded Sun rasterfiles are supported. Any image whose name ends in .Z is assumed to be a compressed image and will be filtered through "uncompress". If H AVE_GUNZIP is defined in the Makefile.std make file, then any image whose name ends in. gz or .Z will be filtered through gunzip.

Any file that looks like a uuencoded file will be decoded automatically.

AUTHORS The original Author is: Jim Frost Saber Software jimf@saber.com

Version 1.16 of xli is derived from xloadimage 3.01 has been brought to yo u by: Graeme Gill graeme@labtam.oz.au

Version 1.17 of xli is derived from xli 1.16 by     smar@reptiles.org

For a more-or-less complete list of other contributors (there are a lot of them), please see the README file enclosed with the distribution.

FILES xli - the image loader and viewer xlito - the trailing options utility /usr/lib/X11/Xli - default system-wide configuration file ~/.xlirc - user's personal configuration file

COPYRIGHT Copyright (c) 1989, 1990, 1991, 1992, 1993 Jim Frost, Graeme Gill and othe rs.

Xli is copyrighted material with a very loose license allowing unlimited modification and distribution if the copyright notices are left intact. Various porti ons are copyâ righted by various people, but all use a modification of the MIT copyr ight notice. Please check the source for complete copyright information. The intent i s to keep the source free, not to stifle its distribution, so please write to me if y ou have any questions.

BUGS Zooming dithered images, especially downwards, is UGLY.

Images can come in a variety of aspect ratios. Xli cannot detect what asp ect ratio the particular image being loaded has, nor the aspect ratio of the destination display, so images with differing aspect ratios from the destination display will appe ar distorted. The solution to this is to use xlito to append the appropriate options t o the image file. See HINTS FOR GOOD IMAGE DISPLAYS and XLITO for more information.

The GIF format allows more than one image to be stored in a single GIF file, but xli will only display the first.

One of the pseudonyms for xli, xview, is the same name as Sun uses for their Sunâ View-under-X package. This will be confusing if you're one of those poor souls who has to use Sun's XView.

Some window managers do not correctly handle window size requests. In par ticular, many versions of the twm window manager use the MaxSize hint instead of th e PSize hint, causing images which are larger than the screen to display in a window lar ger than the screen, something which is normally avoided. Some versions of twm also ig nore the Maxâ Size argument's real function, to limit the maximum size of the window, an d allow the window to be resized larger than the image. If this happens, xli mere ly places the image in the upper-left corner of the window and uses the zero-value'ed pi xel for any space which is not covered by the image. This behavior is less-than-gr aceful but so are window managers which are cruel enough to ignore such details.

The order in which operations are performed on an image is independent of the order in which they were specified on the command line. Wherever possible I t ried to order operations in such a way as to look the best possible (zooming before di thering, for instance) or to increase speed (zooming downward before compressing, for i nstance).

Display Gamma should setable in the ~/.xlirc file.

Embedded trailing options override the command line Image Options. Command line options should really override trailing options.

28 Oct 2002 XLI(1)

Xmms

With all the music I grab for free using streamripper or USENET, I need something to play them with. For about five years, going back to my first exposure to Linux with Lindows 4.5, I've used nothing but XMMS, shown above. With the default skin shown, it's  almost a dead ringer for WinAmp in appearance and function. Sure it  doesn't have all the bells and whistles of Windows Media Player or   Rhythmbox, such as automatically updating my playlist, but it just works, all the time.

I use XMMS at work to listen to my music, after randomizing the play order, and sometimes I hear a song that's familiar, but I  never knew the name of it, so I just read it right off XMMS. I'm  have a minimalist aesthetic, so the simplicity of XMMS appeals to   me, even if it is no longer under development and being maintained with the lastest eye candy.

Other media players available for Linux: amarok - Lots of  features, but takes forever to scan my library audacious - (Rave  reviews for this one, but haven't tried it) cmus - Console based kaffeine - A KDE player much like Totem for Gnome mplayer - Low RAM overhead, just plays music from the command line rhythmbox - A lot like amarok streamtuner - Great for surfing internet radio totem - My video player, also used for streaming music & mp3s, has trippy visualizations

Xzgv

XZGV(1) Graphics Software XZGV(1)

NAME xzgv - picture viewer for X, with thumbnail-based file selector

SYNOPSIS xzgv [options] [dir | file ...]

DESCRIPTION (NB: This man page is automagically generated from xzgv's texinfo file, an d so may look a bit odd. We apologise for the inconvenience. :-))

xzgv is a picture viewer for X, with a thumbnail-based file selector. Th e thumbnails used (thumbnails being small `preview' versions of the pictures) are co mpatible with xv, zgv, and the Gimp. The kinds of pictures xzgv allows to be viewed are raster-format pictures (sometimes called `bitmaps' and/or `pixmaps'); things like GI F files, JPEG files, PNG files, and so on.

Most of the time, you will probably want to use xzgv's file selector (s ee The File Selector) to pick which file(s) to view. This is what appears on the left -hand side of the window when you start xzgv as just `xzgv' (see Options). It displays a list of subâ directories and picture files in the current directory, along with smal l `thumbnail' versions of the pictures if they exist. (If no thumbnails appear in a give n directory, or if they are missing for some files, you can create/update them by pres sing `u'. See Updating Thumbnails.)

When you've picked a file to view, you can view it by clicking on it, or pressing `Enter'. This reads the picture and displays it in the right-hand part o f the window, the viewer (see The Viewer). You can then move around the picture (if it i s larger than will fit) by dragging it with the mouse, or using the scrollbars, or the cursor keys. You can then select another image with the file selector (though you ne ed to press `Esc' or `Tab' first if using the keyboard), or you can quit xzgv by press ing `q'.

While xzgv works much like any other X program, and is certainly mouse- friendly :-), it's also designed to be keyboard-friendly. Everything in xzgv can be d one entirely from the keyboard. Much of this keyboard support works like the original z gv (a similar console-based picture viewer for Linux).

This overview is, as you might expect, only the very simplest of introduct ions to what xzgv can do, and describes only a very basic use of xzgv. xzgv can do a l ot more; read on to find out what.

ACKNOWLEDGEMENTS xzgv was primarily written by Russell Marks, also the author of this ma nual. It is maintained by Reuben Thomas.

Costa Sapuntzakis contributed code for much faster JPEG thumbnail genera tion (to zgv, which I adapted for xzgv).

The directory/file icons used were loosely based on gmc's dir-close.xpm. I think Tuomas Kuosmanen was responsible for that, judging from the change log.

`mkinstalldirs' is straight from the `texinfo' package, and was written b y Noah Friedâ man. (This is also used during installation.)

Huge thanks go to the many people responsible for GTK+, without which xzgv would almost certainly not have happened. (But no thanks for Electric Eyes, which wa s nearly nice enough for me not to bother with xzgv at all! :-))

getopt*.[ch] are from the GNU libc.

OPTIONS Normally you'd invoke xzgv as plain `xzgv' (perhaps via a window manag er menu, or GNOME/KDE menu, etc.). However, you can directly specify files to vie w, or a start directory, on the command-line. In addition, there are various options.

(If you're new to xzgv, you should probably skip the rest of this section for now and come back to it later.)

The general format of the xzgv command-line goes roughly like this:

xzgv [options] [dir | file ...]

Two types of options are supported --- the traditional Unix single-letter options, and GNU-style long options. Most options can be used in either way, and bot h forms are listed in the table below.

Note that all options are processed after any configuration file(s). Con fig file setâ tings are just like the long-option names below minus the `--' (see Config uring xzgv), though a few command-line options are not permitted as config file s ettings (e.g. `help'), and vice versa.

Here's what the options do:

`-a' `--auto-hide' Automatically hide selector when a picture is selected, allowing th e viewer to use the whole window.

`--careful-jpeg' Enable libjpeg `fancy upsampling'. xzgv defaults to using the fast er method; as the libjpeg documentation puts it, ``The visual impact of the slopp ier method is often very small.

`--delete-single-prompt' (Note that this is normally enabled; use `--delete-single-prompt=of f' to disable it.) If disabled, xzgv will immediately delete a file when told to, without prompting for confirmation. (It's `single' because deleting mult iple files at once will be supported in future, and that will have a separate prompt overâ ride.)

`--dither-hicol' Use dithering in 15/16-bit, whatever the default setting is. See Viewer Options, for a discussion of benefits/drawbacks. You can also us e `--dither- hicol=off' to disable this.

`--exif-orient' In JPEG files, use Exif orientation tags (inserted by e.g. digita l cameras) to correct image orientation before display. See Viewer Options, for d etails.

`--fast-recursive-update' When doing a recursive thumbnail update, don't read existing thumb nails before updating. This is pretty much obsolete as of xzgv 0.7, as the spee d increase is now negligible. But, it may still be useful if you want to update a huge number of small directories for which few if any updates are needed.

`-f' `--fullscreen' Run fullscreen, using the entire screen for xzgv's window, without even any winâ dow-manager decorations (window frame, title bar, etc.) if possible.

`-G val' `--gamma val' [Not supported in 0.9.] Set the gamma adjustment used (see Gamma Adjustment). The default is 1.0. This also sets the `initial value' used when resetting the gamma adjustment.

`-g geom' `--geometry geom' Set the xzgv window's geometry (position and/or size) to geom. The geometry string should be in the usual X format, with the extension that po sitions/sizes may have a `%' suffix meaning that they are treated as percentages of the screen width/height. The default geometry is `92%x85%'.

For those unfamiliar with the way `geometry' works, here's a brie f description of the syntax. It's `WxH', or `+X+Y', or `WxH+X+Y', where `W' is width, `H' height, `X' the x position, and `Y' the y position. The first f orm specifies only the size, the second only the position --- the `WxH+X+Y' fo rm specifies both.

Now, the `+X+Y' bit normally specifies where the top-left of the w indow is. But you can use `-' instead of `+' for the x and/or y position, in wh ich case it specifies the gap between the right/bottom of the window and the ri ght/bottom of the screen. (Note, however, that any window frame your window mana ger adds to the window is disregarded in this calculation, so you may need to experiment somewhat to get the desired position.) You can also use negative numbers with both `+' and `-' --- so `+-50+0' puts the window partly off th e left of the screen, and `+0--50' puts it partly off the bottom of the screen -- - but this is of questionable value. :-)

Finally, as mentioned above, xzgv extends this syntax by allowing y ou to use `%' to specify percentages of the screen width/height rather than pixels, e.g. `50%x30%-30%-20%'. It also allows you to use real numbers such as ` 12.34', which can be useful with `%'.

`-h' `--help' Display a list of options and a terse description of what the optio ns do.

`--image-bigness-threshold numpix' Set the boundary numpix after which images are considered `big', and are no longer rendered all-at-once (which gives much nicer scrolling, but is harder on memory and can be slow for big images) but are instead rendered pi ece-by-piece. Units are number of pixels in image (i.e. width times height), an d the default is 2000000 pixels.

`--interpolate' Interpolate between the picture's pixels when scaling up (see Sc aling). This usually looks nicer, but it's rather slow.

`--mouse-scale-x' If enabled, control-clicking on the viewer scales only the X axis. (The default is to scale only the Y axis.)

`--revert-orient' (Note that this is normally enabled; use `--revert-orient=off' to disable it.) If disabled, orientation (flip/mirror/rotate) state is retained bet ween pictures (see Viewer Options).

`--revert-scale' (Note that this is normally enabled; use `--revert-scale=off' to di sable it.) If disabled, scaling is retained between pictures (see Viewer Options).

`--selector-width' Set the default/initial size of the selector in pixels. The norm al setting is 200.

`-T' `--show-tagged' Show names of currently-tagged files on exiting xzgv. (They're list ed to stdout, one per line.) This can be useful when you want to select multiple files graphiâ cally and work on them with something else.

`--show-thumbnail-messages' Show on the status bar when thumbnails are being read. The status bar must be enabled for these messages to be visible, of course. :-)

`-k' `--skip-parent' For the first directory shown, skip the cursor past .. (the pare nt dir). This can be useful when you'd like to immediately use space to `page' through the dir.

`-o order' `--sort-order order' Set the initial sorting order used in the selector. Possible settings are `name', `ext', `size', and `date' (or `time'); only the first char of the setâ ting (`n'/`e'/`s'/`d'/`t') need be given. The default is name order.

`--sort-timestamp-type type' Set the timestamp type to use when using time/date sorting order. Possible setâ tings are `mtime' (default), `ctime', and `atime'; only the first char of the setting (`m'/`c'/`a') need be given.

`--statusbar' Show a status bar below the selector; this, for example, says when a picture is being read.

`-t' `--thin-rows' Use rows a third the normal height in the selector. This can be ver y useful on lower-resolution screens, or if you're really interested in f ilenames, not thumbnails.

`-v' `--version' Show version number.

`--version-gtk' Show version number of GTK+ xzgv is using.

`-z' `--zoom' Fit picture to viewer window, whatever its actual size (see Zoom Mo de).

`-r' `--zoom-reduce-only' When in zoom mode, only reduce pictures to fit; i.e. make big pictu res viewable all-at-once while leaving small picures intact.

If started with `xzgv files', xzgv hides the file selector and treats the file or files as if they were the sole contents of a directory. (It also automaticall y loads the first file.) As such, you can use the Next Image and Previous Image comm ands to naviâ gate between the images, or do Exit to Selector and use the selector direc tly.

If started with `xzgv start-dir', xzgv starts up as usual, but with the se lector startâ ing on the directory specified (rather than the current directory).

Settings which are either on or off (boolean) are, as you might expec t, enabled by using e.g. `-z' or `--zoom'. However, there's an alternative long-option f orm for setâ ting these, resembling how they're set in config files --- th e syntax is `--option=state', where state is `on'/`y'/`yes'/`1' to enable the option, or `off'/`n'/`no'/`0' to disable it. The most useful thing about this is t hat it allows you to disable options which were previously enabled, by using e.g. `--zoo m=off'.

(Readers used to the way GNU-style long options work should note that, since this `on'/`off'/etc. arg is optional, you can't use the `--option arg' form in this case; it must be `--option=arg' for it to work.)

A NOTE ON NOTATION Much of this manual is taken up by a description of xzgv's various command s in its file selector and viewer. Most of these are available both from the keyboard, a nd from popup menus. (A popup menu appears when you press `F10' or `Menu', or right-c lick on the selector or the viewer; each has its own menu.) So in the manual, you w ill often see things rather like this:

`key' `Selector menu, Menu the item is in, Menu item' Description of what the key/menu item does.

Sometimes the key given has a `(Selector)' or `(Viewer)' suffix; this is because some keypresses in xzgv are specific to the selector or the viewer, and won' t work unless the relevant part of xzgv has the keyboard focus.

THE FILE SELECTOR Usually, on starting up xzgv, you'll want to use the file selector --- the list of files on the left. (The other subwindow (on the right) is the viewer.) The selector lets you pick files to view (among other things). It lists the subdirector ies and picâ ture files in the current directory, along with small `thumbnail' version s of the picâ tures if they exist.

THE SELECTOR MENU Almost all selector commands are available from the selector's pop-up menu, which appears when you right-click anywhere on the selector. (You can also p ress `F10' or `Menu' to bring up the menu, but as there are keyboard shortcuts for just about everyâ thing in xzgv, this isn't often that useful. :-))

Usually, it doesn't matter where on the selector you right-click. Howeve r, a few comâ mands on the File menu operate on a single file, the one selected by the k eyboard curâ sor. A problem when using the mouse, you might think --- but when you r ight-click on the selector, as well as popping up the menu, xzgv moves this cursor to t he file you right-clicked on (if any). (You can see this by the way a hollow box is drawn around the file.) So to use e.g. Details on the File menu, you need to right-clic k on the file you want details on.

Both the selector and viewer have `Help' menus, most items of which refe r you to this manual:

`F1' `Selector menu, Help, Contents' `Viewer menu, Help, Contents' View the manual's overall contents.

`Selector menu, Help, The File Selector' View the manual's     section on the file selector.

`Viewer menu, Help, The Viewer' View the manual's section on the viewer.

`Selector menu, Help, Index' `Viewer menu, Help, Index' View the manual's concept index.

`Selector menu, Help, About' `Viewer menu, Help, About' Give some brief information about xzgv, including the version numbe r and homeâ page.

Currently, the way xzgv lets you read the manual is a bit crude; it ru ns the `info' program (see Top in the info-stnd info file) in an `xterm'.

EXITING XZGV You can exit xzgv either by using one of two exit keypresses, or by s electing the appropriate option from the selector's popup menu:

`q' `Ctrl-q' `Selector menu, Exit xzgv' Quit xzgv.

(There's also an exit option on the selector's File menu (`Selector menu, File, Exit'), as `Exit' is generally on any File menu.)

THUMBNAILS (This section is deliberately early on in the manual, as thumbnails are probably the most important feature of the file selector, so it's best that you kno w how to creâ ate/update them sooner rather than later.)

Thumbnails are small versions of the pictures they represent, and are disp layed by the file selector if they exist. xzgv uses xv-compatible thumbnails --- if you create thumbnails with xv they will work with xzgv, and vice versa. xzgv's thumbn ails are also compatible with the Gimp, and zgv.

If no thumbnail exists for a file, a small `document' icon appears instea d (similar to the `folder' icon used for directories).

Updating Thumbnails While thumbnails can be made relatively quickly, it's by no means an inst ant process. For this reason, thumbnails have to be created in advance, and are store d as files in their own right in a subdirectory .xvpics.

xzgv never creates/updates thumbnails without you telling it to. So, if you enter a directory where the picture files don't have any thumbnails, or where t he thumbnails seem to be out of date, you should press `u', or select Update Thumbnai ls from the selector's menu. (Even if the thumbnails can't be written (say, if you do n't have perâ mission to write them), the selector will still show the updated thumbnail s until you leave the directory.)

Alternatively, you can create/update thumbnails for the current directory and all subâ directories by using `Alt-u' or Recursive Update. But be warned that a rec ursive update can take some time!

`u' `Selector menu, Update Thumbnails' Create thumbnails for any files which don't have them, and upda te thumbnails which are older than the corresponding file. While this is going o n, a window appears showing how far through the process xzgv is.

While the update is in progress, you can abort it by clicking on th e Cancel butâ ton, or pressing `Esc' or `Enter', or by clicking the delete-window button (if your window manager provides one) on the title bar. xzgv will sto p once it has finished the thumbnail it is currently working on (if any).

`Alt-u' `Selector menu, Recursive Update' Create/update thumbnails for all files in the current directory and all subdiâ rectories. This can take some time, so you are prompted to confi rm you really want to do this (see Dialog Boxes). Progress is indicated in much t he same way as for a normal update, but only for the directory currently bein g updated --- the overall progress is not indicated, other than by the current di r being (as ever) displayed in the main window's title. You can abort a recurs ive thumbnail update in the same ways as for a normal update (see above).

By default, xzgv behaves a little oddly when doing a recursive upda te, to give some consistency with the normal update. See Thumbnail Issues, for details.

Thumbnail Issues Dealing with thumbnails can be `interesting' at times, and there are a few ways this influences things:

- xzgv doesn't read the thumbnails in a directory all at once. Instead, it just reads the directory contents, then starts up what is effectively a kind of backg round task to read in the thumbnails. So xzgv may not be quite as responsive as usual for a short time after entering a directory with many thumbnails (say, a few hundre d) --- but on the other hand, at least it is responding. :-)

- The `background task' makes a special effort to show thumbnails for the files curâ rently visible in the selector first, no matter how much you move around the list, but it reads them all in eventually.

- The thumbnails used in xzgv require 256 colours to display. This can be a problem if you're running X in 256 colours or less as, even if you're running an 8-bit (256 colour) server, there will almost inevitably be fewer colours available. Currently, xzgv just uses whatever gdk reports as the closest match to each individua l colour used in thumbnails. This gives a tolerable result on 8-bit servers, assuming gd k was able to allocate a large number of colours; however, it gives terrible results if it couldn't, or if running on 4-bit or 1-bit servers. Sorry about this --- it should be fixed in future (either by using gdk to draw the thumbnail pixmaps, or by dithe ring them `by hand' to suit the colours available).

- Finally, when doing a recursive thumbnail update, xzgv (by default) re ads existing thumbnails in a directory before updating any. Or rather, it reads thumbna ils for those files currently visible in the selector. This can slow things down very s lightly, but keeps the `look and feel' consistent with the normal update. (Still, yo u can disable this with the `--fast-recursive-update' command-line option (see Invoki ng xzgv) or equivalent config file entry (see Configuring xzgv).)

SELECTOR LAYOUT AND RESIZING The file selector is simply a list of subdirectories and filenames, a long with any thumbnails that exist for them. The list is normally in asciibetical order (but you can change this; see Changing the Sorting Order). Names of directories are sho wn first, and they are shown in order at the beginning of the list, before all the pi cture files. Long filenames may not fit in the visible part of the file selector di splay; if so, there will be a horizontal scrollbar you can use to see the rest of the name(s) (you can use cursor left/right to do this from the keyboard).

The list is very often larger than can fit on the screen at once. If this is the case, only part is shown at a time, but you can move around the list using th e (vertical) scrollbar, or with cursor up/down and the like.

If you find the selector window to be too small vertically, and would lik e to see more files at once, you can start xzgv fullscreen by using the -f option (s ee Options), and/or use `thin rows' mode (see File Selector Options).

If you find the selector too small (or too big) horizontally, you can c hange this by moving the splitter line's `handle' (a small square button between the selector and viewer, near the bottom of the window), which changes the relative sizes of the selecâ tor and viewer. You can move it by dragging it with the mouse, or with the se keys:

`[' Move the window split left.

`Ctrl-[' Move the window split left more slowly.

`]' Move the window split right.

`Ctrl-]' Move the window split right more slowly.

`~' Reset the window split to its default position.

You can also set the initial/default size of the selector --- in effect, the position of the window split --- using `--selector-width' (see Options) or th e config file option `selector-width'.

MOVING AROUND THE LIST This section is mainly for those of us more inclined to the keyboard side of the force. :-) Mouse-happy types can freely skip it.

When the selector has the keyboard focus, the cursor (or in GTK+ jargo n, the `focus row') is normally shown as a hollow box around one of the list's rows. Thi s serves the following functions:

- It selects a file for view commands to operate on.

- It determines which part of the list is shown, as the part of the list s hown onscreen always contains the cursor (unless you move around using the mouse).

There are several commands for moving the cursor. In summary, most `specia l' keys like the cursors do what you'd imagine they do, but in more detail:

`Cursor Up' `k' Move up.

`Cursor Down' `j' Move down.

`Page Up' `Ctrl-u' Move the cursor back roughly a page.

`Page Down' `Ctrl-v' Move the cursor forward roughly a page.

`Ctrl-Home' `Ctrl-a' Move the cursor to the start of the list.

`Ctrl-End' `Ctrl-e' Move the cursor to the end of the list.

`g' ` Move the cursor to the first filename starting with the next key p ressed, which would generally be a letter or number. Case is significant; `a' and `A' are difâ ferent. If no key is pressed within 2 seconds, the command is cance lled.

If no files start with the specified character, it moves to the fir st file which starts with a later char (in asciibetical order). If there are non e for which this is the case, it moves to the last file --- unless there are n o files (just directories), in which case it has no effect.

VIEWING A FILE To view a file from the selector, you can click on it, or press `Enter' after moving the cursor to the relevant file, or right-click on the file and choos e `File' then `Open'.

`Enter' `Left-click-on-file' `Selector menu, File, Open' View the chosen picture file, or if a subdirectory is chosen, make that the curâ rent directory.

DIALOG BOXES See The Viewer, for details of how the viewer works. If xzgv has a se rious problem reading a file, it will give an error. Errors are shown in dialogs which appear in the middle of the screen --- they stay there until you click Ok (or pre ss `Enter' or `Esc').

xzgv also uses similar dialog boxes for other things:

- Getting confirmation that you want to do something. `Enter' or `y' picks `yes'; `Esc' or `n' picks no. (Again, you can click on the relevant button with the mo use to do the same.)

- Showing progress when updating a thumbnail. This is a slightly unusual dialog, in that it automatically disappears when the update is complete. However, it does provide a Cancel button which you can click to abort the update (pressing `Enter' or `Esc' does the same).

- Reading a directory name. Here you should type the directory name then click Ok (or press `Enter'), or click Cancel (or press `Esc') to abort. The text-input `widget' used allows a certain amount of editing, including these keys:

`Cursor Left' `Ctrl-b' Move the cursor left. (A vertical bar     shows the cursor position.)

`Cursor Right' `Ctrl-f' Move the cursor right.

`Home' `Ctrl-a' Move the cursor to the start of the line.

`End' `Ctrl-e' Move the cursor to the end of the line.

`Backspace' `Ctrl-h' Delete char to the left of the cursor. (Note that `Backspace' is (usually) the key above the main `Enter' key; it is often labelled simply as an a rrow.)

`Delete' `Ctrl-d' Delete the char the cursor is on.

You can also set the X selection (by selecting text with the mouse, or hol ding `Shift' while moving the cursor) to allow pasting text into other programs, and you can cut/copy/paste text in the usual ways:

`Shift-Delete' `Ctrl-x' Cut text.

`Ctrl-Insert' `Ctrl-c' Copy text.

`Shift-Insert' `Ctrl-v' Paste text.

You can paste text from (some) other programs using the latter command, to o.

CLOSING A FILE Usually, when you view a file, the viewer subwindow keeps displaying it un til you view a different file. However, if you `close' the file, the viewer stops d isplaying the file and returns to its initial state.

`Ctrl-w' `Selector menu, File, Close' `Close' the currently-viewed file, clearing the viewer subwindow.

FILE DETAILS The listing the selector gives for a file is pretty sparse --- just the filename and (if the file has one) the accompanying thumbnail. While this does keep t hings simple, you sometimes want to know how much space a file takes up, when it was la st modified, the dimensions of the image, that kind of thing. So, you can show detail s of a single file using the `file details' command:

`:' `;' `Selector menu, File, Details' Show various details about the file pointed to by the keyboard curs or. See The Selector Menu, for how to choose the file details are given for w hen using the mouse. (Basically, you right-click on the file when popping up the menu.)

Most of the details shown come from the OS (by using the `stat(2)' system call), and should always be available unless you have limited permissions for the directory the file is in. The file dimensions (width/height), however, come from the f ile's thumbâ nail. If it doesn't have one, or if it's unreadable, or if it has one and it's readable but it doesn't mention the original image's width/height, then the Details from thumbâ nail area is greyed out.

(In explanation of the latter point --- pre-5.0 versions of zgv did not generate width/height comments in thumbnails, so zgv users in particular m ay find the width/height details missing. (xzgv has always been ok, though, it's just zgv which had this problem.) Worse yet, versions 5.0 and 5.1 generated them with incorre ct sizes for most JPEGs. To fix either problem for a given directory, do `rm -fr .xv pics' in that dir from a shell prompt and recreate the thumbnails with zgv 5.2 o r later, or xzgv/xv/Gimp.)

TAGGING The file selector is not restricted to working on one file at a time. You can `tag' as many (or as few) files as you wish, and certain commands described in this section will act on them.

Initially, all files are untagged, and the filenames usually appear in black (though this depends on the GTK+ theme you're using). Tagged files appear in red.

Tag and Untag Commands There are several ways to tag or untag files. The keyboard-based ones wh ich work on individual files (also available on the Tagging menu) move the cursor down one row afterwards, to make tagging or untagging multiple files easier.

To tag or untag a single file with the mouse, control-click (i.e. hold dow n the control key and click) on the relevant filename or thumbnail in the selector. I t's true that you could use Tag and/or Untag on the Tagging menu (see The Selector Menu, for how to choose the file tagged/untagged when doing it this way), but this is usua lly much less convenient than using control-click. (The menu entries for those are real ly just for completeness.)

There is also a command available in the viewer to tag the currently-vie wed file. See Changing Picture, for details.

`=' `+' `Keypad +' `0' `Selector menu, Tagging, Tag' Tag file.

`-' `Keypad -' `9' `Selector menu, Tagging, Untag' Untag file.

`Alt =' `Alt-Keypad +' `Alt-0' `Selector menu, Tagging, Tag All' Tag all files.

`Alt -' `Alt-Keypad -' `Alt-9' `Selector menu, Tagging, Untag All' Untag all files.

`Alt-o' `Selector menu, Tagging, Toggle All' Toggle all tags. This inverts the tagged state, so that all previ ously tagged files become untagged, and all previously untagged files become tag ged.

Currently there is no way to toggle a (single) file's tag state from the k eyboard.

Moving Between Tagged Files These commands let you search for (move to) the next or previous tagged f ile (if any). Note that `next' and `previous' here are relative to the keyboard cursor's position; if you use these from the menu, be careful to right-click on the file you want to start the search from.

`/' `Selector menu, Tagging, Next Tagged' Move to next tagged file in dir.

`?' `Selector menu, Tagging, Previous Tagged' Move to previous tagged file in dir.

Equivalent commands are also available in the viewer (see Changing Picture ).

Copying/Moving Files You can copy or move tagged files to a directory you specify. If no files are tagged, xzgv copies/moves the file the cursor is currently on --- unless the c ursor is on a subdirectory, in which case it gives an error.

`C (Shift-c)' `Selector menu, File, Copy' Copy tagged files (or the current file) to a given directory. xzgv asks for the destination directory using a dialog (see Dialog Boxes) and cop ies the files there. If it comes to copy a file but there is an existing file in the dir with the same name, the file is not copied and nor are any of the remain ing files.

`M (Shift-m)' `Selector menu, File, Move' Move tagged files (or     the current file) similarly.

RENAMING A FILE As well as copying/moving files, you can rename them:

`Ctrl-n' `Selector menu, File, Rename file' Rename the current file or directory --- xzgv will refuse to overwrite any existing files/directories. The new name must remain in the curren t directory. (See Copying/Moving Files, for how to move a file to a differ ent directory (albeit keeping the same name).) See The Selector Menu, for how to choose the file renamed when using the mouse. (Basically, you right-click on the file when popping up the menu.)

I know `Ctrl-n' isn't the most mnemonic keypress possible for `rename', but all the good ones were taken. :-/

DELETING A FILE Deleting a file is pretty straightforward:

`Ctrl-d' `Selector menu, File, Delete file' Delete the file pointed to by the keyboard cursor (and any accomp anying thumbâ nail). See The Selector Menu, for how to choose the file deleted wh en using the mouse. (Basically, you right-click on the file when popping up the menu.)

Note that only one file is deleted (hence `Delete file'); there is curren tly no way to delete all tagged files.

CHANGING DIRECTORY The easiest way to change the current directory in xzgv is usually to clic k on a direcâ tory entry in the file list (or move the cursor to it and press `Enter'). Selecting the `..' entry moves to the parent directory of the current one.

There is an alternative though:

(Note that the key for this command is shift-`g', not `g'.)

`G' `Selector menu, Directory, Change' Go to a specified directory. xzgv asks for the destination direct ory using a dialog box which you should type the dir's name into (see Dialo g Boxes), and moves to that directory if it exists.

RESCANNING THE DIRECTORY Normally, xzgv reads a directory once (on starting up, or when a new directory is selected). So if the contents of the directory are changed by another pro gram, this is not automatically reflected. You can, however, explicitly tell xzgv to `rescan' the directory (reread the contents), which will update xzgv's notion of what's in it:

`Ctrl-r' `Selector menu, Directory, Rescan' Rescan the current directory.

CHANGING THE SORTING ORDER Normally, the files are listed in asciibetical order by name. However, yo u can instead have the file list sorted by size, last-modified date/time, or by `extensi on' (the file type).

(Only the order of files can be altered; directories are always list ed first, and always in name order.)

`Alt-n' `Selector menu, Directory, Sort by Name' Sort by name. This is the default.

`Alt-e' `Selector menu, Directory, Sort by Extension' Sort by     extension.

`Alt-s' `Selector menu, Directory, Sort by Size' Sort by size. The biggest files are listed last.

`Alt-d' `Selector menu, Directory, Sort by Time & Date' Sort by     time/date. The newest files are listed last.

You can set the default sort order via the command-line (see Invoking xzgv ) or a config file (see Configuring xzgv).

There are three possible timestamps you can use for the `Time & Date' sort ing order:

`Alt-Shift-m' `Selector menu, Directory, Time & Date Type, Modification Time (mtime)' Use the last-modified time (`mtime'). This is the default.

`Alt-Shift-c' `Selector menu, Directory, Time & Date Type, Attribute Change Time (ctime) ' Use the last-attribute-change time (`ctime'). Note that this is n ot always the time the file was created, which it's sometimes mistaken for; for e xample, movâ ing a file with `mv' will usually change the ctime.

`Alt-Shift-a' `Selector menu, Directory, Time & Date Type, Access Time (atime)' Use the last-accessed time (`mtime'). The selector order is not automatically updated when xzgv reads files, since this would probably be annoyin g; do a manâ ual rescan if need be.

FILE SELECTOR OPTIONS Various aspects of the file selector's behaviour can be configured while xzgv is runâ ning, by using these toggle commands (which enable the feature if it wa s previously disabled, and vice versa).

These settings can also be altered using command-line options (see Options ) and/or conâ fig file settings (see Configuring xzgv).

`Alt-a' `Selector menu, Options, Auto Hide' Toggle the auto-hiding of the selector when a picture is vie wed (off by default). This is handy for small screens/windows, or for old-time zgv users who just dig that groovy modal interface, er, man. :-)

`Alt-b' `Selector menu, Options, Status Bar' Toggle status bar at the bottom of the selector (off by default). T his displays messages in certain circumstances --- normally, it just says when a picture is being read.

`Selector menu, Options, Thumbnail Msgs' Toggle reading-thumbnails messages (default is off), only visible i f the status bar is enabled. These messages make it clear when all thumbnails ha ve been read, but having something flash up every time you change directory is ge nerally just annoying.

`v' `Selector menu, Options, Thin Rows' Toggle `thin rows' mode (off by default), in which thumbnails a re shown at a third their normal size so that many more files can be shown at onc e. (The odd keyboard shortcut for this is inherited from zgv's `visual' mode toggle, which had a roughly similar effect.)

THE VIEWER Once you've selected a file to view, it's shown in the viewer (the right-h and part of xzgv's window). This section describes what you can do while viewing the p icture.

Like the selector, the viewer has its own menu --- right-click anywhere on the viewer (or press `F10' or `Menu') to show it --- and a similar help menu (see The Selector Menu).

EXITING THE VIEWER When using the mouse to control xzgv, it doesn't matter whether the se lector or the viewer has keyboard focus --- mouse operations transcend such petty bounda ries. :-) But keyboard control is (of necessity) effectively modal, and so you need to `exit' the viewer in order to have keyboard control over the selector again. You also need to exit the viewer if you've enabled auto-hide mode.

Exiting the viewer is simple:

`Esc' `Tab' `Viewer menu, Exit to Selector' Exit the viewer. This also returns the selector to its former si ze, if it was previously `hidden'.

Another way of exiting the viewer is to middle-click on it, but thi s mouse-only approach is really only of use when the selector is `hidden'.

BIG PICTURES A picture may well be too large to fit entirely in the viewer window. There are two main things which can help you see more of the picture at once:

- Make the xzgv window larger. You could `maximize' it with your window ma nager, or you could start xzgv with a larger window using `--geometry' or fullscr een mode (see Options). The fullscreen mode gives xzgv the maximum window size possible, but needs co-operation from your window manager (and alas, many are not as willing as one might like) --- in some cases you may even find `--geometry 100%x100%' to be mor e effective.

- Hide the selector. To do this, either use auto-hide mode (see File Selec tor Options), or hide the selector explicitly (see Hiding the Selector).

But of course, these are only partial solutions to the problem; there wi ll inevitably always be pictures larger than your screen can show at once. In general, then, there are two ways to see the whole of the picture.

Scrolling Scrolling is the default approach to handling big pictures in xzgv. When the viewer is started up, the top-left of the picture is shown --- you can either drag the picture around with the mouse (i.e. click and hold the button down, then m ove the mouse around), or use the scrollbars, or use the cursor keys (and others) to mov e around the rest of the picture:

`Cursor Up' `K' Move up 100 pixels. `Ctrl-Cursor Up' and `k' both move up 10 pixels.

`Cursor Down' `J' Move down 100 pixels. `Ctrl-Cursor Down' and `j' both move down 10 pixels.

`Cursor Left' `H' Move left 100 pixels. `Ctrl-Cursor Left' and `h' both move left 10 pixels.

`Cursor Right' `L' Move right 100 pixels. `Ctrl-Cursor Right' and `l' both move right 10 pixels.

`Page Up' `Shift-Cursor Up' `Ctrl-u' Move up (nearly) the window height. (It moves by 90% of the height. )

`Page Down' `Shift-Cursor Down' `Ctrl-v' Move down (nearly) the window height.

`-' `Shift-Cursor Left' Move left (nearly) a window-length. (It     moves by 90% of it.)

`=' `Shift-Cursor Right' Move right (nearly) a window-length.

`Home' `Ctrl-a' Move to the top-left of the picture.

`End' `Ctrl-e' Move to the bottom-right of the picture.

Zoom Mode An alternative way of viewing the whole picture, one which lets you se e the picture onscreen all at once no matter how big (or small) it is, is zoom mode.

Zoom mode's name derives from the idea of `zooming' a small file up to fit the window. But in reality, it is more often used to reduce a large file to fit.

Zoom mode is not the default, and has to be enabled. Once enabled, it s tays on until you turn it off again (or until you enable scaling, or select Normal (see Scaling)).

`z' `Viewer menu, Options, Zoom (fit to window)' Toggle zoom mode.

`Alt-r' `Viewer menu, Options, When Zooming Reduce Only' When in zoom mode, only reduce pictures to fit. This can be useful when going through a lot of unpredictably-sized pictures, as it means that yo u can see all of a big picture easily without also meaning that tiny little ico ns assume a scale of Biblical proportions. :-)

The way zoom mode reduces a file to fit the window is (relatively) quick b ut harsh, and may make the picture look a bit ugly. In future there may be a smoothing option like zgv's vkludge, but for now I'm afraid the fairly crude resize is all that' s available.

There is in fact an alternative to zoom mode, as you can scale down an i mage instead. This is generally only useful for very large images, however; zoom mode te nds to be the Right Thing for the most part.

SCALING You can scale a picture --- this makes it appear larger (or smaller) o nscreen. xzgv acts much as if the scaled picture were the real picture; for example, the cursor keys scroll around in steps of 100 scaled pixels, even if this means moving a fraction of a pixel (or many pixels) in the original picture (and similarly for moveme nt with the mouse).

The main limitation of scaling (other than how much it slows things down :-), at least when scaling up) is that you can only scale by integer values, so you ca n only make each pixel in the image twice as wide/high, or three times as wide/high, o r four times, and so on.

(It may seem odd saying e.g. `twice as wide/high' rather than `twice the size', but technically `twice the size' would be referring to scaling up the width (a nd height) by about 1.414...)

Normally, xzgv does no scaling, which could be considered a ratio of 1:1. Scaling up increases that ratio. How it is increased depends on which option/key you use:

`d' `Viewer menu, Scaling, Double Scaling' Increase the ratio by doubling it --- this leads to ratios of 2:1, 4:1, 8:1...

`s' `Viewer menu, Scaling, Add 1 to Scaling' Increase the ratio by adding one --- leads to ratios of 2:1, 3:1, 4 :1...

There are similar commands to decrease the ratio:

`D (Shift-d)' `Viewer menu, Scaling, Halve Scaling' Decrease the ratio by halving it.

`S (Shift-s)' `Viewer menu, Scaling, Sub 1 from Scaling' Decrease the ratio by subtracting one.

Usually the double/halve scalings are more useful.

Note that you can also double/halve the scaling by using shift-left-click on the viewer to double, and shift-right-click to halve. This still changes scale `aroun d' the middle of the window though (rather than around the point clicked on, as you m ight expect), which is a little strange and may possibly be changed in future.

When you scale `below' 1:1, the above commands lead to ratios of (e.g.) 1 :2, 1:4, 1:8, etc. --- that is, the ratios work the same way, but the other way aroun d. This gives you an increasingly small image.

The scaling ratio is never decreased below 1:32. It is also never increase d beyond the point where the overall image size would exceed 32767x32767 --- this li mit is due to the combination of X's limit on window sizes, and the implementation used by xzgv for scaling.

One problem with scaling up, given the way it's currently implemented, is that it's not well-suited to dithered display --- so if you're running on an 8-bit serv er, dragging the image around slowly when using scaling (especially scaling with inter polation) may result in some nasty, streaky, undithered-looking parts of the picture. :- (

You can undo the effect of scaling (up or down) at any time:

`n' `Viewer menu, Scaling, Normal' Resume `normal' display --- disables scaling mode, and also zoom mo de.

Normally, scaling up works by simply making the pixels into larger and la rger squares (in effect), which remain the same colour. However, you can enable a f eature called `interpolation' which smoothly graduates the colour change between the top -left corners of each pixel. This is very slow, but looks nice.

`i' `Viewer menu, Options, Interpolate when Scaling' Toggle interpolation in scaling mode.

(If you like the appearance of scaling with interpolation, you may also be interested in a program I wrote called pnminterp, which can scale up a PGM or PPM file while applying this effect. These days it's part of the netpbm package.)

Scaling down, however, is implemented a bit like a special-case zoom m ode, and curâ rently there are no ways of making that look nicer. :-/

xzgv normally `reverts' scaling (returning the scale to 1:1) back to norm al when you view a new picture. However, it's possible to disable this behaviou r (see Viewer Options).

There is also support for an alternative form of scaling --- decoupled, or axis-speâ cific, scaling. When you scale in this way, only one axis of the image is scaled at once. For example, you might choose to effectively double the height of an image (with the width left unchanged). Indeed, this sort of scaling is useful for tem porarily corâ recting pictures intended for display using pixels twice as wide or high a s normal.

`x' `Viewer menu, Scaling, X Only, Double Scaling' Increase the (x axis) ratio by doubling it.

`X (Shift-x)' `Viewer menu, Scaling, X Only, Halve Scaling' Decrease the (x axis) ratio by halving it.

`Alt-x' `Viewer menu, Scaling, X Only, Add 1 to Scaling' Increase the (x axis) ratio by adding one.

`Alt-Shift-x' `Viewer menu, Scaling, X Only, Sub 1 from Scaling' Decrease the (x axis) ratio by subtracting one.

`y' `Viewer menu, Scaling, Y Only, Double Scaling' Increase the (y axis) ratio by doubling it.

`Y (Shift-y)' `Viewer menu, Scaling, Y Only, Halve Scaling' Decrease the (y axis) ratio by halving it.

`Alt-y' `Viewer menu, Scaling, Y Only, Add 1 to Scaling' Increase the (y axis) ratio by adding one.

`Alt-Shift-y' `Viewer menu, Scaling, Y Only, Sub 1 from Scaling' Decrease the (y axis) ratio by subtracting one.

There are also mouse shortcuts for scaling up/down a single axis; contr ol-left-click scales up, and control-right-click scales down. By default this acts on th e y axis, but the active axis can be toggled with `Alt-c', or by toggling the `Ctl+Cli ck Scales X Axis' option (see Viewer Options).

Interpolation is not currently supported in situations where the x sca ling does not match the y scaling.

MIRROR AND ROTATE Sometimes when viewing a picture you will want to flip it horizontally or vertically, or rotate it:

`m' `Viewer menu, Orientation, Mirror (horiz)' `Mirror' the picture (flip it horizontally).

`f' `Viewer menu, Orientation, Flip (vert)' `Flip' the picture (flip it vertically).

`r' `Viewer menu, Orientation, Rotate Right' Rotate the picture 90 degrees clockwise.

`R (Shift-r)' `Viewer menu, Orientation, Rotate Left' Rotate the picture 90 degrees anti-clockwise. (Any US readers sur prised and/or annoyed by my not saying `counter-clockwise' will realise why th e menus say rotate right/left. :-))

`N (Shift-n)' `Viewer menu, Orientation, Normal' Restore the picture orientation to normal. This undoes the effec t of any mirâ rors, flips, and/or rotations.

xzgv normally `reverts' the picture orientation (the way the picture has been transâ formed by mirror/flip/rotate) back to normal when you view a new picture. However, it's possible to disable this (see Viewer Options), so that any new pictures a re mirrored, flipped, and/or rotated in the same way.

BRIGHTNESS AND CONTRAST [Brightness and contrast changing is not supported in xzgv 0.9.] xzgv pro vides support for changing brightness and contrast, though given the way it has to redra w the image to do so, it can be a little slow.

Currently there is no way to do this with the mouse; this should be fixed soon.

`,' Decrease contrast.

`.' Increase contrast.

`<' Decrease brightness.

`>' Increase brightness.

`:' `;' Reset contrast and brightness to normal. (`*' is also supported, f or hysterical raisins.) Note that this deliberately does not affect the gamma adj ustment.

Any contrast change is applied before any brightness change, and any gamm a adjustment is applied before both.

GAMMA ADJUSTMENT [Gamma is not supported in xzgv 0.9.] Ah yes, gamma. What fun. The bas ic problem is this --- differing displays have differing intensity response curves. ``Th is has made a lot of people very angry and been widely regarded as a bad move. :-)

It means that you need some way of adjusting how brightly you display t he picture to compensate. But since we're dealing with response curves, this isn't just a matter of changing the brightness in a linear fashion.

That doesn't seem so hard to deal with, right? All you need is to get the gamma (a numâ ber which specifies how much the curve bends) for the image, and for the s creen, divide one by the other and adjust as appropriate. Joy.

But, given that the problem has existed since we started displaying mo re than eight colours, you won't be surprised to find that it's already been fixed. And the fixes all tend to clash, and everybody has a different notion of how to fix it. Th e usual `fix' is to assume that whoever made the image made it with a gamma matching t he gamma of your display, so you can just stuff the bits right on the screen. Since this is easy, it's the most widespread approach. But it's a bit stupid, so not everyone does it. Comâ bine that with the lack of gamma specification in most image formats, a nd the often- bogus values specified by people in those that do, and hey presto --- the image gamma could be just about anything. And the screen's gamma also tends not to be easily deterâ mined.

So how on earth do you deal with something like that in a remotely sane fa shion?

The answer chosen in xzgv is to just live with the fact that the probabili ty of autoâ matically obtaining correct values for both the screen and image gamma is basically zero. Once you accept that, the sensible thing to do is to make it very ea sy and fast to change gamma adjustment to commonly-required values. So here's how to d o it:

`1' Set gamma adjustment to 1.0, i.e. no adjustment. This is the defaul t setting.

`2' Set gamma adjustment to 2.2. This is useful for viewing linear-gam ma files (one classic example being raytracer output) on an average PC monitor.

`3' Set gamma adjustment to 1 divided by 2.2, i.e. roughly 0.45. This i s useful for the reverse --- viewing average-PC-monitor-gamma files on a line ar-gamma disâ play. Historically I believe the classic example would have been viewing PC files on a Mac, but I don't know how true that is these days.

`4' Set gamma adjustment to its initial value, as specified by a `--ga mma' command- line option (see Options) or equivalent config file setting (see Configuring xzgv). The default value used if none was specified is 1.0.

A brief clarification is probably in order. The gamma adjustment value whi ch you set in xzgv is actually inverted from (i.e. one divided by) the true adjustment value used. This is (believe it or not
 * -)) intended to avoid confusion by reflecting the fact that screen

gamma is the one most widely considered/well known.

You can also tweak the adjustment more precisely, in a similar way to br ightness/conâ trast:

`Alt-,' Decrease gamma adjustment (divide it by 1.05).

`Alt-.' Increase gamma adjustment (multiply it by 1.05).

Note that `:', and the other keys which reset the brightness/contrast, deliberately avoid resetting the gamma adjustment.

As with brightness/contrast, there is currently no way to adjust gamma wit h the mouse; this should be fixed soon. (But the 1/2/3/4 keyboard-based method is likel y to still be the faster method.)

CHANGING PICTURE It's possible to go directly to the previous or next file (or tagged f ile) in the directory, or to tag a file, without having to pick the file from the fil e selector by hand. These commands are particularly useful when using xzgv from the k eyboard, but there's also a notable mouse shortcut for moving to the next image.

`Space' `Viewer menu, Next Image' Move to next file in dir, and view it. You can also click on the p icture/viewer to do this. (If you find this interferes with dragging the pi cture around (though it shouldn't), or just don't like it, it can be disable d (see Config Variables).)

`b' `Viewer menu, Previous Image' Move to previous file in dir, and view it.

`Ctrl-Space' `Viewer menu, Tagging, Tag then Next' Tag current file, then move to next file in dir and view it.

`/' `Viewer menu, Tagging, Next Tagged' Move to next tagged file in dir, and view it.

`?' `Viewer menu, Tagging, Previous Tagged' Move to previous tagged file in dir, and view it.

HIDING THE SELECTOR When running on small screens, or in a small window, it can get a bit anno ying to lose viewer space by having the selector constantly displayed when you don't actually need it. The usual solution to this problem is to enable auto-hide mode. But w hat if some pictures you're viewing are small and some large? It can sometimes be nea rly as annoyâ ing having the selector hidden to `make room for' a small picture which di dn't need it. So for that reason, or perhaps if you just don't like auto-hide mode :-), you may preâ fer to leave auto-hide off and explicitly hide the selector when necessary :

`Z (shift-z)' `Viewer menu, Window, Hide Selector' Hide the selector. (This is actually a toggle, of sorts; `hide se lector' when it's already hidden unhides it.)

You can also hide or unhide the selector by middle-clicking on the viewer.

MINIMIZING XZGV Generally it's easy enough to use your window manager to change windows e tc., but when running fullscreen this can sometimes be a little problematic. For this reason, xzgv has built-in support for `iconifying' itself:

`Ctrl-z' `Viewer menu, Window, Minimize' Minimize the xzgv window.

VIEWER OPTIONS As with the selector, various options can be disabled/enabled which relate to the viewer.

These settings can also be altered using command-line options (see Options ) and/or conâ fig file settings (see Configuring xzgv).

`z' `Viewer menu, Options, Zoom (fit to window)' Toggle zoom mode, discussed in more detail elsewhere (see Zoom Mode ).

`Alt-r' `Viewer menu, Options, When Zooming Reduce Only' Toggle reduce-only in zoom mode, also covered elsewhere (see Zoom M ode).

`i' `Viewer menu, Options, Interpolate when Scaling' Toggle interpolation when a picture is being scaled-up. Again, thi s has already been mentioned (see Scaling).

`Alt-c' `Viewer menu, Options, Ctl+Click Scales X Axis' Toggle the axis scaled when you control-click (or control-right-cl ick) on the image. The default is to scale the y axis.

`F (shift-f)' `Viewer menu, Options, Dither in 15 & 16-bit' Toggle dithering in 15/16-bit modes. This increases the apparent colour depth making gradations look much better, but it's slower than undithere d rendering, and can (in 16-bit) slightly distort a picture's colour balance. (The `F' key was chosen for this as the dither toggle is functionally simil ar to zgv's `fakecols' toggle.)

`Viewer menu, Options, Revert Scaling For New Pic' Normally xzgv returns the scaling back down to 1 (normal) when a n ew picture is selected. By disabling this, you can retain scaling across pictur e selection. (There is currently no keyboard shortcut for this fairly-seldom-c hanged option --- to toggle it from the keyboard, you should use the popup menu ( press `F10'), and select the menu item.)

`Viewer menu, Options, Revert Orient. For New Pic' Similarly, xzgv returns to the picture's true orientation ( not mirrored, rotated, etc.) on selecting a new picture. Disabling this option me ans that any mirrors/flips/rotates applied persist across multiple images. (No keyboard shortcut --- see above.)

`Viewer menu, Options, Use Exif Orientation' Toggle support for Exif orientation. Devices which create JPEG file s in the Exif format (e.g. many digital cameras) may add an orientation tag to th e file, which says how the camera was being held when the picture was taken. When this tag is present, xzgv can adjust the image to compensate for a camera bein g held on its side. (This isn't done by default as it misrepresents the true image, which could be confusing if you don't know why it's happening.) Enablin g this option may be useful if you take pictures with your camera on its side, bu t don't want to have to rotate the pictures before being able to view them properly. Of course, for this to work your camera has to be inserting the orient ation tag in the first place --- but it can't hurt to try it and see. (No keyb oard shortcut --- see above.)

FILE FORMATS Picture files are stored in a variety of different forms, or `file formats '. xzgv, via gdk, supports many.

FILE TYPE IDENTIFICATION The format a file is in is identified by its content. The file-reading c ode relies on libgdk to determine the file type and read the file correctly; generally t his uses the format's `magic number' to determine file type --- e.g. a JPEG/JFIF fil e starts with the (hex) bytes `FF D8'. So if you start xzgv with xzgv foo, and foo is in a supported format (such as JPEG), the format will be figured out and the file loade d even though the `extension' is absent.

CONFIGURING XZGV Many aspects of the way xzgv works can be modified by using a configuratio n file.

CONFIG FILES A configuration file lets you alter aspects of xzgv's behaviour. xzgv supp orts two posâ sible config files --- a system-wide one, /etc/xzgv.conf; and one for each user in their home directory, $HOME/.xzgvrc. Both are optional. If $HOME/.xzgvrc e xists, it is used instead of /etc/xzgv.conf.

Before describing the format of config files, it may help to give an examp le file:

# Sample xzgv config file Comment lines begin with `#' and are # ignored, as are blank lines.

# make pics fit window zoom on # hog the screen :-) fullscreen     on

It is a line-based format. Each line (or rather, each line which is not a comment line and is not blank) assigns a value to a single predefined `variable'. xzgv has many such variables it lets you modify in this way. For example, the fullscreen option above controls whether or not xzgv tries to use the whole screen for its window. If it is given the value `on'/`y'/`yes'/`1' it does; if `off'/`n'/`no'/`0', it doesn't. Most variables are of this yes-or-no `boolean' type.

Since the variables set in a config file have a direct effect on how xzgv works, it can be easier to simply call them `settings'. Indeed, such terminology is use d on occasion in this documentation.

CONFIG VARIABLE TYPES There are various types of variable:

- Boolean. These are on-or-off, yes-or-no variables. Most of xzgv's config file variâ ables are of this type.

- Integer (currently unused). These are whole numbers. The meaning of the number depends on what the variable is used for.

- Real (floating-point). This can be a whole number or a decimal fraction. Only the gamma variable is of this type.

- Geometry. This window size-and/or-position specification format is only used for the `geometry' setting. See Options, for a description of how this type works.

CONFIG VARIABLES Currently, most configuration variables (settings) in xzgv can also be set by command- line options; indeed, the name of the setting in all such cases is iden tical to that for the long version of the option (e.g. `fullscreen', `auto-hide'). As s uch, they're documented in the section which discusses command-line options and the like (see Options).

However, there are some settings only available in the config file:

click-for-next This is enabled by default, allowing you to click on the viewer to skip to the next image. If disabled, clicking on the viewer does nothing.

RATIONALE Here I (RJM) attempt to explain why I did things the way I did. This is p resented in a question-and-answer format of sorts.

WHY YET ANOTHER VIEWER? Previously, this section concentrated on xv; that may have made sense when I originally wrote it, and still makes a certain limited amount of sense for zgv, bu t for xzgv it was looking increasingly dated. And so here I am writing an update. :-)

I originally wrote xzgv as I simply wasn't happy with the viewers for X that I was aware of at the time (mid-1999). At the time of writing (late 2000), oth er key things about xzgv are becoming apparent, partly through responses I've been getti ng to it:

o It's `fast'. No, it doesn't do any particular operation faster than othe r viewers as far as I know (well, maybe thumbnail updates
 * -)); rather, the interface tries not to get in your way. Click on a

filename, and the picture appears. No multipli city of toolâ bars or windows, it's just there.

o As with zgv, it tries to do one thing well, viewing pictures. It isn 't perfect in this regard, I'll admit, but at least it stays well clear of picture editi ng.

o It's, er, quite a lot like zgv. Some of us old fogies like this. :-)

I won't pretend xzgv is The Ultimate Viewer For Everyone. Some people will prefer other approaches, or just simply prefer other viewers. (Some people may even still use xv, ghod forbid.) There are a few viewers which you may like to try if you don 't think much of xzgv:

o gqview. This seems to be well-regarded. I find it a bit gimmicky and kitchen-sink- ish; not quite as `pure' or focused as xzgv, IMHO. I think more people use it than xzgv though.

o xli. I'm not sure if this is maintained these days, but it's not too bad a viewer. No thumbnails or file selector though. (These days I mostly use this for sett ing the root window pixmap, something I don't think belongs in a viewer, but which xl i does happen to be quite good at.)

o qiv. If I read between the lines correctly, this is essentially a modern replacement for xli.

o gtksee. I've not tried this, but I think the idea is that it's an ACDS ee clone, and there seem to be an awful lot of people who want a clone of that. Which is their probâ lem. :^)

o Electric Eyes. To be honest, I think this has been outclassed by other viewers these days, which shows how far we've come.

Ah, you say, what of xv? Well, we've emphatically reached the point where no-one need use xv any more. Anyone using xv these days really should drop that pil e of ill-conâ ceived non-Free crap and use one of the better viewers now available. It's that simple.

WHY NO IMAGE-EDITING CAPABILITIES? It's a fscking viewer, dammit. If you want xv you know where to find it.

(OTOH, if you want a decent image editor, use the Gimp.)

WHY A TEXINFO MANUAL? For years, I maintained a conventional `man page' for zgv (which xzgv was loosely based on). But over time, I realised just how impossibly confusing the zgv man page had become.

So I wanted to rewrite zgv's documentation in a more sensible way, in some other format than a man page. I wanted an established, well-supported format with structure and cross-referencing. I felt this made it a choice between HTML and texinfo. HTML seemed to me to be a moving target like no other, and not as well supported on t ext-only terâ minals as Info (and thus texinfo). (This latter point is admittedly not to o relevant as far as xzgv is concerned.) When I noticed that a converter existed to co nvert texinfo to HTML in any case, the case was closed. xzgv's documentation was then ba sed on zgv's --- the documentation is probably more similar than the programs are. :-)

Don't get me wrong --- I like man pages. And even with the excellent Texin fo documentaâ tion and Emacs' very helpful Texinfo mode, writing texinfo is hardly ea sy. (Without Texinfo mode's node- and menu-update commands, I personally would find it near-impossiâ ble!) But big man pages just aren't that good for reference, and this is m ade worse by the relative lack of structure.

WHY ONE-SPACE SENTENCE ENDS? The conventional way to write texinfo is to follow each sentence with two spaces after the dot (or whatever ends the sentence). Many people normally write this w ay in a non- texinfo context too. But a sizeable proportion of people normally write t ext with only one space after the dot --- and I'm one of them.

The Texinfo documentation gives the impression that two-space must be us ed; it says ``it is important to put two spaces at the end of sentences in Texinfo doc uments. But the only circumstance in which spacing from the texinfo file is preserved at all (in any sense other than `there is a space here') is when the texinfo is conv erted to Info format. So, in fact, the decision to use two-space depends on how the auth or wants Info output to appear --- this is a subjective decision which should be entirel y down to the preference of the author, despite the Texinfo documentation's attempt to m ake two-space sound like an objective you-must-do-this kind of thing.

You might wonder what the problem with using one-space is, then. Well, ` makeinfo' has to reformat paragraphs, and whenever it needs to insert space at (what app ears to it to be) the end of a sentence, it inserts two spaces. This behaviour canno t be altered, unlike in Emacs (sentence-end-double-space; see Fill Commands in the emacs info file) and GNU fmt (-u; see fmt invocation in the textutils info file). Also, attempting to `fix' the output Info with sed doesn't work properly because the `tags' u sed to find nodes quickly are then incorrect. These could of course also be fixed, b ut this would involve a lot more work than a simple sed invocation.

So realistically, anyone who writes texinfo with one-space has to put up w ith the occaâ sional two-space sentence end being inserted into their text --- worse st ill, the curâ rent `makeinfo' formatting algorithm seems to insert two spaces even aft er abbreviaâ tions (such as `e.g.' and `etc.'), which breaks even two-space texinfo. (This is parâ ticularly ironic, by the way, since two-space partisans' main argument in favour of the practice is often the way it makes it possible to tell the difference betw een abbreviaâ tions and the end of a sentence.)

One last point may be worth noting; I am not the first person to write t exinfo files using one-space. At the time of writing, it is used in the texinfo docu mentation for BFD, gdbm, GTK/GDK, (Linux) IPC, and viper, and I expect there are instan ces I'm not aware of.

BUGS AND RESTRICTIONS All (non-trivial) programs have bugs. Anyone who denies this...

- clearly hasn't written too many programs.

- is wrong. ;-)

It follows that xzgv, like everything else, always has some bugs. Usua lly these are not too serious, or I'd have fixed them before releasing xzgv. But either way, bugs and other problems with xzgv are noted here.

KNOWN BUGS - In zoom mode, it copes with resizing the window as a whole, but doe sn't when you change the size of the pane (apart from when hiding/showing selector or r esizing from keyboard, but that's only 'cos I kludged it :-)).

- When scaling up and dithering, you end up with a crappy-looking pictur e if you drag the picture around slowly (since each exposed bit is dithered independent ly, with no regard given to matching up to any previous error-diffusion).

- Scaling up is slow. Not sure if I can do much about this.

- Using an alignment widget to centre the viewer window results in some annoying `bounce' in certain resizing situations etc.

- Thumbnails don't look so great in palette-based (e.g. 8-bit) modes.

- When dragging an image around, if you quickly move the mouse pointer ov er from the image area to the selector area, the image seems to `jump' a little. I t hink this may have something to do with the paned window's window-splitting bit, but I' m not sure. Also, it jumps when moving across scrollbar sliders and the paned window splitter hanâ dle.

- It doesn't apply any tranparency mask. The practical result of this seem s to be purâ ple transparent bits in thumbnails and scaled-up images, and black tra nsparent bits elsewhere. This doesn't affect PNG files, though.

- If a GIF file is corrupted in such a way that the decompressed image h as a larger number of pixels in it, the extra pixels will be ignored and no error or warning will be generated.

- If you look up `joe code' in a dictionary, right next to ``see zgv it now says ``but for really in-depth insight into the joe code nature, see xzgv. :-)

SUBOPTIMAL FEATURES - Thumbnails are given an accurate width/height `IMGINFO' comment, b ut are always claimed to be "RGB".

- xzgv doesn't duplicate zgv's behaviour of generating thumb nails under ~/.xvpics/_foo_bar_baz if it can't generate them in /foo/bar/baz/.xvpics. I doubt anyâ thing else supported it, and it complicated lots of things unnecessarily. This isn't particularly suboptimal, but as an incompatibility with zgv it merits ment ion.

RESTRICTIONS - Only the first image of a multiple-image GIF is used. (These days, m ultiple-image GIFs are usually animations.)

REPORTING BUGS If you find xzgv does something wrong, which you suspect might be a fault of some sort (a bug) in the program, it is best to report it as I may not be aware of the problem. (But first, check it is not a `known bug'. See Known Bugs. It is not usu ally helpful to report a bug I already know about.)

It is important to include as much detail in a bug report as you can. Here are some details you should include:

o The version of xzgv you are running. `xzgv --version' reports this.

o The versions of GTK+ you are using. `xzgv --version-gtk' reports the GTK+ version being used by xzgv.

o The bitdepth your X server is running in (common depths are 16-bit, 24-bit, and 32-bit). If you don't know what depth you're running in, try `xdpyinfo|gre p depth'.

o A description of the bug --- what effects it has, the circumstances it o ccurs in, and so on. Does it only happen for certain types of file? Only when in 8-bi t modes? Only when dithering is enabled? Even `irrelevant' details can sometimes be usef ul.

o Finally, if you are a programmer and believe you have managed to fix th e bug yourâ self, patches are gratefully accepted. :-) You should generate the patc h using `diff -c' or (preferably) `diff -u'.

So, if you think you've found a bug in xzgv, report it by ema iling me at <rrt@sc3d.org>.

REPORTING DOCUMENTATION BUGS Bugs in the documentation can sometimes cause as much trouble as bugs in the program; if you notice a problem in the documentation, it's a good idea to report i t.

For reports of documentation bugs, you should include these details:

o The version of xzgv the documentation is for.

o If it is a problem in one specific section of the documentation, specify which part it is (by this I mean the heading it comes under; texinfophiles should read this as `the node name' :-)).

o The format of the documentation you saw the problem in (e.g. info, man p age, HTML).

o A description of the problem.

FUTURE CHANGES See Reporting Bugs, for details of where to send the bug report. If you w ant to sugâ gest a feature you'd like in xzgv, or a change to an existing feature, co ntact me; see See Reporting Bugs for the address.

Future changes etc. are listed in the TODO file.

AUTHOR Russell Marks <rus@svgalib.org> and others; see the section ACKNOWLE DGEMENTS for details.

SEE ALSO zgv(1), xv(1), cjpeg(1), djpeg(1), pbm(5), pgm(5), ppm(5), mrf(5)

[2]CleanPosts RSS feed [3]CleanPosts Atom feed

Youtube-dl

Download streaming videos and convert them to MP3s

sudo curl -L [6]https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl

sudo chmod a+x /usr/local/bin/youtube-dl

youtube-dl --title --extract-audio --audio-format mp3 (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Youtube-dl

Download streaming videos and convert them to MP3s

sudo curl -L [6]https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl

sudo chmod a+x /usr/local/bin/youtube-dl

youtube-dl --title --extract-audio --audio-format mp3 (en) [2]CleanPosts RSS feed [3]CleanPosts Atom feed

Ytree

Zuk

DOS has freeware fractal viewers for the Mandelbrot Set just like Linux. I found one called ZUK.COM from Poland. It's only 14 kilobytes long, which appeals to the minimalist in me, but it  only goes down to a magnification of 400,000 times and the color palettes to choose from are limited. But it is a great way to  explore the general features of the Mandelbrot Set because it's so   darn fast. You can zoom in and out by holding the mouse buttons down, then you can pan up, down, left, and right with the mouse ball.

XAOS.EXE is a DOS port of the Unix xaos program I described earlier. The only difference is that when it starts, you have a menu of screen resolutions to choose from. The maximum magnification in Xaos is much greater than in Zuk, but you can't  pan at all, only gradually change your course as you zoom in and out.

The Mandelbrot Set was discovered in 1986 and PCs in those days had 8 bit data buses and ran at only 4.77 MHZ, unless they were like my Amstrad 1640, which used a 8086 with a 16 bit data bus and ran at 8MHZ. But even the Amstrad lacked the horsepower to render the Mandelbrot Set so quickly as to permit live, interactive animation. People could build up movies of a Mandelbrot zoom frame-by-frame, and video tapes were made in this way, but they were often ugly because the animator couldn't see where he was going until the movie was complete. But one such movie moved author Isaac Asimov nearly to tears when he watched it near the end of his life in  1992, because he had an insight that the entire universe with its laws of regularity of succession existed as a fractal like this. Nowadays, we just launch our programs, go exploring for a while, and say, "Meh."