Fix ampersand symbols

This commit is contained in:
peteyboy 2021-03-16 17:36:42 +00:00
parent 2b177b78b4
commit 623fac7007
45 changed files with 214 additions and 214 deletions

View File

@ -140,7 +140,7 @@ Be aware that this can be a lot of stuff and you may run out of space in hard dr
==== 3rd party repos ==== ==== 3rd party repos ====
Most needs could do it well with repositoires shiped by default CentOS, but there are other options like the CentOS Plus repository, shiped but disabled by default, since this repo contains items that actually upgrade certain base CentOS components. This repo will change CentOS so that it is not exactly like the upstream provider's content. Popular packages from this repository include: postfix with database support, a rebuilt kernel with additional drivers & filesystem support, php5 and mysql5. Most needs could do it well with repositoires shiped by default CentOS, but there are other options like the CentOS Plus repository, shiped but disabled by default, since this repo contains items that actually upgrade certain base CentOS components. This repo will change CentOS so that it is not exactly like the upstream provider's content. Popular packages from this repository include: postfix with database support, a rebuilt kernel with additional drivers & filesystem support, php5 and mysql5.
contrib is also a disabled default in CentOS. This repository contains packages contributed by CentOS users which do not overlap with any of the core distribution packages. These packages have not been tested by the CentOS developers and may not track the upstream version releases very closely. contrib is also a disabled default in CentOS. This repository contains packages contributed by CentOS users which do not overlap with any of the core distribution packages. These packages have not been tested by the CentOS developers and may not track the upstream version releases very closely.

View File

@ -4,7 +4,7 @@
==== Note! ==== ==== Note! ====
Some parts of this tutorial are copy&paste from Plan 9 wiki because they fit the flow of the writing as they are, so no claim from SDF's users is made over the authorship of such parts, which are clearly labeled as taken from Plan 9's wiki. Some parts of this tutorial are copy&paste from Plan 9 wiki because they fit the flow of the writing as they are, so no claim from SDF's users is made over the authorship of such parts, which are clearly labeled as taken from Plan 9's wiki.
===== Get involved ===== ===== Get involved =====
@ -42,7 +42,7 @@ Activities of the SDF Plan9 Boot Camp include:
* To exit Plan 9 and be able to return **without** rebooting your server, Press **ctl-]** to close the console, then press 'q' to disconnect. You can return again by **ssh**ing to your allocated VPS server again (see [[#install|above]]) and getting back to the VPS console, and pressing 'c' to connect. * To exit Plan 9 and be able to return **without** rebooting your server, Press **ctl-]** to close the console, then press 'q' to disconnect. You can return again by **ssh**ing to your allocated VPS server again (see [[#install|above]]) and getting back to the VPS console, and pressing 'c' to connect.
* The only line editor installed by default in the Plan 9 Image. is **//ed//**. For initially setting your DNS below or other tasks before you get DrawTerm running, [[https://www.howtoforge.com/linux-ed-command/|read this tutorial]] for this excrutiating experience (but then you can install DrawTerm). ===== Networking ========= Configuring Your IP Address ====In your control panel at "vps3.sdf.org", note YOUR_IP (e.g. 205.166.94.x) on the top line.Start your server, and log in via the console. (default=glenda)At the "rc" prompt (%), enter: "ip/ipconfig -g 205.166.94.1 ether /net/ether0 YOUR_IP 255.255.255.0"This configuration lasts until you reboot Plan 9. To make this permanent it is recommended to add this line to your /rc/bin/termrc.local file.To exit Plan 9 and be able to return **without** rebooting your server, see [[#know|above]].==== DNS Resolution ====You can get DNS resolution by editing "/lib/ndb/local" and changing: "ip=127.0.0.1 sys=localhost dom=localhost"to "ip=YOUR_IP sys=plan9 dom=plan9 dns=205.166.94.20"Once you've done that, from "rc" type "ndb/cs * The only line editor installed by default in the Plan 9 Image. is **//ed//**. For initially setting your DNS below or other tasks before you get DrawTerm running, [[https://www.howtoforge.com/linux-ed-command/|read this tutorial]] for this excrutiating experience (but then you can install DrawTerm). ===== Networking ========= Configuring Your IP Address ====In your control panel at "vps3.sdf.org", note YOUR_IP (e.g. 205.166.94.x) on the top line.Start your server, and log in via the console. (default=glenda)At the "rc" prompt (%), enter: "ip/ipconfig -g 205.166.94.1 ether /net/ether0 YOUR_IP 255.255.255.0"This configuration lasts until you reboot Plan 9. To make this permanent it is recommended to add this line to your /rc/bin/termrc.local file.To exit Plan 9 and be able to return **without** rebooting your server, see [[#know|above]].==== DNS Resolution ====You can get DNS resolution by editing "/lib/ndb/local" and changing: "ip=127.0.0.1 sys=localhost dom=localhost"to "ip=YOUR_IP sys=plan9 dom=plan9 dns=205.166.94.20"Once you've done that, from "rc" type "ndb/cs
ndb/dns -r"This configuration lasts until you reboot Plan 9. To make this permanent it is recommended to add those two lines to your /rc/bin/termrc.local file.To exit Plan 9 and be able to return **without** rebooting your server, see [[#know|above]].===== Drawterm =====Drawterm is essentially a BLIT terminal emulator which allows you to connect to your Plan9 system and load the //rio// windowing system. Rio is a direct successor of UNIX 'layers' and Plan 9 '8½'.At the "rc" prompt (%) in your Plan 9 VPS, enter these two lines. "echo 'key proto=p9sk1 dom=plan9 user=glenda !password=PASSWORD' >/mnt/factotum/ctl ndb/dns -r"This configuration lasts until you reboot Plan 9. To make this permanent it is recommended to add those two lines to your /rc/bin/termrc.local file.To exit Plan 9 and be able to return **without** rebooting your server, see [[#know|above]].===== Drawterm =====Drawterm is essentially a BLIT terminal emulator which allows you to connect to your Plan9 system and load the //rio// windowing system. Rio is a direct successor of UNIX 'layers' and Plan 9 '8½'.At the "rc" prompt (%) in your Plan 9 VPS, enter these two lines. "echo 'key proto=p9sk1 dom=plan9 user=glenda !password=PASSWORD' >/mnt/factotum/ctl
aux/listen1 -t tcp!*!ncpu /bin/cpu -R & aux/listen1 -t tcp!*!ncpu /bin/cpu -R &
"Replace PASSWORD with the password you want. This password lasts until you reboot Plan 9.To exit Plan 9 and be able to return **without** rebooting your server, see [[#know|above]].==== Getting Started with Drawterm ===={{http://sdf.org/tutorials/images/drawterm.png}}\\ Follow the [[https://web.archive.org/web/20120121090252/http://jgw.tx0.org/howto/building_drawterm.html|instructions]] to download and build Drawterm for your operating system. YOUR_IP must match the IP address described in [[#networking|Networking]].\\ "./drawterm -a YOUR_IP -c YOUR_IP -u glenda"After typing your password, press the right button of your mouse. A menu should appear. Then, release the button over the "New" option.\\ Now, press the right button again near the upper-left corner of drawterm, and drag the mouse to the lower right before releasing the button, drawing a rectangle.\\ You should now have a terminal window. The first thing you should probably do is to type "cat readme.rio" (or read it from [[http://sdf.org/tutorials/misc/readme.rio|here]])===== Plan 9 Applications ========= Browsing the Web ====You can use [[http://lab-fgb.com/abaco/|Abaco]] to browse the web. (Abaco is available in a default Plan 9 system.)You'll need to have your IP configured and DNS working in order to browse the web. After that, you'll have to run "webfs" and **then** "abaco". (You may want to add "webfs" in your "$home/lib/profile" just before plumber and rio; also, if you don't have a "$home/lib/webcookies" file, touch it.){{http://sdf.org/tutorials/images/abaco.png?600px}}When abaco starts, you can go to a webpage by clicking ""New"" with the middle button of the mouse, typing the address in the row below the one with ""Del Snarf Get …"" (see the previous figure: it's the one where the current address is), and pressing "Enter" on your keyboard. You can follow links by clicking on them, as is usual, with the left button (the shape of the cursor won't change, though).===== Adding a User =====You may wish to add a user to your system once you get the hang of things. There is really no need to create a new user when you are first starting out. To create a new user, you will have to connect to the file server console by typing: "con -l /srv/fscons"Now, at the file server prompt, create a new user. Replace USER with what you want your new user to be named: "uname USER USER"You will need to add that user to the "sys" group if you want it to be able to change system configuration files. Again, change USER to what your new user name is: "uname sys +USER"Exit the file server console by typing: "ctrl+\". You will now be at a ">>>" prompt; type "q" to quit.===== Configure Time zone =====**Taken from [[http://plan9.bell-labs.com/wiki/plan9/Installation_instructions/index.html|Plan 9 Wiki Installation Instructions]]**You might want to configure your system's timezone. Figure out in which timezone you are, and then, assuming e.g. you are in the CET zone log in as user adm, then: "cp /adm/timezone/CET /adm/timezone/local"Last, but not the least, you may also want to edit/change the "TIMESYNCARGS" in your "/rc/bin/termrc" or "/rc/bin/cpurc"; for example, to use an NTP service, set it to: "TIMESYNCARGS=(-n 0-north-america.pool.ntp.org)" and reboot. ===== Working in Plan 9 =====TODO check if title worksNow that you are connected to your Plan 9 console with your new user you should run: "/sys/lib/newuser"And setup a password for the user in factotum so you can login from Drawterm.**Taken from [[http://plan9.bell-labs.com/wiki/plan9/Installation_instructions/index.html|Plan 9 Wiki Installation Instructions]]**When you drawterm to a Plan 9 cpu server, your local files will be available at /mnt/term. This means you can freely copy files between Plan 9 and your other os without the use of any additional protocols. In other words, when working with drawterm, your environment is actually a composite of your local os and the Plan 9 system - technically it is a three node grid, because the Drawterm program acts as an ultra-minimal independent Plan 9 terminal system, connecting your host os to the Plan 9 cpu server.===== Useful Plan9 Commands =====While there are many similarities between UNIX and Plan9, there are specific commands which may be unfamiliar to UNIX users. However, some of these commands have their roots in early UNIX systems as well as BTL Research UNIX. "Replace PASSWORD with the password you want. This password lasts until you reboot Plan 9.To exit Plan 9 and be able to return **without** rebooting your server, see [[#know|above]].==== Getting Started with Drawterm ===={{http://sdf.org/tutorials/images/drawterm.png}}\\ Follow the [[https://web.archive.org/web/20120121090252/http://jgw.tx0.org/howto/building_drawterm.html|instructions]] to download and build Drawterm for your operating system. YOUR_IP must match the IP address described in [[#networking|Networking]].\\ "./drawterm -a YOUR_IP -c YOUR_IP -u glenda"After typing your password, press the right button of your mouse. A menu should appear. Then, release the button over the "New" option.\\ Now, press the right button again near the upper-left corner of drawterm, and drag the mouse to the lower right before releasing the button, drawing a rectangle.\\ You should now have a terminal window. The first thing you should probably do is to type "cat readme.rio" (or read it from [[http://sdf.org/tutorials/misc/readme.rio|here]])===== Plan 9 Applications ========= Browsing the Web ====You can use [[http://lab-fgb.com/abaco/|Abaco]] to browse the web. (Abaco is available in a default Plan 9 system.)You'll need to have your IP configured and DNS working in order to browse the web. After that, you'll have to run "webfs" and **then** "abaco". (You may want to add "webfs" in your "$home/lib/profile" just before plumber and rio; also, if you don't have a "$home/lib/webcookies" file, touch it.){{http://sdf.org/tutorials/images/abaco.png?600px}}When abaco starts, you can go to a webpage by clicking ""New"" with the middle button of the mouse, typing the address in the row below the one with ""Del Snarf Get …"" (see the previous figure: it's the one where the current address is), and pressing "Enter" on your keyboard. You can follow links by clicking on them, as is usual, with the left button (the shape of the cursor won't change, though).===== Adding a User =====You may wish to add a user to your system once you get the hang of things. There is really no need to create a new user when you are first starting out. To create a new user, you will have to connect to the file server console by typing: "con -l /srv/fscons"Now, at the file server prompt, create a new user. Replace USER with what you want your new user to be named: "uname USER USER"You will need to add that user to the "sys" group if you want it to be able to change system configuration files. Again, change USER to what your new user name is: "uname sys +USER"Exit the file server console by typing: "ctrl+\". You will now be at a ">>>" prompt; type "q" to quit.===== Configure Time zone =====**Taken from [[http://plan9.bell-labs.com/wiki/plan9/Installation_instructions/index.html|Plan 9 Wiki Installation Instructions]]**You might want to configure your system's timezone. Figure out in which timezone you are, and then, assuming e.g. you are in the CET zone log in as user adm, then: "cp /adm/timezone/CET /adm/timezone/local"Last, but not the least, you may also want to edit/change the "TIMESYNCARGS" in your "/rc/bin/termrc" or "/rc/bin/cpurc"; for example, to use an NTP service, set it to: "TIMESYNCARGS=(-n 0-north-america.pool.ntp.org)" and reboot. ===== Working in Plan 9 =====TODO check if title worksNow that you are connected to your Plan 9 console with your new user you should run: "/sys/lib/newuser"And setup a password for the user in factotum so you can login from Drawterm.**Taken from [[http://plan9.bell-labs.com/wiki/plan9/Installation_instructions/index.html|Plan 9 Wiki Installation Instructions]]**When you drawterm to a Plan 9 cpu server, your local files will be available at /mnt/term. This means you can freely copy files between Plan 9 and your other os without the use of any additional protocols. In other words, when working with drawterm, your environment is actually a composite of your local os and the Plan 9 system - technically it is a three node grid, because the Drawterm program acts as an ultra-minimal independent Plan 9 terminal system, connecting your host os to the Plan 9 cpu server.===== Useful Plan9 Commands =====While there are many similarities between UNIX and Plan9, there are specific commands which may be unfamiliar to UNIX users. However, some of these commands have their roots in early UNIX systems as well as BTL Research UNIX.
* //**fshalt -h**// - This will gracefully shutdown Plan 9 * //**fshalt -h**// - This will gracefully shutdown Plan 9
* //**ed**// - This archaic line editor is the only one installed by default in the Plan 9 Image. For initially setting your DNS above or other tasks before you get DrawTerm running, [[https://www.howtoforge.com/linux-ed-command/|read this tutorial]] for this excrutiating experience (but then you can install DrawTerm).===== Links ========= Tutorials ==== * //**ed**// - This archaic line editor is the only one installed by default in the Plan 9 Image. For initially setting your DNS above or other tasks before you get DrawTerm running, [[https://www.howtoforge.com/linux-ed-command/|read this tutorial]] for this excrutiating experience (but then you can install DrawTerm).===== Links ========= Tutorials ====

View File

@ -76,7 +76,7 @@ To make it more useful for ANONRADIO use, it's helpful to put it into a shell sc
# anonradio - streams SDF ANONradio via sox(1); # anonradio - streams SDF ANONradio via sox(1);
# retries automatically if stream dropped # retries automatically if stream dropped
if [ -x $(which sox) ]; then if [ -x $(which sox) ]; then
trap 'printf "\n anonradio stream terminated... \n" && exit 0' 2 trap 'printf "\n anonradio stream terminated... \n" && exit 0' 2
clear clear
while [ 1 ] while [ 1 ]
do clear do clear

View File

@ -1,16 +1,16 @@
[[https://sdf.org/tutorials/images/att605-4.jpg|{{https://sdf.org/tutorials/images/att605-4.jpg?30%}}]] [[https://sdf.org/tutorials/images/att605-4.jpg|{{https://sdf.org/tutorials/images/att605-4.jpg?30%}}]]
**//The SDF Travelling AT&T 605 UNIX Terminal//** **//The SDF Travelling AT&T 605 UNIX Terminal//**
=== What is it? === === What is it? ===
This is a former terminal used on the AT&T 3B2/500 (retired 1998). It has been modified to work as a stand alone computer using a Raspberry Pi Zero W. Just give it a WIFI/hotspot and coordinate with SDF to use it at a vintage computer festival and help spread awareness of SDF's past as well as what we're doing today. This is a former terminal used on the AT&T 3B2/500 (retired 1998). It has been modified to work as a stand alone computer using a Raspberry Pi Zero W. Just give it a WIFI/hotspot and coordinate with SDF to use it at a vintage computer festival and help spread awareness of SDF's past as well as what we're doing today.
=== How do I get it? === === How do I get it? ===
The terminal can be borrowed for up to 2 weeks. It is shipped in a double box with signage, an ipod/headphones (for the NPR story) and an assortment of SDF stickers and CDs to give away. To reserve the terminal for use at your event, contact 'membership' and provide full details. Please be sure to give enough lead time, preferrably 2 weeks prior to your event. The terminal can be borrowed for up to 2 weeks. It is shipped in a double box with signage, an ipod/headphones (for the NPR story) and an assortment of SDF stickers and CDs to give away. To reserve the terminal for use at your event, contact 'membership' and provide full details. Please be sure to give enough lead time, preferrably 2 weeks prior to your event.
=== I wanna use it! Where will the SDF Travelling AT&T 605 UNIX Terminal be next? === === I wanna use it! Where will the SDF Travelling AT&T 605 UNIX Terminal be next? ===
* Mar 23-24, 2019 - Seattle, WA - Vintage Computer Festival Pacific Northwest //**COMPLETED**// * Mar 23-24, 2019 - Seattle, WA - Vintage Computer Festival Pacific Northwest //**COMPLETED**//
* May 3-5, 2019 - Wall, NJ - Vintage Computer Festival East //**COMPLETED**// * May 3-5, 2019 - Wall, NJ - Vintage Computer Festival East //**COMPLETED**//
@ -19,7 +19,7 @@ The terminal can be borrowed for up to 2 weeks. It is shipped in a double box wi
* Sep 14-15, 2019 - Elmhurst, Il - Vintage Computer Festival Midwest //**COMPLETED**// * Sep 14-15, 2019 - Elmhurst, Il - Vintage Computer Festival Midwest //**COMPLETED**//
* Nov 6, 2019 - Manhattan, NY - Suspenders NYC - Install Fest //**COMPLETED**// * Nov 6, 2019 - Manhattan, NY - Suspenders NYC - Install Fest //**COMPLETED**//
* Dec 4, 2019 - Brooklyn, NY - NYC*BUG Holiday Party at Boat Bar //**COMPLETED**// * Dec 4, 2019 - Brooklyn, NY - NYC*BUG Holiday Party at Boat Bar //**COMPLETED**//
* Mar 19-22, 2020 - Tokyo, Japan - AsiaBSDcon - Tokyo University**CANCELLED**=== Technical Information ===**Configuration / New setup:**\\ Login as the user 'pi' with the randomly generated password and run 'sudo raspi-config'. This will allow you to setup the network once you're on site. Enter your SSID and passphrase through this dialog**Usage:**\\ While featuring raspian isn't really the point, you could use the terminal to feature local programs. If you login as user 'menu' password 'menu' and you have a network, you'll be connected to the Living Computer Museum's TTY service which will then allow you to connect to several vintage machines. Logging in as 'sdf' will take you to the old AT&T 3B2/500 when it is running in Seattle, WA (can be arranged).It also features sdfer Seth Morabito's AT&T 3B2/400 emulator which is a bit of a surreal experience - just login as '3b2' to spin up a virtual historical SDF.The terminal does not have a battery installed (due to leakage) so when you turn it on, it will default to 1200 7E1 with function key labels on. You'll want to set it to 9600 8N1 with labels off.[[https://sdf.org/tutorials/images/att605-6.jpg|{{https://sdf.org/tutorials/images/att605-6.jpg?30%}}]]**//The SDF Travelling AT&T 605 UNIX Terminal Setup Screen//////**=== Weight and Dimensions of the shipping box === * Mar 19-22, 2020 - Tokyo, Japan - AsiaBSDcon - Tokyo University**CANCELLED**=== Technical Information ===**Configuration / New setup:**\\ Login as the user 'pi' with the randomly generated password and run 'sudo raspi-config'. This will allow you to setup the network once you're on site. Enter your SSID and passphrase through this dialog**Usage:**\\ While featuring raspian isn't really the point, you could use the terminal to feature local programs. If you login as user 'menu' password 'menu' and you have a network, you'll be connected to the Living Computer Museum's TTY service which will then allow you to connect to several vintage machines. Logging in as 'sdf' will take you to the old AT&T 3B2/500 when it is running in Seattle, WA (can be arranged).It also features sdfer Seth Morabito's AT&T 3B2/400 emulator which is a bit of a surreal experience - just login as '3b2' to spin up a virtual historical SDF.The terminal does not have a battery installed (due to leakage) so when you turn it on, it will default to 1200 7E1 with function key labels on. You'll want to set it to 9600 8N1 with labels off.[[https://sdf.org/tutorials/images/att605-6.jpg|{{https://sdf.org/tutorials/images/att605-6.jpg?30%}}]]**//The SDF Travelling AT&T 605 UNIX Terminal Setup Screen//////**=== Weight and Dimensions of the shipping box ===
* 40 lbs * 40 lbs
* 20 x 20 x 24 in * 20 x 20 x 24 in
* Terminal goes into the inner box. There is a piece of foam to craddle the back * Terminal goes into the inner box. There is a piece of foam to craddle the back

View File

@ -2,7 +2,7 @@
CenterICQ is not actively maintained anymore, CenterIM is a fork and is actively maintained. However CenterICQ is still functional. CenterICQ is not actively maintained anymore, CenterIM is a fork and is actively maintained. However CenterICQ is still functional.
===== CenterICQ & CenterIM ===== ===== CenterICQ & CenterIM =====
These same steps aply to connect to ICQ using CenterIM. These same steps aply to connect to ICQ using CenterIM.

View File

@ -11,7 +11,7 @@ Best way to learn about the //DIALUP// SDF membership is to login to your SDF sh
Some quick tips and things to note: Some quick tips and things to note:
1) You can choose from 54,143 dialup numbers in the USA & Canada 1) You can choose from 54,143 dialup numbers in the USA & Canada
2) Connections from 1200bps to 52000bps or 64kbps to 128kbps ISDN 2) Connections from 1200bps to 52000bps or 64kbps to 128kbps ISDN
3) Read the bboard: for discussions on the membership 3) Read the bboard: for discussions on the membership
4) Your dialup login is you@tenex.org 4) Your dialup login is you@tenex.org

View File

@ -224,7 +224,7 @@ while [ 1 ]; do
SSH_PID=`ps aux | sed -n -e /sed/d -e /ssh\ \-N/p | wc -m` SSH_PID=`ps aux | sed -n -e /sed/d -e /ssh\ \-N/p | wc -m`
if [ $SSH_PID -eq 0 ]; then if [ $SSH_PID -eq 0 ]; then
ssh $SSH_ARGS $LIS_PORT:$TAG_HOST:$TAG_PORT $SSH_USER@$SSH_HOST \ ssh $SSH_ARGS $LIS_PORT:$TAG_HOST:$TAG_PORT $SSH_USER@$SSH_HOST \
-p$SSH_PORT &>/dev/null -p$SSH_PORT &>/dev/null
DATE_TIME=`date '+%y.%m.%d %T'` DATE_TIME=`date '+%y.%m.%d %T'`
echo "$DATE_TIME SSH Tunnel restarted.">>$LOG_FILE echo "$DATE_TIME SSH Tunnel restarted.">>$LOG_FILE
fi fi

View File

@ -23,7 +23,7 @@ Stuff to know:
* yahoo uses spamhaus, apparently, so you can use yahoo's request page, and also Spamhaus * yahoo uses spamhaus, apparently, so you can use yahoo's request page, and also Spamhaus
* yahoo: here's a guide on [[https://www.rackaid.com/blog/how-to-remove-your-email-server-from-yahoos-blacklist/|how to fill out Yahoo's bulk email sender form]] (even if you are just a regular emailing schlub). [[http://help.yahoo.com/l/us/yahoo/mail/postmaster/bulkv2.html|Yahoo! Bulk Email Sender Form]] * yahoo: here's a guide on [[https://www.rackaid.com/blog/how-to-remove-your-email-server-from-yahoos-blacklist/|how to fill out Yahoo's bulk email sender form]] (even if you are just a regular emailing schlub). [[http://help.yahoo.com/l/us/yahoo/mail/postmaster/bulkv2.html|Yahoo! Bulk Email Sender Form]]
* another customer contact form [[https://io.help.yahoo.com/contact/index?page=contactform&locale=en_US&token=Zh/BBVqXzLHlIbokbUqVWTUbuuQeXGkGnZzhKR2JQ4O6mMQdy9JSWdtWFXvjthcYCRj9bUIFfycOfG+4GOHPHoOGa8HwDO2+0kYRtTcdR8O13Mvs9cOruJ0TlC3hh4bCEtPlZ0yk7fvp1MFjGnAOWw==&selectedChannel=email-icon&isVip=false|https://io.help.yahoo.com/contact/index?page=contactform&locale=en_US...]] * another customer contact form [[https://io.help.yahoo.com/contact/index?page=contactform&locale=en_US&token=Zh/BBVqXzLHlIbokbUqVWTUbuuQeXGkGnZzhKR2JQ4O6mMQdy9JSWdtWFXvjthcYCRj9bUIFfycOfG+4GOHPHoOGa8HwDO2+0kYRtTcdR8O13Mvs9cOruJ0TlC3hh4bCEtPlZ0yk7fvp1MFjGnAOWw==&selectedChannel=email-icon&isVip=false|https://io.help.yahoo.com/contact/index?page=contactform&locale=en_US...]]
* spamhaus https://www.spamhaus.org/lookup/ * spamhaus https://www.spamhaus.org/lookup/
* outlook https://support.microsoft.com/en-us/supportrequestform/8ad563e3-288e-2a61-8122-3ba03d6b8d75 * outlook https://support.microsoft.com/en-us/supportrequestform/8ad563e3-288e-2a61-8122-3ba03d6b8d75
* comcast https://abuse.vadesecure.com/ * comcast https://abuse.vadesecure.com/

View File

@ -42,7 +42,7 @@ The default ECL prompt is ">". Enter Common-Lisp commands in the usual way:
> (* 4 5) > (* 4 5)
20 20
> (format t "hello SDF~&") > (format t "hello SDF~&")
hello SDF hello SDF
NIL NIL
> >
@ -55,7 +55,7 @@ To use ECL as a script executor (ie. CGI) the //-shell// and/or //-eval// option
ex: hello.lsp ex: hello.lsp
% echo '(format t "~&Hello SDF~&")' > hello.lsp % echo '(format t "~&Hello SDF~&")' > hello.lsp
% ecl -norc -script hello.lsp % ecl -norc -script hello.lsp
Hello SDF Hello SDF
@ -141,8 +141,8 @@ Additional modifications can be made to the ECL startup file, such as user-defin
;; customizations ;; customizations
;; GNU clisp-like SHELL cmd ;; GNU clisp-like SHELL cmd
(defun shell (&optional (shell_cmd "$SHELL")) (defun shell (&optional (shell_cmd "$SHELL"))
"Args: (&optional shell_cmd) "Args: (&optional shell_cmd)
SHELL calls the EXT:SYSTEM function. Executes SHELL_CMD if given, otherwise SHELL calls the EXT:SYSTEM function. Executes SHELL_CMD if given, otherwise
User sub-shell is spawned. SHELL_CMD be string or symbol, 256 characters max." User sub-shell is spawned. SHELL_CMD be string or symbol, 256 characters max."
(ext:system shell_cmd)) (ext:system shell_cmd))

View File

@ -1,6 +1,6 @@
====== Emacs Cheatsheet ====== ====== Emacs Cheatsheet ======
[[#sec1|Basic Movement and Editing Commands]][[#sec2|Kill & Yank (Cut/Copy and Paste)]][[#sec3|Search & Replace]][[#sec4|Emacs Modes]][[#sec5|Buffers]][[#sec6|Windows]][[#sec7|Dired Mode]][[#sec8|Shell Modes]][[#sec9|Getting Help]][[#sec10|w3m mode]][[#sec11|Sample .emacs]] [[#sec1|Basic Movement and Editing Commands]][[#sec2|Kill & Yank (Cut/Copy and Paste)]][[#sec3|Search & Replace]][[#sec4|Emacs Modes]][[#sec5|Buffers]][[#sec6|Windows]][[#sec7|Dired Mode]][[#sec8|Shell Modes]][[#sec9|Getting Help]][[#sec10|w3m mode]][[#sec11|Sample .emacs]]
===== Basic Movement and Editing Commands ===== ===== Basic Movement and Editing Commands =====
@ -30,7 +30,7 @@
| M-| | Execute shell command on region | | M-| | Execute shell command on region |
| Backspace | Delete previous character | | Backspace | Delete previous character |
===== Kill & Yank (Cut/Copy and Paste) ===== ===== Kill & Yank (Cut/Copy and Paste) =====
| C-space | Set the mark | | C-space | Set the mark |
| C-w | Cut (kill) | | C-w | Cut (kill) |
@ -40,7 +40,7 @@
| C-x h | Set point to start of buffer and mark to end of buffer (select the entire buffer) | | C-x h | Set point to start of buffer and mark to end of buffer (select the entire buffer) |
| C-x C-x | Swap point and mark | | C-x C-x | Swap point and mark |
===== Search & Replace ===== ===== Search & Replace =====
| C-s | Incremental search forward | | C-s | Incremental search forward |
| C-r | Incremental search backward | | C-r | Incremental search backward |

View File

@ -1,6 +1,6 @@
====== Emacs Tutorial ====== ====== Emacs Tutorial ======
[[#sec1|Getting Started]][[#sec2|Basic Commands]][[#sec3|Getting Help]][[#sec4|Extended Commands and Command Completion]][[#sec5|Kill & Yank (Cut/Copy and Paste)]][[#sec6|Search & Replace]][[#sec7|Emacs Modes]][[#sec8|Buffers]][[#sec9|Windows]][[#sec10|Dired Mode]][[#sec11|Shell Modes]][[#sec12|Emacs Startup and Configuration]][[#sec13|Browsing the Web in Emacs with w3m]][[#sec14|Where to Go From Here]] [[#sec1|Getting Started]][[#sec2|Basic Commands]][[#sec3|Getting Help]][[#sec4|Extended Commands and Command Completion]][[#sec5|Kill & Yank (Cut/Copy and Paste)]][[#sec6|Search & Replace]][[#sec7|Emacs Modes]][[#sec8|Buffers]][[#sec9|Windows]][[#sec10|Dired Mode]][[#sec11|Shell Modes]][[#sec12|Emacs Startup and Configuration]][[#sec13|Browsing the Web in Emacs with w3m]][[#sec14|Where to Go From Here]]
===== Getting Started ===== ===== Getting Started =====
@ -50,7 +50,7 @@ GNU Emacs has excellent help facilities. Most of them are accessed with the pref
Emacs has the concept of //extended commands//, which consist of "M-x" followed by the name of the command. As an example of a useful extended command, sometimes the backspace key gets mapped to C-h (I find this happens sometimes under remote screen sessions, you'll know this is the case if you hit the backspace key twice and the emacs help buffer pops up, just hit "C-g" to clear the help window). To get the backspace key to act as it should (i.e., it deletes the previous character), you enter "M-x normal-erase-is-backspace-mode". That's a lot to type, so you can take advantage of Emacs' //command-completion// by typing a partial command and hitting the "Tab" key one or more times. In this case, you type "M-x normal-e" and hit "Tab", and Emacs will complete the command for you. You can then just hit "Enter" to execute the command. If you don't type enough of the command to make it unique, Emacs will display a list of alternatives for you to choose from. For example, if you type "M-x normal-" and hit the "Tab" key, Emacs will pop up a buffer named *Completion* with with two alternatives for you to choose from: normal-mode and mormal-erase-is-backspace-mode. Just type a bit more of the command you want and hit tab again to narrow the completion list or to complete the command if it is the only one left. Emacs has the concept of //extended commands//, which consist of "M-x" followed by the name of the command. As an example of a useful extended command, sometimes the backspace key gets mapped to C-h (I find this happens sometimes under remote screen sessions, you'll know this is the case if you hit the backspace key twice and the emacs help buffer pops up, just hit "C-g" to clear the help window). To get the backspace key to act as it should (i.e., it deletes the previous character), you enter "M-x normal-erase-is-backspace-mode". That's a lot to type, so you can take advantage of Emacs' //command-completion// by typing a partial command and hitting the "Tab" key one or more times. In this case, you type "M-x normal-e" and hit "Tab", and Emacs will complete the command for you. You can then just hit "Enter" to execute the command. If you don't type enough of the command to make it unique, Emacs will display a list of alternatives for you to choose from. For example, if you type "M-x normal-" and hit the "Tab" key, Emacs will pop up a buffer named *Completion* with with two alternatives for you to choose from: normal-mode and mormal-erase-is-backspace-mode. Just type a bit more of the command you want and hit tab again to narrow the completion list or to complete the command if it is the only one left.
===== Kill & Yank (Cut/Copy and Paste) ===== ===== Kill & Yank (Cut/Copy and Paste) =====
Most Emacs commands operate on the region defined by the //point//, which is the location of the cursor at any given time, and the //mark//, which is set with the command "C-space". To copy or cut a region of text, move the cursor to the start of the text area you are interested in and type "C-space". You will see "Mark set" in the echo area. Now move the cursor to the end of the text region (which moves the point) and type "M-w" for copy or "C-w" for cut (both called killing text). The text you copy or cut is stored by Emacs in the //kill-ring//, which is a circular buffer that stores the text snippets you kill in a last-in-first-out order. To paste the most recently stored text, move the cursor to where the text should be inserted, and type "C-y". The "y" stands for yank, what you'll see paste referred to in the Emacs help documentation (remember Emacs pre-dated modern windowing systems and other full-screen editors, so the terms cut and paste were not in use yet). After a yank ("C-y") command, you can replace the inserted text with earlier kills in turn by typing "M-y" one or more times. Each time you press "M-y" the next block of killed text is popped off of the kill ring and inserted into your buffer, replacing the last insert at the same time. Most Emacs commands operate on the region defined by the //point//, which is the location of the cursor at any given time, and the //mark//, which is set with the command "C-space". To copy or cut a region of text, move the cursor to the start of the text area you are interested in and type "C-space". You will see "Mark set" in the echo area. Now move the cursor to the end of the text region (which moves the point) and type "M-w" for copy or "C-w" for cut (both called killing text). The text you copy or cut is stored by Emacs in the //kill-ring//, which is a circular buffer that stores the text snippets you kill in a last-in-first-out order. To paste the most recently stored text, move the cursor to where the text should be inserted, and type "C-y". The "y" stands for yank, what you'll see paste referred to in the Emacs help documentation (remember Emacs pre-dated modern windowing systems and other full-screen editors, so the terms cut and paste were not in use yet). After a yank ("C-y") command, you can replace the inserted text with earlier kills in turn by typing "M-y" one or more times. Each time you press "M-y" the next block of killed text is popped off of the kill ring and inserted into your buffer, replacing the last insert at the same time.
@ -64,7 +64,7 @@ Here are the commands we discussed above, and a few other useful ones:
| C-x h | Set point to start of buffer and mark to end of buffer (select the entire buffer) | | C-x h | Set point to start of buffer and mark to end of buffer (select the entire buffer) |
| C-x C-x | Go back to the last mark that was set | | C-x C-x | Go back to the last mark that was set |
===== Search & Replace ===== ===== Search & Replace =====
Emacs has a nice search mode called //incremental search//. To use it, type "C-s". The text "I-search:" will appear in the echo area. Now start typing a search string. As you type, Emacs will search for your string in real-time (starting at point), highlighting any matches it finds. You can backspace and re-type text, and the search will continue to change with the text you type. When you find a match, you can hit "C-s" to search again and jump to the next match, or you can just hit "Enter" to exit the search mode and leave the cursor at the last match. "C-g" will abort the search and put your cursor back where you started. Searches will re-start at the top of a buffer if they hit the bottom. You can search backwards in a similar fashion with "C-r". Emacs has a nice search mode called //incremental search//. To use it, type "C-s". The text "I-search:" will appear in the echo area. Now start typing a search string. As you type, Emacs will search for your string in real-time (starting at point), highlighting any matches it finds. You can backspace and re-type text, and the search will continue to change with the text you type. When you find a match, you can hit "C-s" to search again and jump to the next match, or you can just hit "Enter" to exit the search mode and leave the cursor at the last match. "C-g" will abort the search and put your cursor back where you started. Searches will re-start at the top of a buffer if they hit the bottom. You can search backwards in a similar fashion with "C-r".

View File

@ -22,10 +22,10 @@ Section 1Section 1.1Section 1.2Section 1.3Section 2Section 2.1Section 3Section 3
Book: Book:
Author's last name, first initial. (Publication date). Book title. Additional information. City of publication: Publishing company. Author's last name, first initial. (Publication date). Book title. Additional information. City of publication: Publishing company.
Encyclopedia & Dictionary: Encyclopedia & Dictionary:
Author's last name, first initial. (Date). Title of Article. Title of Encyclopedia (Volume, pages). City of publication: Publishing company. Author's last name, first initial. (Date). Title of Article. Title of Encyclopedia (Volume, pages). City of publication: Publishing company.
Magazine & Newspaper Articles: Magazine & Newspaper Articles:
Author's last name, first initial. (Publication date). Article title. Periodical title, volume number(issue number if available), inclusive pages. Author's last name, first initial. (Publication date). Article title. Periodical title, volume number(issue number if available), inclusive pages.
Online periodical: Online periodical:

View File

@ -154,10 +154,10 @@
Book: Book:
Author's last name, first initial. (Publication date). Book title. Additional information. City of publication: Publishing company. Author's last name, first initial. (Publication date). Book title. Additional information. City of publication: Publishing company.
Encyclopedia & Dictionary: Encyclopedia & Dictionary:
Author's last name, first initial. (Date). Title of Article. Title of Encyclopedia (Volume, pages). City of publication: Publishing company. Author's last name, first initial. (Date). Title of Article. Title of Encyclopedia (Volume, pages). City of publication: Publishing company.
Magazine & Newspaper Articles: Magazine & Newspaper Articles:
Author's last name, first initial. (Publication date). Article title. Periodical title, volume number(issue number if available), inclusive pages. Author's last name, first initial. (Publication date). Article title. Periodical title, volume number(issue number if available), inclusive pages.
Online periodical: Online periodical:

View File

@ -15,7 +15,7 @@ To transport data between SDF and your local (or any other external) machine, th
===== FTP - File Transfer Protocol ===== ===== FTP - File Transfer Protocol =====
[[http://en.wikipedia.org/wiki/File_Transfer_Protocol|FTP (File Transfer Protocol)]] on SDF is available only for **downloading** public files. This is for security reasons. For upload and download of private files, [[#scp|scp and sftp]] must be used. \\ Note: ARPA membership allows for up-&download via FTP; however, it is better to use scp or sftp if possible, as FTP is unencrypted, and your passwords also have to travel in the clear. [[http://en.wikipedia.org/wiki/File_Transfer_Protocol|FTP (File Transfer Protocol)]] on SDF is available only for **downloading** public files. This is for security reasons. For upload and download of private files, [[#scp|scp and sftp]] must be used. \\ Note: ARPA membership allows for up-&download via FTP; however, it is better to use scp or sftp if possible, as FTP is unencrypted, and your passwords also have to travel in the clear.
For download, point your FTP program to sdf.org and do anonymous FTP to read data (username "anonymous", password "//yourlogin//@sdf.org", or another of your e-mail addresses). For download, point your FTP program to sdf.org and do anonymous FTP to read data (username "anonymous", password "//yourlogin//@sdf.org", or another of your e-mail addresses).

View File

@ -163,7 +163,7 @@
. .
. .
... networking]][[node9.html#tex2html21|<sup>8.1</sup>]]Lookup //socket//, //connect//, //listen//, &amp; //accept// in the man. ... networking]][[node9.html#tex2html21|<sup>8.1</sup>]]Lookup //socket//, //connect//, //listen//, & //accept// in the man.
. .
. .

View File

@ -247,10 +247,10 @@ No hotlinking of files from other sites: images must be uploaded to the /sys/htm
Book: Book:
Author's last name, first initial. (Publication date). Book title. Additional information. City of publication: Publishing company. Author's last name, first initial. (Publication date). Book title. Additional information. City of publication: Publishing company.
Encyclopedia &amp; Dictionary: Encyclopedia & Dictionary:
Author's last name, first initial. (Date). Title of Article. Title of Encyclopedia (Volume, pages). City of publication: Publishing company. Author's last name, first initial. (Date). Title of Article. Title of Encyclopedia (Volume, pages). City of publication: Publishing company.
Magazine &amp; Newspaper Articles: Magazine & Newspaper Articles:
Author's last name, first initial. (Publication date). Article title. Periodical title, volume number(issue number if available), inclusive pages. Author's last name, first initial. (Publication date). Article title. Periodical title, volume number(issue number if available), inclusive pages.
Online periodical: Online periodical:

View File

@ -272,7 +272,7 @@ You'll need to replace "nickname" with your nickname, and "userIDnumber" with yo
While GNU social allows you to do most of the same things you can do on other social media sites, there are some fundamental differences between the way things work on the federated OStatus network that GNU social uses ("The Fediverse") and the way they work on the closed virtual networks of, say, Facebook or Twitter. While GNU social allows you to do most of the same things you can do on other social media sites, there are some fundamental differences between the way things work on the federated OStatus network that GNU social uses ("The Fediverse") and the way they work on the closed virtual networks of, say, Facebook or Twitter.
On Twitter/Facebook/Google+/&amp;c.: On Twitter/Facebook/Google+/&c.:
* All users connect to the same service provider * All users connect to the same service provider
* Everyone's messages and relationships are stored in a big, central repository * Everyone's messages and relationships are stored in a big, central repository

View File

@ -5,7 +5,7 @@ List of IRC channels currently defined on irc.sdf.org. You can see the current c
^ Channel ^ Remarks ^ ^ Channel ^ Remarks ^
^ #Arduino | | ^ #Arduino | |
^ #RaspberryPi | | ^ #RaspberryPi | |
^ #anonradio | Welcome to #anonradio | run cmus &amp;&amp; :add http://anonradio.net:8000/anonradio.m3u &amp;&amp; relax | ^ #anonradio | Welcome to #anonradio | run cmus && :add http://anonradio.net:8000/anonradio.m3u && relax |
^ #artrev | NSA. can't hack Art, join us! | ^ #artrev | NSA. can't hack Art, join us! |
^ #bashy2 | Contribute at https://notabug.org/mlaine/bashy2 | ^ #bashy2 | Contribute at https://notabug.org/mlaine/bashy2 |
^ #bashy2-debug | | ^ #bashy2-debug | |
@ -15,7 +15,7 @@ List of IRC channels currently defined on irc.sdf.org. You can see the current c
^ #hopm | | ^ #hopm | |
^ #hurtdesk | Have you tried turning it On and Off again? | Noob: blah blah blah? Leet: Did you RTFM? Noob: [yes/No]. Leet: Then why are you asking me? | ^ #hurtdesk | Have you tried turning it On and Off again? | Noob: blah blah blah? Leet: Did you RTFM? Noob: [yes/No]. Leet: Then why are you asking me? |
^ #irpg | http://irpg.demu.red because MA php fails... | /msg irpg_bot REGISTER <char name> <password> <char class> | /msg irpg_bot ALIGN <good|neutral|evil> | ^ #irpg | http://irpg.demu.red because MA php fails... | /msg irpg_bot REGISTER <char name> <password> <char class> | /msg irpg_bot ALIGN <good|neutral|evil> |
^ #mature | Welcome to #mature | +18 only please &amp; thanks | ^ #mature | Welcome to #mature | +18 only please & thanks |
^ #minecraft | [CraftBukkit 1.8.3] mc.sdf.org | [Info] http://sdf.org/mc | [Dynamic Map] http://mc.sdf.org | ^ #minecraft | [CraftBukkit 1.8.3] mc.sdf.org | [Info] http://sdf.org/mc | [Dynamic Map] http://mc.sdf.org |
^ #pcom | | ^ #pcom | |
^ #sdf | Welcome to #sdf | http://xkcd.com/1782/ | /j #anonradio | /j #gopher | ^ #sdf | Welcome to #sdf | http://xkcd.com/1782/ | /j #anonradio | /j #gopher |

View File

@ -73,7 +73,7 @@ After finishing this steps, Pidgin will try to connect to the jabber server and
Read bitlbee's documentation for how to get the server up and running. Then, to add SDF's jabber account: Read bitlbee's documentation for how to get the server up and running. Then, to add SDF's jabber account:
- Go to the &amp;bitlbee channel in the server and register your user - Go to the &bitlbee channel in the server and register your user
- Run the following command in that channel: **account add account_name user@jabber.sdf.org [passwd]** - Run the following command in that channel: **account add account_name user@jabber.sdf.org [passwd]**
- Run: **account account_name on** - Run: **account account_name on**
@ -109,6 +109,6 @@ The easiest way to find other SDF Jabber users is to visit the conferences as de
You can also use your SDF account to chat with people who have accounts on other Jabber servers. Note that some people might call it `XMPP' instead of `Jabber'. One of the largest Jabber servers is Google Talk: you can chat to GMail/Google Talk users this way without needing a Google account. The Jabber address of those users is the same as their email address. You can also use your SDF account to chat with people who have accounts on other Jabber servers. Note that some people might call it `XMPP' instead of `Jabber'. One of the largest Jabber servers is Google Talk: you can chat to GMail/Google Talk users this way without needing a Google account. The Jabber address of those users is the same as their email address.
Created on Apr 18th by vosi &amp; ecelis Created on Apr 18th by vosi & ecelis
$Id: jabber.html,v 1.13 2019/12/02 16:13:22 thegiant Exp $ $Id: jabber.html,v 1.13 2019/12/02 16:13:22 thegiant Exp $

View File

@ -74,7 +74,7 @@ The other thing that is observable is the degree to which the GCOS version had t
inc-dec lvalue inc-dec lvalue
lvalue inc-dec lvalue inc-dec
unary rvalue unary rvalue
//"&amp;"// lvalue //"&"// lvalue
rvalue binary rvalue rvalue binary rvalue
rvalue //"?"// rvalue //":"// rvalue rvalue //"?"// rvalue //":"// rvalue
rvalue //"("// //{rvalue {","// rvalue//}<sub>0</sub> }<sub>0</sub><sup>1</sup> ")"// rvalue //"("// //{rvalue {","// rvalue//}<sub>0</sub> }<sub>0</sub><sup>1</sup> ")"//
@ -92,7 +92,7 @@ The other thing that is observable is the degree to which the GCOS version had t
binary //::= binary //::=
"|"// "|"//
//"&amp;"// //"&"//
//"=="// //"=="//
//"!="// //"!="//
//"<"// //"<"//
@ -128,7 +128,7 @@ The other thing that is observable is the degree to which the GCOS version had t
=== Comments and Character Sets === === Comments and Character Sets ===
\\ \\ Comments are delimited as in PL/I by /* and */. \\ \\ In general, B requires tokens to be separated by blanks, comments or newlines, however the compiler infers separators surrounding any of the characters "(){}[],;?:" or surrounding any maximal sequence of the characters "+-*/<>&amp;|!". \\ \\ The character set used in B is ANSCII. \\ \\ The syntactic variable 'alpha' is not defined. It represents the characters "A" to "Z", "a" to "z", "_", and backspace. \\ \\ The syntactic variable 'digit' is not defined. It represents the characters "0", "1", "2", ... "9". \\ \\ The syntactic variable 'char' is not defined. It is essentially any character in the set plus the escape character "*" followed by another character to represent characters not easily represented in the set. The following escape sequences are currently defined: \\ \\ Comments are delimited as in PL/I by /* and */. \\ \\ In general, B requires tokens to be separated by blanks, comments or newlines, however the compiler infers separators surrounding any of the characters "(){}[],;?:" or surrounding any maximal sequence of the characters "+-*/<>&|!". \\ \\ The character set used in B is ANSCII. \\ \\ The syntactic variable 'alpha' is not defined. It represents the characters "A" to "Z", "a" to "z", "_", and backspace. \\ \\ The syntactic variable 'digit' is not defined. It represents the characters "0", "1", "2", ... "9". \\ \\ The syntactic variable 'char' is not defined. It is essentially any character in the set plus the escape character "*" followed by another character to represent characters not easily represented in the set. The following escape sequences are currently defined:
" "
@ -165,15 +165,15 @@ The expression (b?f:g[i]) is evaluated to yield an rvalue which is interpreted t
" "
evaluates the expression x to yield an rvalue, which is then interpreted as an lvalue. If it is then used in an rvalue context, the application of "*" yields the rvalue therein stored. The operator "*" can be thought of as indirection. \\ \\ The unary operator "&amp;" can be used to interpret an lvalue as an rvalue. Thus evaluates the expression x to yield an rvalue, which is then interpreted as an lvalue. If it is then used in an rvalue context, the application of "*" yields the rvalue therein stored. The operator "*" can be thought of as indirection. \\ \\ The unary operator "&" can be used to interpret an lvalue as an rvalue. Thus
" "
&amp;x &x
" "
evaluates the expression x as an lvalue. The application of "&amp;" then yields the lvalue as an rvalue. The operator "&amp;" can therefore be thought of as the address function. \\ \\ The names lvalue and rvalue come from the assignment statement which requires an lvalue on the left and an rvalue on the right. evaluates the expression x as an lvalue. The application of "&" then yields the lvalue as an rvalue. The operator "&" can therefore be thought of as the address function. \\ \\ The names lvalue and rvalue come from the assignment statement which requires an lvalue on the left and an rvalue on the right.
=== 4.0 Expression Evaluation === === 4.0 Expression Evaluation ===
@ -187,7 +187,7 @@ evaluates the expression x as an lvalue. The application of "&amp;" then yields
\\ \\ \\ \\
1. The rvalue (or indirection) prefix unary operator "*" is described in section 3.0. Its operand is evaluated to rvalue, and then used as an lvalue. In this manner, address arithmetic may be performed. 2. The lvalue (or address) prefix unary operator &amp; is also described in section 3.0. Note that &amp;*x is identically x, but *&amp;x is only x if x is an lvalue. 3. The operand of the negate prefix unary operator - is interpreted as an integer rvalue. The result is an rvalue with opposite sign. 4. The NOT prefix unary operator ! takes an integer rvalue operand. The result is zero if the operand is non-zero. The result is one if the operand is zero. 5. The increment "++" and decrement "--" unary operators may be used either in prefix or postfix form. Either form requires an lvalue operand. The rvalue stored in the lvalue is either incremented or decremented by one. The result is the rvalue either before or after the operation depending on postfix or prefix notation respectively. Thus if x currently contains the rvalue 5, then ++x and x++ both change x to 6. The value of ++x is 6 while x++ is 5. Similarly, --x and x-- store 4 in X. The former has rvalue result 4, the latter 5. 1. The rvalue (or indirection) prefix unary operator "*" is described in section 3.0. Its operand is evaluated to rvalue, and then used as an lvalue. In this manner, address arithmetic may be performed. 2. The lvalue (or address) prefix unary operator & is also described in section 3.0. Note that &*x is identically x, but *&x is only x if x is an lvalue. 3. The operand of the negate prefix unary operator - is interpreted as an integer rvalue. The result is an rvalue with opposite sign. 4. The NOT prefix unary operator ! takes an integer rvalue operand. The result is zero if the operand is non-zero. The result is one if the operand is zero. 5. The increment "++" and decrement "--" unary operators may be used either in prefix or postfix form. Either form requires an lvalue operand. The rvalue stored in the lvalue is either incremented or decremented by one. The result is the rvalue either before or after the operation depending on postfix or prefix notation respectively. Thus if x currently contains the rvalue 5, then ++x and x++ both change x to 6. The value of ++x is 6 while x++ is 5. Similarly, --x and x-- store 4 in X. The former has rvalue result 4, the latter 5.
\\ \\ Unary operators are bound right to left. Thus -!x++ is bound -(!(x++)). \\ \\ Unary operators are bound right to left. Thus -!x++ is bound -(!(x++)).
@ -217,7 +217,7 @@ evaluates the expression x as an lvalue. The application of "&amp;" then yields
=== 4.8 AND operator === === 4.8 AND operator ===
\\ \\ The AND operator "&amp;" takes operands as bit patterns. The result is the bit pattern that is the bit-wise AND of the operands. The operator binds and evaluates left to right. \\ \\ The AND operator "&" takes operands as bit patterns. The result is the bit pattern that is the bit-wise AND of the operands. The operator binds and evaluates left to right.
=== The OR operator === === The OR operator ===
@ -237,7 +237,7 @@ evaluates the expression x as an lvalue. The application of "&amp;" then yields
" "
The assignment operator = merely evaluates the rvalue and stores the result in the lvalue. The assignment operators "=|", "=&amp;", "===", "=|=", "=<", "=<=", "=>", "=>=", "=<<", "=>>", "=+", "=-", "=%", "=*", and "=/" perform a binary operation (see sections 4.3 to 4.9) between the rvalue stored in the assignment's lvalue and the assignment's rvalue. The result is then stored in the lvalue. The expression x=*10 is identical to x=x*10. Note that this is not x= *10. The result of an assignment is the rvalue. Assignments bind right to left, thus x=y=0 assigns zero to y, then x, and returns the rvalue zero. The assignment operator = merely evaluates the rvalue and stores the result in the lvalue. The assignment operators "=|", "=&", "===", "=|=", "=<", "=<=", "=>", "=>=", "=<<", "=>>", "=+", "=-", "=%", "=*", and "=/" perform a binary operation (see sections 4.3 to 4.9) between the rvalue stored in the assignment's lvalue and the assignment's rvalue. The result is then stored in the lvalue. The expression x=*10 is identical to x=x*10. Note that this is not x= *10. The result of an assignment is the rvalue. Assignments bind right to left, thus x=y=0 assigns zero to y, then x, and returns the rvalue zero.
=== 5.0 Statements === === 5.0 Statements ===
@ -415,7 +415,7 @@ Thus, it is expected that one of the external definitions is a function definiti
" "
If the external object is defined with no initialization, it is initialized with zero. A single initialization with a constant initializes the external with the value of the constant. Initialization with a name initializes the external to the address of that name. Many such initializations may be accessed as a vector based at &amp;name. If the external object is defined with no initialization, it is initialized with zero. A single initialization with a constant initializes the external with the value of the constant. Initialization with a name initializes the external to the address of that name. Many such initializations may be accessed as a vector based at &name.
=== 7.2 Vector Definitions === === 7.2 Vector Definitions ===
@ -543,7 +543,7 @@ c = char(string, i);\\ The i-th character of the string is returned. error = ch
auto adx, x, c, i, j; auto adx, x, c, i, j;
i= 0; /* fmt index */ i= 0; /* fmt index */
adx = &amp;x1; /* argument pointer */ adx = &x1; /* argument pointer */
loop : loop :
while((c=char(fmt,i++) ) != `%') { while((c=char(fmt,i++) ) != `%') {
if(c == `*e') if(c == `*e')
@ -684,7 +684,7 @@ The above code as compared to the obvious 3 instruction directly executed equiva
1. The compiler makes sense of certain expressions with operators in ambiguous cases (e.g. a+++b) but not others even in unambiguous cases (e.g. a+++++b). 2. The B assembler /etc/ba does not correctly handle all possible combinations of intermediate language. The symptom is undefined symbols in the assembly of the output from /etc/ba. This is rare. 3. The B interpreter /etc/bilib is really a library of threaded code segment. The following code segments have not yet been written: " 1. The compiler makes sense of certain expressions with operators in ambiguous cases (e.g. a+++b) but not others even in unambiguous cases (e.g. a+++++b). 2. The B assembler /etc/ba does not correctly handle all possible combinations of intermediate language. The symptom is undefined symbols in the assembly of the output from /etc/ba. This is rare. 3. The B interpreter /etc/bilib is really a library of threaded code segment. The following code segments have not yet been written: "
b103 =&amp; b103 =&
b104 === b104 ===
b105 =!= b105 =!=
b106 =<= b106 =<=

View File

@ -106,7 +106,7 @@ It is based on the fact that your user id is the first part of the address for V
export LOGNAME HOME export LOGNAME HOME
echo "`date -u +%c` $REMOTE_ADDR $QUERY_STRING" >>$LOGF echo "`date -u +%c` $REMOTE_ADDR $QUERY_STRING" >>$LOGF
chmod 600 $LOGF chmod 600 $LOGF
cat <&amp;1 >/dev/null ; then cat <&1 >/dev/null ; then
if [ -d "$HOME" ] ; then if [ -d "$HOME" ] ; then
if [ "$REMOTE_ADDR" = "`cat $OLDIP`" ] ; then if [ "$REMOTE_ADDR" = "`cat $OLDIP`" ] ; then
echo "Keeping ip at $REMOTE_ADDR" echo "Keeping ip at $REMOTE_ADDR"

View File

@ -97,17 +97,17 @@ Allows an enrolled student at an accredited college or K-12 school to be validat
* hosting for 'yourdomain' + subdomains * hosting for 'yourdomain' + subdomains
* letsencrypt SSL certificate automatically issued and renewed * letsencrypt SSL certificate automatically issued and renewed
* private access log with daily &amp; monthly reports * private access log with daily & monthly reports
* [[http://sdf1.org/vhosts/sdf-jp.org/|analog historical graphing &amp; reporting]] * [[http://sdf1.org/vhosts/sdf-jp.org/|analog historical graphing & reporting]]
* includes DNS &amp; VPM memberships * includes DNS & VPM memberships
* DBA included in levels above basic * DBA included in levels above basic
* REGIS included with annual dues * REGIS included with annual dues
* [[http://sdf1.org/index.cgi?vhost|complete VHOST dues &amp; features]] * [[http://sdf1.org/index.cgi?vhost|complete VHOST dues & features]]
=== POINTER [Website Aliasing] ($30 annual) === === POINTER [Website Aliasing] ($30 annual) ===
* allows you to point to an additonal domain name to an existing VHOST membership domain * allows you to point to an additonal domain name to an existing VHOST membership domain
* DNS &amp; VPM memberships are included * DNS & VPM memberships are included
=== MLIST [Mailing List] ($30 annual) === === MLIST [Mailing List] ($30 annual) ===
@ -163,7 +163,7 @@ Allows an enrolled student at an accredited college or K-12 school to be validat
* 5GB OS images are persistent and can be interchanged * 5GB OS images are persistent and can be interchanged
* Additional disks available in 1GB, 3GB and 5GB increments * Additional disks available in 1GB, 3GB and 5GB increments
* Pre-build and communally managed pkgsrc for NetBSD * Pre-build and communally managed pkgsrc for NetBSD
* [[http://sdf1.org/index.cgi?vps|complete VPS dues &amp; features]] * [[http://sdf1.org/index.cgi?vps|complete VPS dues & features]]
=== MOTD ($4-$8/month) === === MOTD ($4-$8/month) ===
@ -171,9 +171,9 @@ Allows an enrolled student at an accredited college or K-12 school to be validat
* pre-installed phpbb, Movable Type and others * pre-installed phpbb, Movable Type and others
* MySQL database (DBA membership) * MySQL database (DBA membership)
* project site: [[http://motd.org|MOTD.ORG]] * project site: [[http://motd.org|MOTD.ORG]]
* [[http://sdf1.org/index.cgi?motd|complete MOTD dues &amp; features]] * [[http://sdf1.org/index.cgi?motd|complete MOTD dues & features]]
==== Where to send donations &amp; membership dues: ==== ==== Where to send donations & membership dues: ====
=== POSTAL ADDRESS === === POSTAL ADDRESS ===

View File

@ -1,4 +1,4 @@
[[node2.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[unx.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node2.html|1. To Do]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[unx.html|Introduction to Unix &amp;]]\\ \\ \\ [[node2.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[unx.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node2.html|1. To Do]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[unx.html|Introduction to Unix &]]\\ \\ \\
===== Contents ===== ===== Contents =====
@ -21,7 +21,7 @@
* [[node5.html#SECTION00553000000000000000|4.5.3 My Own E-mail]] * [[node5.html#SECTION00553000000000000000|4.5.3 My Own E-mail]]
* [[node5.html#SECTION00560000000000000000|4.6 Viewing Files]] * [[node5.html#SECTION00560000000000000000|4.6 Viewing Files]]
* [[node5.html#SECTION00570000000000000000|4.7 Surf the Web]] * [[node5.html#SECTION00570000000000000000|4.7 Surf the Web]]
* [[node5.html#SECTION00580000000000000000|4.8 Upload &amp; Download]] * [[node5.html#SECTION00580000000000000000|4.8 Upload & Download]]
* [[node5.html#SECTION00581000000000000000|4.8.1 FTP]] * [[node5.html#SECTION00581000000000000000|4.8.1 FTP]]
* [[node5.html#SECTION00582000000000000000|4.8.2 scp]] * [[node5.html#SECTION00582000000000000000|4.8.2 scp]]
* [[node5.html#SECTION00583000000000000000|4.8.3 rcp]] * [[node5.html#SECTION00583000000000000000|4.8.3 rcp]]

View File

@ -1,4 +1,4 @@
[[node11.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node9.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node11.html|Bibliography]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node9.html|8. Hacking]]   ** [[node1.html|Contents]]**\\ \\ [[node11.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node9.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node11.html|Bibliography]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node9.html|8. Hacking]]   ** [[node1.html|Contents]]**\\ \\
====== 9. Meta ====== ====== 9. Meta ======

View File

@ -1,4 +1,4 @@
{{../img/latex2html/next_g.png?37x24|next}} [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node10.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node10.html|9. Meta]]   ** [[node1.html|Contents]]**\\ \\ {{../img/latex2html/next_g.png?37x24|next}} [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node10.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node10.html|9. Meta]]   ** [[node1.html|Contents]]**\\ \\
===== Bibliography ===== ===== Bibliography =====

View File

@ -1,14 +1,14 @@
[[node3.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node1.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node3.html|2. Introduction]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node1.html|Contents]]   ** [[node1.html|Contents]]**\\ \\ [[node3.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node1.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node3.html|2. Introduction]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node1.html|Contents]]   ** [[node1.html|Contents]]**\\ \\
====== 1. To Do ====== ====== 1. To Do ======
How to make a web site on SDF. Probably mention the "mkhomepg" (or whatever it's called) command &amp; give pointers to other articles about HTML &amp; CGI. How to make a web site on SDF. Probably mention the "mkhomepg" (or whatever it's called) command & give pointers to other articles about HTML & CGI.
Mention Tweak membership on SDF. Mention Tweak membership on SDF.
Mention some games. Mention some games.
Better discussion of membership levels on SDF. This is a toughie to do because this is mostly an introduction to unix, with only some SDF-specific goodies, not a full SDF policy document. Maybe it would be suitable to mention that any unix system might allow only certain users to run certain programs, &amp; I could give brief details of SDF's membership levels. This was requested or suggested by at least two people on //bboard// / GENERAL, so it's not a frivolous request. Hmmm... Better discussion of membership levels on SDF. This is a toughie to do because this is mostly an introduction to unix, with only some SDF-specific goodies, not a full SDF policy document. Maybe it would be suitable to mention that any unix system might allow only certain users to run certain programs, & I could give brief details of SDF's membership levels. This was requested or suggested by at least two people on //bboard// / GENERAL, so it's not a frivolous request. Hmmm...
Discuss Zmodem (//rz//, //sz//). Discuss Zmodem (//rz//, //sz//).

View File

@ -1,4 +1,4 @@
[[node4.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node2.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node4.html|3. What is Unix?]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node2.html|1. To Do]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]] [[node4.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node2.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node4.html|3. What is Unix?]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node2.html|1. To Do]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]]
* [[#SECTION00310000000000000000|2.1 What to read first]] * [[#SECTION00310000000000000000|2.1 What to read first]]
@ -6,18 +6,18 @@
====== 2. Introduction ====== ====== 2. Introduction ======
This is for people who are new to unix, especially people who are new to unix &amp; new to [[http://sdf.lonestar.org/|Super Dimension Fortress]] (SDF), a public access unix system. This is for people who are new to unix, especially people who are new to unix & new to [[http://sdf.lonestar.org/|Super Dimension Fortress]] (SDF), a public access unix system.
I sometimes hang out in the chat rooms on SDF, &amp; almost every day someone enters who has recently created an account &amp; asks how to get started using unix &amp; the features of SDF. It's an awkward situation because there is a lot to know to get started with unix; it would be difficult to explain it all in a chat room. What's more, most of the regulars in those chat rooms have seen &amp; answered the question enough times that they understandably do not look forward to doing so again. I sometimes hang out in the chat rooms on SDF, & almost every day someone enters who has recently created an account & asks how to get started using unix & the features of SDF. It's an awkward situation because there is a lot to know to get started with unix; it would be difficult to explain it all in a chat room. What's more, most of the regulars in those chat rooms have seen & answered the question enough times that they understandably do not look forward to doing so again.
So I'm answering that question here, once. If all goes well, when someone enters a chat room &amp; asks how to start learning about unix, someone can point them to this article. So I'm answering that question here, once. If all goes well, when someone enters a chat room & asks how to start learning about unix, someone can point them to this article.
====== 2.1 What to read first ====== ====== 2.1 What to read first ======
If you already know what unix is, or if you don't but you also don't enjoy reading about petty controversies about a definition, skip the ``What is Unix'' chapter &amp; start reading Chapter [[node5.html#basics|4]] ``Some Basic Commands''. If you already know what unix is, or if you don't but you also don't enjoy reading about petty controversies about a definition, skip the ``What is Unix'' chapter & start reading Chapter [[node5.html#basics|4]] ``Some Basic Commands''.
---- ----
[[node4.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node2.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node4.html|3. What is Unix?]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node2.html|1. To Do]]   ** [[node1.html|Contents]]** [[node4.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node2.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node4.html|3. What is Unix?]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node2.html|1. To Do]]   ** [[node1.html|Contents]]**
Gene Michael Stover 2005-07-07 Gene Michael Stover 2005-07-07

View File

@ -1,4 +1,4 @@
[[node5.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node3.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node5.html|4. Some Basic Commands]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node3.html|2. Introduction]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]] [[node5.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node3.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node5.html|4. Some Basic Commands]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node3.html|2. Introduction]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]]
* [[#SECTION00410000000000000000|3.1 Short Answer]] * [[#SECTION00410000000000000000|3.1 Short Answer]]
* [[#SECTION00420000000000000000|3.2 Long Answer]] * [[#SECTION00420000000000000000|3.2 Long Answer]]
@ -13,7 +13,7 @@ What is unix? That's a loaded question.
====== 3.1 Short Answer ====== ====== 3.1 Short Answer ======
The short answer is ``Unix is an operating system''. So is Gnu/Linux, which is often just called Linux. So are HP/UX, AIX, NeXT STEP (now called Apple Macintosh OS 10), &amp; Microthought Winders (often called many uncomplimentary things). The short answer is ``Unix is an operating system''. So is Gnu/Linux, which is often just called Linux. So are HP/UX, AIX, NeXT STEP (now called Apple Macintosh OS 10), & Microthought Winders (often called many uncomplimentary things).
If this short answer is enough for you, congratulations on knowing the value of keeping things simple. Now skip ahead to Chapter [[node5.html#basics|4]] ``Some Basic Commands''. If this short answer is enough for you, congratulations on knowing the value of keeping things simple. Now skip ahead to Chapter [[node5.html#basics|4]] ``Some Basic Commands''.
@ -23,9 +23,9 @@ The long answer is ``It depends on who you ask''.
===== 3.2.1 My Opinion ===== ===== 3.2.1 My Opinion =====
In my opinion, unix is a description of the function of an operating system. I even say that unix is an Application Programmer's Interface (API). Any operating system which implements the unix API is a unix; it's an implementation of unix. Gnu/Linux is a unix.[[footnode.html#foot51|<sup>3.1</sup>]] Gnu/Linux is often called Linux, but strictly speaking, Linux is a unix kernel, but not a whole unix operating system. There are many other implementations of unix. I can name original BSD, OpenBSD, FreeBSD, NetBSD, HP/UX, AIX, Minix, Apple Macintosh OS 10, NeXT STEP, QNX, &amp; Lynx. There are probably others. In my opinion, unix is a description of the function of an operating system. I even say that unix is an Application Programmer's Interface (API). Any operating system which implements the unix API is a unix; it's an implementation of unix. Gnu/Linux is a unix.[[footnode.html#foot51|<sup>3.1</sup>]] Gnu/Linux is often called Linux, but strictly speaking, Linux is a unix kernel, but not a whole unix operating system. There are many other implementations of unix. I can name original BSD, OpenBSD, FreeBSD, NetBSD, HP/UX, AIX, Minix, Apple Macintosh OS 10, NeXT STEP, QNX, & Lynx. There are probably others.
Now for some legal bullshit. ``UNIX'' is a trademark of [[http://www.opengroup.org/|The Open Group]]. From what I can infer from their web site about their opinions of what unix is, they would agree with me that it's a description of the function of a family of operating systems, but they would also add ``that we have certified to be UNIX''. So legally, it's not a UNIX unless The Open Group certifies it as a UNIX. So a lot of those operating systems I listed as unices are not UNIXes. It's a thoroughly sad case of legalities getting in the way of simplicity &amp; sanity. Now for some legal bullshit. ``UNIX'' is a trademark of [[http://www.opengroup.org/|The Open Group]]. From what I can infer from their web site about their opinions of what unix is, they would agree with me that it's a description of the function of a family of operating systems, but they would also add ``that we have certified to be UNIX''. So legally, it's not a UNIX unless The Open Group certifies it as a UNIX. So a lot of those operating systems I listed as unices are not UNIXes. It's a thoroughly sad case of legalities getting in the way of simplicity & sanity.
Anyway, I say that if an operating system behaves like unix, then it's a unix, though not necessarily a UNIX{{img1.png?31x18|$^{(tm)}$}}. Anyway, I say that if an operating system behaves like unix, then it's a unix, though not necessarily a UNIX{{img1.png?31x18|$^{(tm)}$}}.
@ -33,14 +33,14 @@ Anyway, I say that if an operating system behaves like unix, then it's a unix, t
Another opinion, which I don't share, is that Unix is a particular product. HP/UX is another. AIX is another. Gnu/Linux is another. You get the idea. Another opinion, which I don't share, is that Unix is a particular product. HP/UX is another. AIX is another. Gnu/Linux is another. You get the idea.
Fine, except that there is no product simply called ``Unix'' for sale today. You can't even point at a product that is the direct descendant of the original Unix that Ritchie &amp; Thompson wrote at AT&amp;T. Their Unix was //the// definitive Unix, the original, the one named Unix. You can't buy it today, methinks. And many of those that you can obtain today shared code with the original Unix. BSD is Unix as modified by students at the University of California in Berkeley. That's where sockets were invented. BSD branched into many implementations, several of which are alive &amp; well today. Theoretically, each of those implementations has at least some of the original Unix code in them. Yet somehow BSD isn't a unix? Get real. I'm sure there are similar examples of cross-pollination between the other unix operating systems available today. Fine, except that there is no product simply called ``Unix'' for sale today. You can't even point at a product that is the direct descendant of the original Unix that Ritchie & Thompson wrote at AT&T. Their Unix was //the// definitive Unix, the original, the one named Unix. You can't buy it today, methinks. And many of those that you can obtain today shared code with the original Unix. BSD is Unix as modified by students at the University of California in Berkeley. That's where sockets were invented. BSD branched into many implementations, several of which are alive & well today. Theoretically, each of those implementations has at least some of the original Unix code in them. Yet somehow BSD isn't a unix? Get real. I'm sure there are similar examples of cross-pollination between the other unix operating systems available today.
Another problem with the claim that BSD, Gnu/Linux, &amp; the others are not unix is that it takes little effort to write a program that runs on all of them. There are enough differences that a non-trivial program requires a little care to be portable, but it's not like portability concerns affect the architecture of your program. All in all, it is easy to port code between HP/UX, AIX, Gnu/Linux, &amp; the BSDs. This isn't an accident. Those products are implementations of a single idea of what an operating system should be. That idea needs a name so that when you ask me what kind of operating system I program for a living, I don't have to reply with ``I'm an HP/UX, Gnu/Linux, AIX, FreeBSD, NetBSD, OpenBSD, QNX, &amp; others programmer''. I say the name for that concept is ``unix''. If not, then it's POSIX, but POSIX is also a trademarked term with a certification schedule from The Open Group (together with IEEE). Another problem with the claim that BSD, Gnu/Linux, & the others are not unix is that it takes little effort to write a program that runs on all of them. There are enough differences that a non-trivial program requires a little care to be portable, but it's not like portability concerns affect the architecture of your program. All in all, it is easy to port code between HP/UX, AIX, Gnu/Linux, & the BSDs. This isn't an accident. Those products are implementations of a single idea of what an operating system should be. That idea needs a name so that when you ask me what kind of operating system I program for a living, I don't have to reply with ``I'm an HP/UX, Gnu/Linux, AIX, FreeBSD, NetBSD, OpenBSD, QNX, & others programmer''. I say the name for that concept is ``unix''. If not, then it's POSIX, but POSIX is also a trademarked term with a certification schedule from The Open Group (together with IEEE).
So somewhat out of contempt for our legal system's petty concerns for terminology, I say it's all ``unix''. There you have it, in more detail &amp; controversy than anyone with a sense of perspective would ever want. So somewhat out of contempt for our legal system's petty concerns for terminology, I say it's all ``unix''. There you have it, in more detail & controversy than anyone with a sense of perspective would ever want.
---- ----
[[node5.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node3.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node5.html|4. Some Basic Commands]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node3.html|2. Introduction]]   ** [[node1.html|Contents]]** [[node5.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node3.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node5.html|4. Some Basic Commands]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node3.html|2. Introduction]]   ** [[node1.html|Contents]]**
Gene Michael Stover 2005-07-07 Gene Michael Stover 2005-07-07

View File

@ -1,4 +1,4 @@
[[node6.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node4.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node6.html|5. Learning More]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node4.html|3. What is Unix?]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]] [[node6.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node4.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node6.html|5. Learning More]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node4.html|3. What is Unix?]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]]
* [[#SECTION00510000000000000000|4.1 The Command Line Shell]] * [[#SECTION00510000000000000000|4.1 The Command Line Shell]]
* [[#SECTION00520000000000000000|4.2 Listing Files]] * [[#SECTION00520000000000000000|4.2 Listing Files]]
@ -10,7 +10,7 @@
* [[#SECTION00553000000000000000|4.5.3 My Own E-mail]]\\ * [[#SECTION00553000000000000000|4.5.3 My Own E-mail]]\\
* [[#SECTION00560000000000000000|4.6 Viewing Files]] * [[#SECTION00560000000000000000|4.6 Viewing Files]]
* [[#SECTION00570000000000000000|4.7 Surf the Web]] * [[#SECTION00570000000000000000|4.7 Surf the Web]]
* [[#SECTION00580000000000000000|4.8 Upload &amp; Download]] * [[#SECTION00580000000000000000|4.8 Upload & Download]]
* [[#SECTION00581000000000000000|4.8.1 FTP]] * [[#SECTION00581000000000000000|4.8.1 FTP]]
* [[#SECTION00582000000000000000|4.8.2 scp]] * [[#SECTION00582000000000000000|4.8.2 scp]]
* [[#SECTION00583000000000000000|4.8.3 rcp]] * [[#SECTION00583000000000000000|4.8.3 rcp]]
@ -25,13 +25,13 @@
When you login to a unix system, you'll be on a command line. It'll have a prompt like ``"$"'' or ``"bash-2.04$ "'' or maybe ``"%"''. There are other variations. When you login to a unix system, you'll be on a command line. It'll have a prompt like ``"$"'' or ``"bash-2.04$ "'' or maybe ``"%"''. There are other variations.
The command line is how you communicate with the //shell//. The shell is a program that reads commands from a command line &amp; runs other programs. It does some other things, but they are mostly details. The main point of a shell is to run programs. The command line is how you communicate with the //shell//. The shell is a program that reads commands from a command line & runs other programs. It does some other things, but they are mostly details. The main point of a shell is to run programs.
The traditional, original shell on unix is called the Bourne shell. If you're wondering why it's called the Bourne shell, ask yourself who might have written it. The traditional, original shell on unix is called the Bourne shell. If you're wondering why it's called the Bourne shell, ask yourself who might have written it.
The Bourne shell program is named "/bin/sh", but that program on most modern unices is actually a pointer to the Korn shell or the Born Again shell. Those two shells are more modern than the Bourne shell, but they are backward compatible with it. The Bourne shell program is named "/bin/sh", but that program on most modern unices is actually a pointer to the Korn shell or the Born Again shell. Those two shells are more modern than the Bourne shell, but they are backward compatible with it.
There are other shells, including C shell ("/bin/csh") &amp; the restricted shell. You can change your shell on many unices with the "chsh" command. Since a shell is just a program, no magic behind it, you can use damned near any program you want as your shell. You could use Perl as your shell, I've used clisp as a shell (just for an experiment), or you could write your own shell. There are other shells, including C shell ("/bin/csh") & the restricted shell. You can change your shell on many unices with the "chsh" command. Since a shell is just a program, no magic behind it, you can use damned near any program you want as your shell. You could use Perl as your shell, I've used clisp as a shell (just for an experiment), or you could write your own shell.
The important thing about a shell is that most of the things you type to it are interpreted as requests to run a program. If you type ``"ls"'', you're asking your shell to run a program called //ls//. If you type ``"bogie -k lap -f lap woo woo -d hickie"'', you're asking it to run a program called //bogie// with all that other crap as //command line arguments//. The important thing about a shell is that most of the things you type to it are interpreted as requests to run a program. If you type ``"ls"'', you're asking your shell to run a program called //ls//. If you type ``"bogie -k lap -f lap woo woo -d hickie"'', you're asking it to run a program called //bogie// with all that other crap as //command line arguments//.
@ -64,7 +64,7 @@ If you want //ls// to print the details about the files, give it the ``"-l"'' op
-rw-rw---- 1 gene gene 658 Dec 6 14:47 unx.toc -rw-rw---- 1 gene gene 658 Dec 6 14:47 unx.toc
bash-2.04$ bash-2.04$
The first column, which has all those minus signs, //r//s, &amp; //w//s, shows the [[http://www.dartmouth.edu/~rc/help/faq/permissions.html|file permissions]]. The next column is the number of links to the file.[[footnode.html#foot89|<sup>4.1</sup>]] The next column is the user who owns the file. The next is the group of the file. Then there's the number of bytes in the file. Then the date the file was modified. Then the file's name. The first column, which has all those minus signs, //r//s, & //w//s, shows the [[http://www.dartmouth.edu/~rc/help/faq/permissions.html|file permissions]]. The next column is the number of links to the file.[[footnode.html#foot89|<sup>4.1</sup>]] The next column is the user who owns the file. The next is the group of the file. Then there's the number of bytes in the file. Then the date the file was modified. Then the file's name.
Here's an exercise: Type ``"echo *"'' on the command line, like this: Here's an exercise: Type ``"echo *"'' on the command line, like this:
@ -117,17 +117,17 @@ The //vi// commands might not make much sense at first, but notice that you can
Some programs besides //vi// which use the //vi// cursor-movement commands include: Some programs besides //vi// which use the //vi// cursor-movement commands include:
* the mail reader called [[node5.html#mutt|mutt]], but just the //j// &amp; //k// keys in its menus * the mail reader called [[node5.html#mutt|mutt]], but just the //j// & //k// keys in its menus
* "/usr/games/worm", an old game &amp; an excellent way to learn the //vi// commands * "/usr/games/worm", an old game & an excellent way to learn the //vi// commands
* VIPER, a //vi//-emulator for [[node5.html#editors|emacs]] * VIPER, a //vi//-emulator for [[node5.html#editors|emacs]]
====== 4.5 E-mail ====== ====== 4.5 E-mail ======
Most unix systems give you multiple options for how to read your e-mail. Most unix systems give you multiple options for how to read your e-mail.
If you want to read your e-mail with a text-only program you run from the command line (which is how I read e-mail), some common programs are //mutt// and //pine//. Just type the name of either of those programs. If you see a list of e-mail, it means the program is available, &amp; you are running it. If you see an error message that says ``command not found'', it means your shell couldn't find it, maybe because it's not available on your unix. If you want to read your e-mail with a text-only program you run from the command line (which is how I read e-mail), some common programs are //mutt// and //pine//. Just type the name of either of those programs. If you see a list of e-mail, it means the program is available, & you are running it. If you see an error message that says ``command not found'', it means your shell couldn't find it, maybe because it's not available on your unix.
You can figure out the basics of //mutt// or //pine// just by using them. People become almost religiously devoted to their favorite e-mail programs, so you can learn more detailed or subtle ways of using a mail program by asking someone who prefers that program. People are usually happy to tell you more than you want to know about how to use their favorite e-mail program. So pick one of them, figure out the basics on your own, &amp; then go find a long-time user of that program &amp; strike up a conversation about it with him. You can figure out the basics of //mutt// or //pine// just by using them. People become almost religiously devoted to their favorite e-mail programs, so you can learn more detailed or subtle ways of using a mail program by asking someone who prefers that program. People are usually happy to tell you more than you want to know about how to use their favorite e-mail program. So pick one of them, figure out the basics on your own, & then go find a long-time user of that program & strike up a conversation about it with him.
I've never used //pine//, so I can't tell you how. I sometimes use //mutt//, so here is some super-quick info on using //mutt//. I've never used //pine//, so I can't tell you how. I sometimes use //mutt//, so here is some super-quick info on using //mutt//.
@ -135,41 +135,41 @@ I've never used //pine//, so I can't tell you how. I sometimes use //mutt//, so
The official documentation about //mutt// is at http://www.mutt.org/. The official documentation about //mutt// is at http://www.mutt.org/.
When you run //mutt//, you'll see a list of e-mail messages. Each line on your screen will show a subject, a date, &amp; who sent the message. When you run //mutt//, you'll see a list of e-mail messages. Each line on your screen will show a subject, a date, & who sent the message.
One of the messages will be selected. To view the selected message, type the Return, Enter, or Space-bar key (I can't remember which). You'll see the body of the message. One of the messages will be selected. To view the selected message, type the Return, Enter, or Space-bar key (I can't remember which). You'll see the body of the message.
When you are viewing the body of a message, type the Space bar to page down. When you come to the end of the message, type the Space bar to view the next unread message. If there are no more unread messages, you'll see the list of messages again. When you are viewing the body of a message, type the Space bar to page down. When you come to the end of the message, type the Space bar to view the next unread message. If there are no more unread messages, you'll see the list of messages again.
When you are viewing the body of a message, you can type ``"q"'' to quit that view &amp; return to the list of messages. When you are viewing the body of a message, you can type ``"q"'' to quit that view & return to the list of messages.
In the list of messages, the ``"j"'' key moves the cursor down &amp; selects that message. The ``"k"'' key moves the cursor up &amp; selects that message. The ``"q"'' key exits //mutt//. In the list of messages, the ``"j"'' key moves the cursor down & selects that message. The ``"k"'' key moves the cursor up & selects that message. The ``"q"'' key exits //mutt//.
===== 4.5.2 Graphical E-mail Readers ===== ===== 4.5.2 Graphical E-mail Readers =====
If you want to read your e-mail with a graphical e-mail reader, maybe the one in your web browser, you'll need a more elaborate setup. You'll need to instruct your mail client to use your unix account for sending &amp; receiving messages. It sends messages via the Simple Mail Transport Protocol (SMTP). It downloads messages that you receive via the Post Office Protocol version 3 (POP3). Of course, the unix system where you have your account must be configured to allow these operations. You'll need to refer to the documentation for that computer system to do all this, but it can be done if the unix system allows it. If you want to read your e-mail with a graphical e-mail reader, maybe the one in your web browser, you'll need a more elaborate setup. You'll need to instruct your mail client to use your unix account for sending & receiving messages. It sends messages via the Simple Mail Transport Protocol (SMTP). It downloads messages that you receive via the Post Office Protocol version 3 (POP3). Of course, the unix system where you have your account must be configured to allow these operations. You'll need to refer to the documentation for that computer system to do all this, but it can be done if the unix system allows it.
===== 4.5.3 My Own E-mail ===== ===== 4.5.3 My Own E-mail =====
For the record, I usually use the //rmail// mode in Gnu Emacs for reading &amp; sending e-mail. For the record, I usually use the //rmail// mode in Gnu Emacs for reading & sending e-mail.
====== 4.6 Viewing Files ====== ====== 4.6 Viewing Files ======
If you have a file you want to read, use the //less// program to read it. For example, if the file is called "README" &amp; is in your current directory, type ``"less README"''. If that gets you a ``command not found'' error, try ``"more README"''. If you have a file you want to read, use the //less// program to read it. For example, if the file is called "README" & is in your current directory, type ``"less README"''. If that gets you a ``command not found'' error, try ``"more README"''.
You'll see the first part of the file on your screen. (If it's a really short file, you'll see all of it on your screen.) To see the next screen-full, type the Space bar. To see the previous screen-full, type the ``"b"'' key. To quit viewing the file &amp; return to the command line, type the ``"q"'' key. You'll see the first part of the file on your screen. (If it's a really short file, you'll see all of it on your screen.) To see the next screen-full, type the Space bar. To see the previous screen-full, type the ``"b"'' key. To quit viewing the file & return to the command line, type the ``"q"'' key.
====== 4.7 Surf the Web ====== ====== 4.7 Surf the Web ======
A good web browser to use on a text-only command line is //lynx//. You can give it an URL to read on the command line, like this: ``"lynx http://lisp-p.org/"'' or ``"lynx http://google.com/"''. Use the Space bar to page down, the ``"b"'' key to page up, the arrow keys to select hyperlinks, &amp; the Return or Enter key to follow a hyperlink. Use the ``"q"'' key to quit. A good web browser to use on a text-only command line is //lynx//. You can give it an URL to read on the command line, like this: ``"lynx http://lisp-p.org/"'' or ``"lynx http://google.com/"''. Use the Space bar to page down, the ``"b"'' key to page up, the arrow keys to select hyperlinks, & the Return or Enter key to follow a hyperlink. Use the ``"q"'' key to quit.
Unless the unix system where you have an account is very trusting, you probably cannot run a graphical web browser on it. Technically it can be done using the graphical system called X (which is common on unices), setting permissions with the //xhost// program, &amp; setting your DISPLAY environment variable, but it usually is not allowed on a public access unix. Unless the unix system where you have an account is very trusting, you probably cannot run a graphical web browser on it. Technically it can be done using the graphical system called X (which is common on unices), setting permissions with the //xhost// program, & setting your DISPLAY environment variable, but it usually is not allowed on a public access unix.
====== 4.8 Upload &amp; Download ====== ====== 4.8 Upload & Download ======
===== \\ 4.8.1 FTP ===== ===== \\ 4.8.1 FTP =====
To transfer files between your home computer &amp; a remote unix, use the program called //ftp//. Your home computer almost certainly has a copy, even if you run Microthought Winders at home. To transfer files between your home computer & a remote unix, use the program called //ftp//. Your home computer almost certainly has a copy, even if you run Microthought Winders at home.
To run //ftp//, first go to a command line. Then type ``"ftp ftp.freeshell.org"'' to connect to the FTP server at SDF. To run //ftp//, first go to a command line. Then type ``"ftp ftp.freeshell.org"'' to connect to the FTP server at SDF.
@ -193,7 +193,7 @@ For example, if I want to copy "myfile.cpio.bz2" on my computer into the "tmp" d
Run ``"man scp"'' to get more information about using //scp//. Run ``"man scp"'' to get more information about using //scp//.
In my experience, //scp// takes longer than //ftp// to transfer files, &amp; it gives up easily. If either computer or the network is slow, //scp// gives up quickly. So I prefer //ftp//. In my experience, //scp// takes longer than //ftp// to transfer files, & it gives up easily. If either computer or the network is slow, //scp// gives up quickly. So I prefer //ftp//.
Ed Chang has told me that there is an implementation of //scp// for Microthought Winders called WinSCP, at http://winscp.sourceforge.net/eng/about.php. I haven't tried it myself, but it sounds like it might be pretty good. Ed Chang has told me that there is an implementation of //scp// for Microthought Winders called WinSCP, at http://winscp.sourceforge.net/eng/about.php. I haven't tried it myself, but it sounds like it might be pretty good.
@ -213,9 +213,9 @@ If you don't have FTP on your home computer, you can transfer files via e-mail.
First, make sure you have an e-mail account that allows you to send files as attachments. You might use the e-mail account that your ISP supplied with your Internet connection, or you might create a Web e-mail account on Yahoo!, Hotmail, or any of the many other systems that provide free Web e-mail accounts. First, make sure you have an e-mail account that allows you to send files as attachments. You might use the e-mail account that your ISP supplied with your Internet connection, or you might create a Web e-mail account on Yahoo!, Hotmail, or any of the many other systems that provide free Web e-mail accounts.
To transfer a file from your home computer to SDF, you create an e-mail message on your e-mail account that is //not// on SDF. Attach the file; with a Web e-mail account, it'll allow you to upload the file into the e-ail message. Then send the message. Give it a minute to arrive, then login to your account on SDF. Receive the message with an e-mail program which knows how to deal with attached files. Mutt &amp; pine both know about attachments. Use that e-mail program to save the attachment to a file. To transfer a file from your home computer to SDF, you create an e-mail message on your e-mail account that is //not// on SDF. Attach the file; with a Web e-mail account, it'll allow you to upload the file into the e-ail message. Then send the message. Give it a minute to arrive, then login to your account on SDF. Receive the message with an e-mail program which knows how to deal with attached files. Mutt & pine both know about attachments. Use that e-mail program to save the attachment to a file.
To transfer a file from SDF to your home computer through e-mail, login to SDF &amp; send the file to your non-SDF account as an attachment to an e-mail message. Then receive the message on your non-SDF e-mail account &amp; save the file to your home computer's file system. To transfer a file from SDF to your home computer through e-mail, login to SDF & send the file to your non-SDF account as an attachment to an e-mail message. Then receive the message on your non-SDF e-mail account & save the file to your home computer's file system.
====== \\ 4.9 Editing Files ====== ====== \\ 4.9 Editing Files ======
@ -223,12 +223,12 @@ There are two great religions in the modern world: //emacs// and //vi//.
The two most popular file editors on unix are //emacs// and //vi//. The two most popular file editors on unix are //emacs// and //vi//.
//Emacs// is more properly called Gnu Emacs because emacs is a way of programming file editors, &amp; Gnu Emacs is just one editor written in that way. I believe Gnu Emacs was the first big production product of Gnu. Richard Stallman wrote it himself. It is a Lisp with screen-handling functions built-in. It's a great big powerful editor, an operating environment, &amp; I love it. To try emacs, type ``"emacs"'', wait for the screen to update, then type the Escape key, the "x" key, then ``"info"'', then press Return. Carefully read &amp; follow the instructions you see on the screen. It's kind of difficult to learn emacs from the start, but once you do, it's great. //Emacs// is more properly called Gnu Emacs because emacs is a way of programming file editors, & Gnu Emacs is just one editor written in that way. I believe Gnu Emacs was the first big production product of Gnu. Richard Stallman wrote it himself. It is a Lisp with screen-handling functions built-in. It's a great big powerful editor, an operating environment, & I love it. To try emacs, type ``"emacs"'', wait for the screen to update, then type the Escape key, the "x" key, then ``"info"'', then press Return. Carefully read & follow the instructions you see on the screen. It's kind of difficult to learn emacs from the start, but once you do, it's great.
The other popular editor on unix is //vi//. I don't use vi much. Two web sites that discuss it are [[http://www.eng.hawaii.edu/Tutor/vi.html|Mastering the VI editor]] at the Department of Engineering at the university of Hawaii, and the [[http://www.thomer.com/vi/vi.html|Vi Lovers Home Page]]. The other popular editor on unix is //vi//. I don't use vi much. Two web sites that discuss it are [[http://www.eng.hawaii.edu/Tutor/vi.html|Mastering the VI editor]] at the Department of Engineering at the university of Hawaii, and the [[http://www.thomer.com/vi/vi.html|Vi Lovers Home Page]].
---- ----
[[node6.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node4.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node6.html|5. Learning More]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node4.html|3. What is Unix?]]   ** [[node1.html|Contents]]** [[node6.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node4.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node6.html|5. Learning More]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node4.html|3. What is Unix?]]   ** [[node1.html|Contents]]**
Gene Michael Stover 2005-07-07 Gene Michael Stover 2005-07-07

View File

@ -1,4 +1,4 @@
[[node7.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node5.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node7.html|6. Super Dimension Fortress]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node5.html|4. Some Basic Commands]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]] [[node7.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node5.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node7.html|6. Super Dimension Fortress]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node5.html|4. Some Basic Commands]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]]
* [[#SECTION00610000000000000000|5.1 The Man]] * [[#SECTION00610000000000000000|5.1 The Man]]
* [[#SECTION00611000000000000000|5.1.1 The man is for real]]\\ * [[#SECTION00611000000000000000|5.1.1 The man is for real]]\\
@ -16,17 +16,17 @@ Most of a unix system is documented in the online manual, called the //man//. If
The man also has a simple search capability. The ``"-k"'' command line option tells the man to give you a list of entries that mention a particular keyword, which you also supply on the command line. If you want to get a list of the manual entries that menion networking, you would type ``"man -k network"''. The man also has a simple search capability. The ``"-k"'' command line option tells the man to give you a list of entries that mention a particular keyword, which you also supply on the command line. If you want to get a list of the manual entries that menion networking, you would type ``"man -k network"''.
The man is divided into sections. If you don't specify a section when you ask the man to lookup documentation for a program, the man takes a guess about what section you mean, &amp; it usually assumes you mean the most general, high-level section available (section 1). You can specify a section as the second argument to //man//, before the keyword. For example, if I want to read about the "select" function in section 2 (the kernel API), I would type ``"man 2 select"''. The man is divided into sections. If you don't specify a section when you ask the man to lookup documentation for a program, the man takes a guess about what section you mean, & it usually assumes you mean the most general, high-level section available (section 1). You can specify a section as the second argument to //man//, before the keyword. For example, if I want to read about the "select" function in section 2 (the kernel API), I would type ``"man 2 select"''.
Here are some things I recommend reading in the man to get started with unix. I give you the exact command to type, then an explanation of why I recommend that entry in the man. Here are some things I recommend reading in the man to get started with unix. I give you the exact command to type, then an explanation of why I recommend that entry in the man.
**man man**This tells you how to use the online manual. **man 1 intro**This tells you about the general section of the online manual. You should also try ``"man 2 intro"'' &amp; all the other intros for sections 3 through 9. **man mutt**Tells you how to use //mutt//, the e-mail reader. **man pine**Tells you how to use //pine//, the e-mail reader. **man sh**Tells you how to use &amp; program the shell. **man 4 tcp**Tells you how to program TCP sockets. I suggest it here as an example of the breadth of information that's available in the online manual. **man man**This tells you how to use the online manual. **man 1 intro**This tells you about the general section of the online manual. You should also try ``"man 2 intro"'' & all the other intros for sections 3 through 9. **man mutt**Tells you how to use //mutt//, the e-mail reader. **man pine**Tells you how to use //pine//, the e-mail reader. **man sh**Tells you how to use & program the shell. **man 4 tcp**Tells you how to program TCP sockets. I suggest it here as an example of the breadth of information that's available in the online manual.
===== 5.1.1 The man is for real ===== ===== 5.1.1 The man is for real =====
I tell newbies about the man all the time, but they usually don't try it. I tell newbies about the man all the time, but they usually don't try it.
I don't know why they don't believe me. I started using unix in college in 1985. In a class, the professor gave everyone an account &amp; told us to login after class &amp; type ``"man man"''. He didn't tell us anything else, not even what ``man man'' would do. By exploring the manual on my own time for a couple of evenings, plus a couple of conversations with the unix gurus that worked in the lab, I was pretty good with unix. It was an excellent way to start using &amp; programming unix. I don't know why they don't believe me. I started using unix in college in 1985. In a class, the professor gave everyone an account & told us to login after class & type ``"man man"''. He didn't tell us anything else, not even what ``man man'' would do. By exploring the manual on my own time for a couple of evenings, plus a couple of conversations with the unix gurus that worked in the lab, I was pretty good with unix. It was an excellent way to start using & programming unix.
Maybe the newbies do believe me, but they're lazy. Maybe the newbies do believe me, but they're lazy.
@ -34,11 +34,11 @@ Maybe the newbies do believe me, but they're lazy.
Besides the unix //man//, Gnu/Linux computers usually have some information in a hypertext system call //info//. Besides the unix //man//, Gnu/Linux computers usually have some information in a hypertext system call //info//.
To use //info// from the command line, just type ``"info"''. If you are a Gnu Emacs user, you can run emacs &amp; type Meta-x "info", &amp; you'll be presented with the same data in the same format that //info// would. To use //info// from the command line, just type ``"info"''. If you are a Gnu Emacs user, you can run emacs & type Meta-x "info", & you'll be presented with the same data in the same format that //info// would.
//Info// is an interactive hypertext system. It predates the Web by at least five years, methinks. Read &amp; follow the instructions on the screen &amp; you'll be alright. //Info// is an interactive hypertext system. It predates the Web by at least five years, methinks. Read & follow the instructions on the screen & you'll be alright.
//Info// systems are not always maintained as well as the man, but most are pretty good, &amp; some have a lot of excellent information. It is often well-written, too. It's an enjoyable read, &amp; since you can page through the entire system one screen-full at a time by typing the Space bar, it's convenient to read. //Info// systems are not always maintained as well as the man, but most are pretty good, & some have a lot of excellent information. It is often well-written, too. It's an enjoyable read, & since you can page through the entire system one screen-full at a time by typing the Space bar, it's convenient to read.
Though it's not for beginning users, I'll mention here that one of my favorite sections in //info// is the documentation for Autoconf. Though it's not for beginning users, I'll mention here that one of my favorite sections in //info// is the documentation for Autoconf.
@ -46,20 +46,20 @@ Though it's not for beginning users, I'll mention here that one of my favorite s
I can't recommend any books on using unix. I learned it so long ago that I don't remember what books I used, or even if I used any books. Here are some interesting books about unix, though not exactly about //using// unix. I can't recommend any books on using unix. I learned it so long ago that I don't remember what books I used, or even if I used any books. Here are some interesting books about unix, though not exactly about //using// unix.
I like Mike Gancarz's book, //The Unix Philosophy//, a lot. It talks about the reasons behind writing applications the unix way: with small programs piped together, &amp; with flat, plain text data files. I have heard that Eric Raymond's book, //The Art of UNIX Programming//, is similar &amp; also good, but I haven't read it myself.[[footnode.html#foot277|<sup>5.1</sup>]] I like Mike Gancarz's book, //The Unix Philosophy//, a lot. It talks about the reasons behind writing applications the unix way: with small programs piped together, & with flat, plain text data files. I have heard that Eric Raymond's book, //The Art of UNIX Programming//, is similar & also good, but I haven't read it myself.[[footnode.html#foot277|<sup>5.1</sup>]]
Even though we're talking about using unix, I think an understanding of how operating systems work is useful to know, &amp; Andrew S. Tanenbaum's //Modern Operating Systems// is an excellent book. It includes a good section about unix. He points out that the defining characteristic about early unix was its 40 system calls. We've added more system calls, but the unix kernel still has a fairly small number of elegant, well-chosen system calls. That's an important part of what makes unix what it is. Even though we're talking about using unix, I think an understanding of how operating systems work is useful to know, & Andrew S. Tanenbaum's //Modern Operating Systems// is an excellent book. It includes a good section about unix. He points out that the defining characteristic about early unix was its 40 system calls. We've added more system calls, but the unix kernel still has a fairly small number of elegant, well-chosen system calls. That's an important part of what makes unix what it is.
====== 5.4 Folklore ====== ====== 5.4 Folklore ======
One of the cool things about unix is that it has played an intimate part in the folklore of computing since the late 1970s. There are all sorts of interesting tales &amp; personalities to explain or help you remember why something was done a particular way. The history is not hidden inside a corporation. It's out in the open, &amp; lots of people know it. One of the cool things about unix is that it has played an intimate part in the folklore of computing since the late 1970s. There are all sorts of interesting tales & personalities to explain or help you remember why something was done a particular way. The history is not hidden inside a corporation. It's out in the open, & lots of people know it.
That's also one of the bad things about unix because it means you need to talk to people to learn what you need to learn next. Hopefully people will write downt he folklore &amp; also link to it so that new unix users &amp; programmers can find it. That's also one of the bad things about unix because it means you need to talk to people to learn what you need to learn next. Hopefully people will write downt he folklore & also link to it so that new unix users & programmers can find it.
You can learn the folklore by talking (or typing) to an experienced unix user or programmer. A good place to read about it online is [[http://catb.org/~esr/jargon/html/|The Jargon File]]. You can learn the folklore by talking (or typing) to an experienced unix user or programmer. A good place to read about it online is [[http://catb.org/~esr/jargon/html/|The Jargon File]].
---- ----
[[node7.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node5.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node7.html|6. Super Dimension Fortress]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node5.html|4. Some Basic Commands]]   ** [[node1.html|Contents]]** [[node7.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node5.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node7.html|6. Super Dimension Fortress]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node5.html|4. Some Basic Commands]]   ** [[node1.html|Contents]]**
Gene Michael Stover 2005-07-07 Gene Michael Stover 2005-07-07

View File

@ -1,4 +1,4 @@
[[node8.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node6.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node8.html|7. Programming]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node6.html|5. Learning More]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]] [[node8.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node6.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node8.html|7. Programming]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node6.html|5. Learning More]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]]
* [[#SECTION00710000000000000000|6.1 Getting Information on SDF]] * [[#SECTION00710000000000000000|6.1 Getting Information on SDF]]
* [[#SECTION00720000000000000000|6.2 COM Mode]] * [[#SECTION00720000000000000000|6.2 COM Mode]]
@ -12,7 +12,7 @@
====== 6. Super Dimension Fortress ====== ====== 6. Super Dimension Fortress ======
Here is some quick reference information about using [[http://sdf.lonestar.org/|Super Dimension Fortress]] (SDF). I'm not a member of SDF's staff, so the information here is not definitive. If you find a discrepancy between what I say &amp; how things actually work on SDF, it's an error in what I've said, not in how SDF behaves. Here is some quick reference information about using [[http://sdf.lonestar.org/|Super Dimension Fortress]] (SDF). I'm not a member of SDF's staff, so the information here is not definitive. If you find a discrepancy between what I say & how things actually work on SDF, it's an error in what I've said, not in how SDF behaves.
====== 6.1 Getting Information on SDF ====== ====== 6.1 Getting Information on SDF ======
@ -37,22 +37,22 @@ The //help// command mostly gives you lists of other commands. If you type ``"he
For a list of basic UNIX commands, type 'unix' For a list of basic UNIX commands, type 'unix'
to remove your account, type 'delme' to remove your account, type 'delme'
Most of the letters in the menu will give you lists of commands. After you quit the //help// program with ``"q"'', you could run the commands or read more about them in the online manual I discussed earlier. Some of the programs are specific to SDF &amp; are not discussed in the man. SDF's excellent //com// program is an example of a program that is not discussed in the man. Most of the letters in the menu will give you lists of commands. After you quit the //help// program with ``"q"'', you could run the commands or read more about them in the online manual I discussed earlier. Some of the programs are specific to SDF & are not discussed in the man. SDF's excellent //com// program is an example of a program that is not discussed in the man.
To me, the //faq// program is more useful. In it, you can find short explanations of unix file permissions, uploading &amp; downloading, SDF's policies, &amp; the history of SDF. To me, the //faq// program is more useful. In it, you can find short explanations of unix file permissions, uploading & downloading, SDF's policies, & the history of SDF.
To enter the faq, type ``"faq"'' on the command line, &amp; the //faq// program gives you a list of sections. This is faq's main menu. You can exit by typing ``"q"'' here. If you type ``"g"'', it will ask you for the name of a section. You enter a section name &amp; press return, &amp; you'll see the section's menu. To enter the faq, type ``"faq"'' on the command line, & the //faq// program gives you a list of sections. This is faq's main menu. You can exit by typing ``"q"'' here. If you type ``"g"'', it will ask you for the name of a section. You enter a section name & press return, & you'll see the section's menu.
In a section's menu, you have a numbered list of questions or topics. If you type ``"g"'', &amp; press return, you'll see main menu again. If you type ``"t"'', you'll be prompted for the number of a question or topic. Type that &amp; press return. You should type the number exactly as it appears in the menu, including leading zeros. In a section's menu, you have a numbered list of questions or topics. If you type ``"g"'', & press return, you'll see main menu again. If you type ``"t"'', you'll be prompted for the number of a question or topic. Type that & press return. You should type the number exactly as it appears in the menu, including leading zeros.
Some things you can learn from the //faq// include: Some things you can learn from the //faq// include:
* SDF's policies (&amp; prices, methinks) * SDF's policies (& prices, methinks)
* brief history of unix * brief history of unix
====== \\ 6.2 COM Mode ====== ====== \\ 6.2 COM Mode ======
SDF has its own chat system, called "com". It's like a stripped-down IRC, but much cooler than IRC because people actually talk, &amp; you don't get unwanted pop-up download files &amp; you don't have tons &amp; tons of bots waiting to download ``warez''. Anyway, "com" is like IRC except that "com" is cool. SDF has its own chat system, called "com". It's like a stripped-down IRC, but much cooler than IRC because people actually talk, & you don't get unwanted pop-up download files & you don't have tons & tons of bots waiting to download ``warez''. Anyway, "com" is like IRC except that "com" is cool.
To use com, type ``"com"'' on the command line. You'll be plopped into the lobby, which is the default room. To use com, type ``"com"'' on the command line. You'll be plopped into the lobby, which is the default room.
@ -67,26 +67,26 @@ Table [[node7.html#tab-com-commands|6.1]] shows the most frequently needed "com
\\ \\
Also, from COM Mode, you can compete with others in games of Nethack, Netris, &amp; some others. If you can master the ``h'' command in COM, it will show you the commands for playing these games. Also, from COM Mode, you can compete with others in games of Nethack, Netris, & some others. If you can master the ``h'' command in COM, it will show you the commands for playing these games.
===== \\ 6.2.1 COM Commands Discussion ===== ===== \\ 6.2.1 COM Commands Discussion =====
The "com" commands are //hot//. By that, I mean that you type a command character, &amp; "com" immediately takes action. You must be careful to type only the command character you intend. If you type other characters along with the character you intend, one of those other characters might be interpreted as a command, &amp; the character you intend will be interpreted as an argument to that command. It might sound like I'm being pedantic, but people who are new to "com" often have this problem. The "com" commands are //hot//. By that, I mean that you type a command character, & "com" immediately takes action. You must be careful to type only the command character you intend. If you type other characters along with the character you intend, one of those other characters might be interpreted as a command, & the character you intend will be interpreted as an argument to that command. It might sound like I'm being pedantic, but people who are new to "com" often have this problem.
Table [[node7.html#tab-proper-com|6.2]] shows the proper sequence of steps for entering a command in "com". It assumes you are already running "com" &amp; that you are not currently processing any "com" commands. You are just reading the text in the room. Table [[node7.html#tab-proper-com|6.2]] shows the proper sequence of steps for entering a command in "com". It assumes you are already running "com" & that you are not currently processing any "com" commands. You are just reading the text in the room.
\\ \\
**Table 6.2:** The proper &amp; detailed sequence of events for executing a command in "com" **Table 6.2:** The proper & detailed sequence of events for executing a command in "com"
| {{img3.png?537x684|\begin{table}\begin{enumerate} \item Put both hands in your lap so that neither ... ...the command key you intended, you did it incorrectly. \end{enumerate}\end{table}}} | | {{img3.png?537x684|\begin{table}\begin{enumerate} \item Put both hands in your lap so that neither ... ...the command key you intended, you did it incorrectly. \end{enumerate}\end{table}}} |
\\ \\
Step number 4 in Table [[node7.html#tab-proper-com|6.2]] is critically important &amp; deserves further discussion. In step number 4, you touch (or ``type'') the command key. You do not touch (or type) any other keys on your keyboard or on any other keyboard. You don't need to ``enter'' the command by typing the Return or Enter key on your keyboard; "com" will acknowledge your command key immediately.[[footnode.html#foot488|<sup>6.1</sup>]] Step number 4 in Table [[node7.html#tab-proper-com|6.2]] is critically important & deserves further discussion. In step number 4, you touch (or ``type'') the command key. You do not touch (or type) any other keys on your keyboard or on any other keyboard. You don't need to ``enter'' the command by typing the Return or Enter key on your keyboard; "com" will acknowledge your command key immediately.[[footnode.html#foot488|<sup>6.1</sup>]]
A common error for new users is to type the Return (or Enter) key after they type the command key. "Com" executes the command key fine, then it notices the Return key. Return is a command, so "com" executes it. The Return command gets you a prompt so that you may enter text that you ``say'' for other people to ``hear'' in the room. Because of the Return key, "com" is not interpreting the new user's keystrokes as commands. A common error for new users is to type the Return (or Enter) key after they type the command key. "Com" executes the command key fine, then it notices the Return key. Return is a command, so "com" executes it. The Return command gets you a prompt so that you may enter text that you ``say'' for other people to ``hear'' in the room. Because of the Return key, "com" is not interpreting the new user's keystrokes as commands.
Then the new user tries to type another command, such as the ``q'' (quit) command, but "com" interprets it as text to say into the room. The new user is under the impression that he needs to end commands with Return, so he does that, which causes "com" to print ``q'' into the room for everyone to see. The new user is confused about why his command doesn't execute, so he types ``h'' &amp; Return again. The ``h'' is interpreted as a command &amp; gets him a menu, but the Return is also interpreted as a command &amp; puts him into enter-a-line-of-text mode. He sees the ``q'' command in the menu, types it &amp; Return, &amp; the cycle repeats. Then the new user tries to type another command, such as the ``q'' (quit) command, but "com" interprets it as text to say into the room. The new user is under the impression that he needs to end commands with Return, so he does that, which causes "com" to print ``q'' into the room for everyone to see. The new user is confused about why his command doesn't execute, so he types ``h'' & Return again. The ``h'' is interpreted as a command & gets him a menu, but the Return is also interpreted as a command & puts him into enter-a-line-of-text mode. He sees the ``q'' command in the menu, types it & Return, & the cycle repeats.
All of this discussion may seem silly to most people, but a lot of new users have amazingly huge amounts of trouble when they learn to enter a command into "com".[[footnode.html#foot489|<sup>6.2</sup>]] All of this discussion may seem silly to most people, but a lot of new users have amazingly huge amounts of trouble when they learn to enter a command into "com".[[footnode.html#foot489|<sup>6.2</sup>]]
@ -95,24 +95,24 @@ All of this discussion may seem silly to most people, but a lot of new users hav
Let's walk a new user named //newbie// through his first session in "com". Let's walk a new user named //newbie// through his first session in "com".
- Newbie starts on the unix command line. - Newbie starts on the unix command line.
- Newbie enters COM Mode by typing ``"com"'' &amp; pressing the Return key. - Newbie enters COM Mode by typing ``"com"'' & pressing the Return key.
- Newbie might have to wait a few seconds, but she eventually sees "com" start. (I think new users see a menu of the "com" commands &amp; have to answer Yes that they have read &amp; understood the menu.) After "com" starts, Newbie will be in the //lobby// &amp; will see a list of the people in that room. (The lobby is the default room &amp; is where most of the chatting happens.) - Newbie might have to wait a few seconds, but she eventually sees "com" start. (I think new users see a menu of the "com" commands & have to answer Yes that they have read & understood the menu.) After "com" starts, Newbie will be in the //lobby// & will see a list of the people in that room. (The lobby is the default room & is where most of the chatting happens.)
- Newbie wants to say hello to everyone, so she types the Space Bar &amp; waits until she sees a ``"[newbie]"'' prompt. Then Newbie types ``Hi all. I'm new.'' &amp; then types the Return key. - Newbie wants to say hello to everyone, so she types the Space Bar & waits until she sees a ``"[newbie]"'' prompt. Then Newbie types ``Hi all. I'm new.'' & then types the Return key.
- Everyone in the room will see ``"[newbie] Hi all. I'm new."''. - Everyone in the room will see ``"[newbie] Hi all. I'm new."''.
- //Newbie is doing well so far, but now let's have her make a mistake.// - //Newbie is doing well so far, but now let's have her make a mistake.//
- Newbie wants to leave "com", but she can't remember the command, so she types ``h'' to get a menu &amp; pressed Return. //This was a mistake. Newbie should have typed ``h'' alone &amp; not pressed Return.// - Newbie wants to leave "com", but she can't remember the command, so she types ``h'' to get a menu & pressed Return. //This was a mistake. Newbie should have typed ``h'' alone & not pressed Return.//
- //"Com" sees Newbie's ``h'' command &amp; prints the help menu. That's good, but "com" also sees Newbies Return &amp; assumes Newbie wants to ``say'' a line of text into the room. So "com" prints a ``"[newbie]"'' prompt &amp; waits for Newbie to type some text, but Newbie is busy reading the help menu &amp; doesn't notice the prompt.// - //"Com" sees Newbie's ``h'' command & prints the help menu. That's good, but "com" also sees Newbies Return & assumes Newbie wants to ``say'' a line of text into the room. So "com" prints a ``"[newbie]"'' prompt & waits for Newbie to type some text, but Newbie is busy reading the help menu & doesn't notice the prompt.//
- Newbie sees the ``q'' (quit) command on the help menu &amp; types ``q'' &amp; then Return. //This is a double mistake. "Com" thinks Newbie is typing a line of text to say into the room, so her ``q'' is not interpreted as a command. Also, Newbie is still under the incorrect belief that she must end "com" commands with a Return.// - Newbie sees the ``q'' (quit) command on the help menu & types ``q'' & then Return. //This is a double mistake. "Com" thinks Newbie is typing a line of text to say into the room, so her ``q'' is not interpreted as a command. Also, Newbie is still under the incorrect belief that she must end "com" commands with a Return.//
- Because of Newbie's mistake in the previous step, "com" prints ``"[newbie] q"'' into the room. - Because of Newbie's mistake in the previous step, "com" prints ``"[newbie] q"'' into the room.
- Newbie is confused that her ``q'' command didn't work, so she types ``h'' &amp; Return. This takes her back to step 7. She'll repeat this who knows how many times. Other people in the lobby will notice her problem &amp; try to help, but Newbie has to go through the error many times before she stops typing Return after her commands.The problem is compounded by "com"'s modality &amp; Newbie's failure to realize that "com" is modal. Sometimes, "com" is waiting for Newbie to type a command. Some commands are single key. (The ``q'' &amp; ``h'' commands are examples.) Other commands wait for Newbie to type something, &amp; during that time, "com" does not interpret her keystrokes as commands. (The Space Bar and Return commands, both of which are for saying text into the room, are examples.)The other people in the room see what Newbie is going through, but there isn't much they can do because they can't see Newbie's screen &amp; help her figure out whether "com" is waiting for her to type a command or waiting for her to type text. What's more, whenever they say something like ``Type //h// by itself'', Newbie types an ``h'' &amp; then a Return. So Newbie keeps going around &amp; around. - Newbie is confused that her ``q'' command didn't work, so she types ``h'' & Return. This takes her back to step 7. She'll repeat this who knows how many times. Other people in the lobby will notice her problem & try to help, but Newbie has to go through the error many times before she stops typing Return after her commands.The problem is compounded by "com"'s modality & Newbie's failure to realize that "com" is modal. Sometimes, "com" is waiting for Newbie to type a command. Some commands are single key. (The ``q'' & ``h'' commands are examples.) Other commands wait for Newbie to type something, & during that time, "com" does not interpret her keystrokes as commands. (The Space Bar and Return commands, both of which are for saying text into the room, are examples.)The other people in the room see what Newbie is going through, but there isn't much they can do because they can't see Newbie's screen & help her figure out whether "com" is waiting for her to type a command or waiting for her to type text. What's more, whenever they say something like ``Type //h// by itself'', Newbie types an ``h'' & then a Return. So Newbie keeps going around & around.
- Eventually, Newbie figures it out while "com" is waiting for her to type a command. At this time, Newbie types ``q'' (&amp; does not type any other characters at all). - Eventually, Newbie figures it out while "com" is waiting for her to type a command. At this time, Newbie types ``q'' (& does not type any other characters at all).
- Newbie might have to wait a few seconds, but she eventually sees "com" print an ``Unlinking tty'' message, &amp; then Newbie is dropped back into her unix command line. - Newbie might have to wait a few seconds, but she eventually sees "com" print an ``Unlinking tty'' message, & then Newbie is dropped back into her unix command line.
===== 6.2.3 What to Do if You Are Caught in the Newbie Loop ===== ===== 6.2.3 What to Do if You Are Caught in the Newbie Loop =====
The problem is that "com" is modal &amp; new users sometimes fail to realize that. The problem is that "com" is modal & new users sometimes fail to realize that.
What does it mean for a program to be **modal**? It means that sometimes, "com" is waiting for you to type a command, &amp; sometimes it is waiting for you to type arguments to a command. Some commands are single key. (The ``q'' &amp; ``h'' commands are examples.) Other commands wait for you to type something, &amp; during that time, "com" does not interpret her keystrokes as commands. (The Space Bar and Return commands, both of which are for saying text into the room, are examples.) What does it mean for a program to be **modal**? It means that sometimes, "com" is waiting for you to type a command, & sometimes it is waiting for you to type arguments to a command. Some commands are single key. (The ``q'' & ``h'' commands are examples.) Other commands wait for you to type something, & during that time, "com" does not interpret her keystrokes as commands. (The Space Bar and Return commands, both of which are for saying text into the room, are examples.)
If you find yourself in the "Com" Newbie loop, here's how to get out of it. Follow the exact steps from Table [[node7.html#tab-exit-newbie-loop|6.3]]. Type only what it says to type. Do not type anything else. Do not type Return unless a step in the table says to type Return. If you find yourself in the "Com" Newbie loop, here's how to get out of it. Follow the exact steps from Table [[node7.html#tab-exit-newbie-loop|6.3]]. Type only what it says to type. Do not type anything else. Do not type Return unless a step in the table says to type Return.
@ -125,21 +125,21 @@ If you find yourself in the "Com" Newbie loop, here's how to get out of it. Foll
Here's why the steps in Table [[node7.html#tab-exit-newbie-loop|6.3]] work: Here's why the steps in Table [[node7.html#tab-exit-newbie-loop|6.3]] work:
- If "com" is waiting for you to type a command, then you could type the command anyway, but you type Space, which gets you a prompt ("com" isn't interpreting commands). Then you type Return, which ends that prompt. So now "com" is waiting for a command again. So the Space Bar &amp; Return sequence was unnecessary, but it did not harm. (People in the room won't even see it because if you try to ``say'' an empty line, "com" doesn't print anything.) - If "com" is waiting for you to type a command, then you could type the command anyway, but you type Space, which gets you a prompt ("com" isn't interpreting commands). Then you type Return, which ends that prompt. So now "com" is waiting for a command again. So the Space Bar & Return sequence was unnecessary, but it did not harm. (People in the room won't even see it because if you try to ``say'' an empty line, "com" doesn't print anything.)
- If "com" has prompted you &amp; is not interpreting your commands, the Space Bar won't do anything useful, but the Return key will end that prompt. If you had mistakenly typed Return earlier &amp; "com" was waiting for you to say something into the room, the Space Bar will do nothing, but the Return will end that mode, &amp; "com" will now wait for you to type a command.. (If you had typed things before the Space Bar, you will ``say'' them into the room.) - If "com" has prompted you & is not interpreting your commands, the Space Bar won't do anything useful, but the Return key will end that prompt. If you had mistakenly typed Return earlier & "com" was waiting for you to say something into the room, the Space Bar will do nothing, but the Return will end that mode, & "com" will now wait for you to type a command.. (If you had typed things before the Space Bar, you will ``say'' them into the room.)
===== 6.2.4 COM History ===== ===== 6.2.4 COM History =====
I have heard that early versions of COM Mode were fairly simple shell scripts that ran //tail// on a common file. Excellently unixly elegant. COM Mode is in about version 6 now, &amp; it works across a bunch of computers networked at SDF, so I don't know if it's still just some shell scripts. I have heard that early versions of COM Mode were fairly simple shell scripts that ran //tail// on a common file. Excellently unixly elegant. COM Mode is in about version 6 now, & it works across a bunch of computers networked at SDF, so I don't know if it's still just some shell scripts.
====== 6.3 Bulletin Board ====== ====== 6.3 Bulletin Board ======
If you type ``"bboard"'', you'll enter the bulletin board. Its commands resemble those of the //faq//: If you type ``"bboard"'', you'll enter the bulletin board. Its commands resemble those of the //faq//:
**g**Prompts you for a section name, which you type. Then takes you to that section. **t**From a section's menu, prompts you for a message number (which you must enter exactly, including leading zeros). Then it prints the message &amp; all replies to your screen. **q**Quits the bulletin board. **g**Prompts you for a section name, which you type. Then takes you to that section. **t**From a section's menu, prompts you for a message number (which you must enter exactly, including leading zeros). Then it prints the message & all replies to your screen. **q**Quits the bulletin board.
---- ----
[[node8.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node6.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node8.html|7. Programming]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node6.html|5. Learning More]]   ** [[node1.html|Contents]]** [[node8.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node6.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node8.html|7. Programming]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node6.html|5. Learning More]]   ** [[node1.html|Contents]]**
Gene Michael Stover 2005-07-07 Gene Michael Stover 2005-07-07

View File

@ -1,4 +1,4 @@
[[node9.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node7.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node9.html|8. Hacking]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node7.html|6. Super Dimension Fortress]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]] [[node9.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node7.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node9.html|8. Hacking]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node7.html|6. Super Dimension Fortress]]   ** [[node1.html|Contents]]**\\ \\ **Subsections**]]
* [[#SECTION00810000000000000000|7.1 Language]] * [[#SECTION00810000000000000000|7.1 Language]]
* [[#SECTION00820000000000000000|7.2 Languages on SDF]] * [[#SECTION00820000000000000000|7.2 Languages on SDF]]
@ -8,23 +8,23 @@
====== 7. Programming ====== ====== 7. Programming ======
So you want to learn to program? Good. Programming is fun, creative, &amp; fascinating. (It used to be a well-paying career, too. I guess it still is, if you are in India or China.) So you want to learn to program? Good. Programming is fun, creative, & fascinating. (It used to be a well-paying career, too. I guess it still is, if you are in India or China.)
====== 7.1 Language ====== ====== 7.1 Language ======
There are billions &amp; billions of programming languages. Well, not that many, but there's a damned lot. There are billions & billions of programming languages. Well, not that many, but there's a damned lot.
You'll probably want to learn one of the most popular ones, which is too bad because most of the currently popular languages aren't very good. They are complex versions of the exact same features that have been available in programming languages since the 1960s. That's right: Even after forty years of hyped, new languages, we've effectively come full-circle to Algol 1960. You'll probably want to learn one of the most popular ones, which is too bad because most of the currently popular languages aren't very good. They are complex versions of the exact same features that have been available in programming languages since the 1960s. That's right: Even after forty years of hyped, new languages, we've effectively come full-circle to Algol 1960.
But I'm a bitter &amp; opinionated old programmer, so ignore what I just wrote. Here's some actually useful information: But I'm a bitter & opinionated old programmer, so ignore what I just wrote. Here's some actually useful information:
You can use just about any language you want on unix. At the moment, it might be difficult to find a fully functioning C# compiler for unix, but one is coming, &amp; there is no technical reason that C# won't work on unix. Many other programming languages are available for unix. Heck, many were developed //on// unix. So you can pick pretty much whichever you want. You can use just about any language you want on unix. At the moment, it might be difficult to find a fully functioning C# compiler for unix, but one is coming, & there is no technical reason that C# won't work on unix. Many other programming languages are available for unix. Heck, many were developed //on// unix. So you can pick pretty much whichever you want.
No matter what you pick, I highly recommend that you also do some plain, vanilla C. That's because the programming language of unix is C. When you need to write some programs to experiment with some feature of unix to learn the details of how it works before you use it in a larger program you are writing, the best language for writing those experimental programs is C because it hides the least from you. It's not that C is better, &amp; I'm not saying it's better for writing applications. I mean that because unix's API is for C, C is the best language for discovering how unix's system calls work. C doesn't hide anything from you. No matter what you pick, I highly recommend that you also do some plain, vanilla C. That's because the programming language of unix is C. When you need to write some programs to experiment with some feature of unix to learn the details of how it works before you use it in a larger program you are writing, the best language for writing those experimental programs is C because it hides the least from you. It's not that C is better, & I'm not saying it's better for writing applications. I mean that because unix's API is for C, C is the best language for discovering how unix's system calls work. C doesn't hide anything from you.
There are two books you need to do serious C programming. There are two books you need to do serious C programming.
The first is the original &amp; the classic //The C Programming Language//, by Kernighan &amp; Ritchie ([[[node11.html#kandr|aDMR88]]]). Yeah, it's old &amp; small, but since when is information bad just because it's old? And since when would you rather take days to read a humongous tome that contained no more information than in a small book like K&amp;R? The first is the original & the classic //The C Programming Language//, by Kernighan & Ritchie ([[[node11.html#kandr|aDMR88]]]). Yeah, it's old & small, but since when is information bad just because it's old? And since when would you rather take days to read a humongous tome that contained no more information than in a small book like K&R?
The second book you need for C programming is //The Standard C Library//, by P. J. Plauger ([[[node11.html#plauger:library|Pla92]]]). The second book you need for C programming is //The Standard C Library//, by P. J. Plauger ([[[node11.html#plauger:library|Pla92]]]).
@ -44,10 +44,10 @@ To learn a language, I recommend studying at least one book, not just online sou
====== 7.3 Theory ====== ====== 7.3 Theory ======
Obtain, read, &amp; understand a book about data structures. Learn it &amp; learn to love it. Data structures separates the scripters from the programmers. Obtain, read, & understand a book about data structures. Learn it & learn to love it. Data structures separates the scripters from the programmers.
---- ----
[[node9.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node7.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node9.html|8. Hacking]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node7.html|6. Super Dimension Fortress]]   ** [[node1.html|Contents]]** [[node9.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node7.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node9.html|8. Hacking]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node7.html|6. Super Dimension Fortress]]   ** [[node1.html|Contents]]**
Gene Michael Stover 2005-07-07 Gene Michael Stover 2005-07-07

View File

@ -1,4 +1,4 @@
[[node10.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node8.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node10.html|9. Meta]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node8.html|7. Programming]]   ** [[node1.html|Contents]]**\\ \\ [[node10.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node8.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node10.html|9. Meta]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node8.html|7. Programming]]   ** [[node1.html|Contents]]**\\ \\
====== 8. Hacking ====== ====== 8. Hacking ======
@ -7,11 +7,11 @@ So you want to hack? To break into computers? Take them over? Get root access? C
Aim high, but I have some advice. Those activities aren't [[http://catb.org/~esr/jargon/html/H/hack.html|hacking]]. Those activities are part of [[http://catb.org/~esr/jargon/html/C/cracking.html|cracking]]. For more information about the meaning of //hack//, you might read two other chapters from The Jargon File: Aim high, but I have some advice. Those activities aren't [[http://catb.org/~esr/jargon/html/H/hack.html|hacking]]. Those activities are part of [[http://catb.org/~esr/jargon/html/C/cracking.html|cracking]]. For more information about the meaning of //hack//, you might read two other chapters from The Jargon File:
* [[http://catb.org/~esr/jargon/html/meaning-of-hack.html|The Meaning of 'Hack']] and * [[http://catb.org/~esr/jargon/html/meaning-of-hack.html|The Meaning of 'Hack']] and
* [[http://catb.org/~esr/jargon/html/crackers.html|Crackers, Phreaks, &amp; Lamers]]. * [[http://catb.org/~esr/jargon/html/crackers.html|Crackers, Phreaks, & Lamers]].
You might find some people in COM Mode who would like to talk about these things, but most of them are really tired of kiddies coming into the lobby &amp; asking ``Do any of you know how to hack?'' So you'll need to be more subtle. It's like real life; you don't walk into a room, interrupt the current conversation, &amp; loudly ask if anyone will sell you nose candy. It's just rude. You might find some people in COM Mode who would like to talk about these things, but most of them are really tired of kiddies coming into the lobby & asking ``Do any of you know how to hack?'' So you'll need to be more subtle. It's like real life; you don't walk into a room, interrupt the current conversation, & loudly ask if anyone will sell you nose candy. It's just rude.
Information about security holes is pretty easy to find without help. Just use Google to search for things like ``computer security virus hole exploit''. What you need is the knowledge to make use of that information. You need to learn straightforward programming techniques, especially networking[[footnode.html#foot493|<sup>8.1</sup>]], before you can make use of all that security information that is readily available. So instead of asking people to teach you to crack, it might be more worthwhile &amp; fun to talk programming with people. Information about security holes is pretty easy to find without help. Just use Google to search for things like ``computer security virus hole exploit''. What you need is the knowledge to make use of that information. You need to learn straightforward programming techniques, especially networking[[footnode.html#foot493|<sup>8.1</sup>]], before you can make use of all that security information that is readily available. So instead of asking people to teach you to crack, it might be more worthwhile & fun to talk programming with people.
While we're on the topic, I guess I can throw out a bone. Take a look at ``CIFS: Common Insecurities Fail Scrutiny'' ([[[node11.html#hobbit:cifs|Hob77]]]). While we're on the topic, I guess I can throw out a bone. Take a look at ``CIFS: Common Insecurities Fail Scrutiny'' ([[[node11.html#hobbit:cifs|Hob77]]]).
@ -19,7 +19,7 @@ Also, be aware that most of the protocols in use on the Internet are defined in
Why do you care about the RFCs? Because to find a hole in some protocol, you need to know the actual protocol, not just heresay that people slip to you in a chat room. To know the protocol, you need to refer to its definitive source. For most protocols on the Internet, that's the RFCs. Why do you care about the RFCs? Because to find a hole in some protocol, you need to know the actual protocol, not just heresay that people slip to you in a chat room. To know the protocol, you need to refer to its definitive source. For most protocols on the Internet, that's the RFCs.
For example, let's say you wanted to research holes in Internet multicast. You could go to either of those RFC databases &amp; search for ``multicast''. You conclude that any of these RFCs were worth your time For example, let's say you wanted to research holes in Internet multicast. You could go to either of those RFC databases & search for ``multicast''. You conclude that any of these RFCs were worth your time
| **id** | **title** | **author** | **data** | | **id** | **title** | **author** | **data** |
| RFC1112 | Host extensions ofr IP multicasting | S.E. Deering | 1 Aug 1989 | | RFC1112 | Host extensions ofr IP multicasting | S.E. Deering | 1 Aug 1989 |
@ -30,6 +30,6 @@ That's just an example. By the way, if none of those title make you at least a l
---- ----
[[node10.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node8.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node10.html|9. Meta]] ** Up:** [[unx.html|Introduction to Unix &amp;]] ** Previous:** [[node8.html|7. Programming]]   ** [[node1.html|Contents]]** [[node10.html| {{../img/latex2html/next.png?37x24|next}}]] [[unx.html| {{../img/latex2html/up.png?26x24|up}}]] [[node8.html| {{../img/latex2html/prev.png?63x24|previous}}]] [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node10.html|9. Meta]] ** Up:** [[unx.html|Introduction to Unix &]] ** Previous:** [[node8.html|7. Programming]]   ** [[node1.html|Contents]]**
Gene Michael Stover 2005-07-07 Gene Michael Stover 2005-07-07

View File

@ -43,7 +43,7 @@ With the above examples you'll probably notice that the UID:GID values for the p
**ex.5)** mount /puffsmnt to ~local_user/puffy with local_user:users permissions: **ex.5)** mount /puffsmnt to ~local_user/puffy with local_user:users permissions:
First, we find who's who on local system (note: UID/GID are fields 3 &amp; 4): First, we find who's who on local system (note: UID/GID are fields 3 & 4):
ls -dnl /puffsmnt ls -dnl /puffsmnt
drwxr-xr-x 42 012345 550 512 Aug 31 2011 puffsmnt drwxr-xr-x 42 012345 550 512 Aug 31 2011 puffsmnt

View File

@ -74,14 +74,14 @@ For those of you who, like me, find it beneficial to work with books in addition
=== Friendly Introduction === === Friendly Introduction ===
* Head First HTML with CSS &amp; XHTML Elisabeth Freeman &amp; Eric Freeman, O'Reilly &amp; Associates * Head First HTML with CSS & XHTML Elisabeth Freeman & Eric Freeman, O'Reilly & Associates
=== References === === References ===
* HTML: The Definitive Guide Chuck Musciano &amp; Bill Kennedy, O'Reilly &amp; Associates * HTML: The Definitive Guide Chuck Musciano & Bill Kennedy, O'Reilly & Associates
* Cascading Style Sheets: The Definitive Guide Eric A. Meyer, O'Reilly &amp; Associates * Cascading Style Sheets: The Definitive Guide Eric A. Meyer, O'Reilly & Associates
* Javascript: The Definitive Guide David Flanagan, O'Reilly &amp; Associates * Javascript: The Definitive Guide David Flanagan, O'Reilly & Associates
* Web Design in a Nutshell: A Desktop Quick Reference Jennifer Niederst Robbins, O'Reilly &amp; Associates * Web Design in a Nutshell: A Desktop Quick Reference Jennifer Niederst Robbins, O'Reilly & Associates
---- ----

View File

@ -6,7 +6,7 @@
The SDF Minecraft server is available for the sandboxing pleasure of all SDF members and their guests. SDF members are encouraged to invite and add as many of their friends as they'd like to join in and play on the SDF Minecraft server. The SDF Minecraft server is available for the sandboxing pleasure of all SDF members and their guests. SDF members are encouraged to invite and add as many of their friends as they'd like to join in and play on the SDF Minecraft server.
===== News &amp; Announcements ===== ===== News & Announcements =====
==== Sep. 12, 2017 — Overdue Update ==== ==== Sep. 12, 2017 — Overdue Update ====

View File

@ -3,7 +3,7 @@
Much of this was pulled from [[http://jwodder.freeshell.org/sdf/commands.html|jwodder's reference]], he deserves a huge thanks for putting this list together. Much of this was pulled from [[http://jwodder.freeshell.org/sdf/commands.html|jwodder's reference]], he deserves a huge thanks for putting this list together.
^ Informative Commands ^^ ^ Informative Commands ^^
| address | prints out an address &amp; paypal information for sending money to SDF; used by some other commands | | address | prints out an address & paypal information for sending money to SDF; used by some other commands |
| arpa | prints out information about the ARPA membership level | | arpa | prints out information about the ARPA membership level |
| bbs | gives information about purchasing a BBS documentary DVD set from SDF; seems to be a bit outdated | | bbs | gives information about purchasing a BBS documentary DVD set from SDF; seems to be a bit outdated |
| commands | prints out a list of basic Unix commands; also available as "unix" | | commands | prints out a list of basic Unix commands; also available as "unix" |
@ -29,12 +29,12 @@ Much of this was pulled from [[http://jwodder.freeshell.org/sdf/commands.html|jw
| unix | same as commands | | unix | same as commands |
| vhost | prints out information about the VHOST membership | | vhost | prints out information about the VHOST membership |
| vpn | prints out information about the VPN membership | | vpn | prints out information about the VPN membership |
^ Inter-User Communication &amp; Social Networking ^^ ^ Inter-User Communication & Social Networking ^^
| bboard | bulletin board system for SDF | | bboard | bulletin board system for SDF |
| com (a.k.a. commode) | inter-user chat system for SDF | | com (a.k.a. commode) | inter-user chat system for SDF |
| guestbook | sign or view the guestbook | | guestbook | sign or view the guestbook |
| happening | submit an anonymous journal entry or view a random entry | | happening | submit an anonymous journal entry or view a random entry |
| helpdesk | request help from &amp; give help to other SDF users | | helpdesk | request help from & give help to other SDF users |
| mesg | send messages to other users | | mesg | send messages to other users |
| notes | leave urgent notes for other users | | notes | leave urgent notes for other users |
| profiles | set up a profile for viewing by other SDF users | | profiles | set up a profile for viewing by other SDF users |
@ -42,21 +42,21 @@ Much of this was pulled from [[http://jwodder.freeshell.org/sdf/commands.html|jw
| addlink | publish your website; invoked by mkhomepg | | addlink | publish your website; invoked by mkhomepg |
| bksp | set your backspace key | | bksp | set your backspace key |
| greylist | toggle greylisting for your e-mail address(es) (VPM membership required) | | greylist | toggle greylisting for your e-mail address(es) (VPM membership required) |
| maint | change your password, shell, &amp; contact information | | maint | change your password, shell, & contact information |
| mdns | assign a domain name to a dynamic IP address (MetaARPA membership required); also available as "udns" | | mdns | assign a domain name to a dynamic IP address (MetaARPA membership required); also available as "udns" |
| metaarray | For MetaARPA members. Will first generate a random login password for your MetaArray account followed by a random database password sent via local e-mail if you have a DBA membership. If you ever forget your MetaArray password or your MetaArray MySQL password, this will reset it. | | metaarray | For MetaARPA members. Will first generate a random login password for your MetaArray account followed by a random database password sent via local e-mail if you have a DBA membership. If you ever forget your MetaArray password or your MetaArray MySQL password, this will reset it. |
| mkcron | set up &amp; manage cronjobs (MetaARPA membership required) | | mkcron | set up & manage cronjobs (MetaARPA membership required) |
| mkfinger | control what information to display for finger requests from remote hosts | | mkfinger | control what information to display for finger requests from remote hosts |
| mkgopher | set up a gopherspace on SDF | | mkgopher | set up a gopherspace on SDF |
| mkhomepg | set up a website on SDF | | mkhomepg | set up a website on SDF |
| mkvhost | create &amp; maintain DNS and/or VHOST membership features | | mkvhost | create & maintain DNS and/or VHOST membership features |
| mkvpm | manage virtual POP3 mailboxes (VPM membership required) | | mkvpm | manage virtual POP3 mailboxes (VPM membership required) |
| motd | manage MOTD membership | | motd | manage MOTD membership |
| mypasswd | change your MySQL password. | | mypasswd | change your MySQL password. |
| phlog | list (or delist) your Gopher blog on SDF's registry of phlogs | | phlog | list (or delist) your Gopher blog on SDF's registry of phlogs |
| reset-mysql | resets your MySQL password and sends you a new one via local mail. | | reset-mysql | resets your MySQL password and sends you a new one via local mail. |
| setdialup | manage DIALUP membership | | setdialup | manage DIALUP membership |
| setgrp | add &amp; remove users to &amp; from your personal group (MetaARPA membership required) | | setgrp | add & remove users to & from your personal group (MetaARPA membership required) |
| setvmail | toggle e-mail addresses at various SDF domains (MetaARPA membership required) | | setvmail | toggle e-mail addresses at various SDF domains (MetaARPA membership required) |
| setvpn | configure your PPTP VPN login on SDF (VPN membership required) | | setvpn | configure your PPTP VPN login on SDF (VPN membership required) |
| startsql | set up a MySQL database (DBA membership required) | | startsql | set up a MySQL database (DBA membership required) |
@ -65,8 +65,8 @@ Much of this was pulled from [[http://jwodder.freeshell.org/sdf/commands.html|jw
| vpmclear | clear out a virtual POP3 mailbox (VPM membership required) | | vpmclear | clear out a virtual POP3 mailbox (VPM membership required) |
^ Account Information ^^ ^ Account Information ^^
| disk | display filesystem usage for your home directory, mail spool, gopherspace, &amp; webspace | | disk | display filesystem usage for your home directory, mail spool, gopherspace, & webspace |
| domains | list the SDF domains available to you for webhosting &amp; e-mail addresses | | domains | list the SDF domains available to you for webhosting & e-mail addresses |
| dues | give details on your membership dues | | dues | give details on your membership dues |
| expire | show how long until your account expires (pre-validated users only) | | expire | show how long until your account expires (pre-validated users only) |
| vpmstat | display information about your virtual POP3 mailboxes (VPM membership required) | | vpmstat | display information about your virtual POP3 mailboxes (VPM membership required) |
@ -74,11 +74,11 @@ Much of this was pulled from [[http://jwodder.freeshell.org/sdf/commands.html|jw
| webquota | show web transfer quotas for your website | | webquota | show web transfer quotas for your website |
^ User Information ^^ ^ User Information ^^
| online | prints the amount of time that the given user (or yourself, if none is given) has spent logged in today; does not work correctly | | online | prints the amount of time that the given user (or yourself, if none is given) has spent logged in today; does not work correctly |
| sentry | prints notices of logins &amp; logouts on the system | | sentry | prints notices of logins & logouts on the system |
| uinfo | print the date &amp; time when the given user joined SDF &amp; the various membership levels | | uinfo | print the date & time when the given user joined SDF & the various membership levels |
| url | print the URL at which the given SDF user's website is located | | url | print the URL at which the given SDF user's website is located |
^ Gallery Commands ^^ ^ Gallery Commands ^^
| artgallery | add photography &amp; artwork to the SDF art gallery | | artgallery | add photography & artwork to the SDF art gallery |
| astrogallery | add astronomical photographs to the astro gallery | | astrogallery | add astronomical photographs to the astro gallery |
| deskshots | add a picture of your computer desktop to the deskshots gallery | | deskshots | add a picture of your computer desktop to the deskshots gallery |
| patches | add pictures of SDF 20^th anniversary patches to the patches gallery | | patches | add pictures of SDF 20^th anniversary patches to the patches gallery |

View File

@ -67,7 +67,7 @@
| 1313 | +00:00 | nicknick | Grandstream GXP2100 | YES | YES | | 1313 | +00:00 | nicknick | Grandstream GXP2100 | YES | YES |
| 1343 | +02:00 | tisho | Linphone on Android | YES | YES | | 1343 | +02:00 | tisho | Linphone on Android | YES | YES |
| 1359 | +12:00 | thom | Ekiga | YES | YES | | 1359 | +12:00 | thom | Ekiga | YES | YES |
| 1366 | -07:00 | dbk | Nokia N900 &amp; softphone(s) | YES | YES | | 1366 | -07:00 | dbk | Nokia N900 & softphone(s) | YES | YES |
| 1380 | -05:00 | thegiant | [[http://pbxes.org|PBXes]] hosted PBX | YES | YES | | 1380 | -05:00 | thegiant | [[http://pbxes.org|PBXes]] hosted PBX | YES | YES |
| 1388 | +00:00 | irl | Asterisk (using FreePBX) | YES | YES | | 1388 | +00:00 | irl | Asterisk (using FreePBX) | YES | YES |
| 1399 | -08:00 | vandys | Asterisk | YES | YES | | 1399 | -08:00 | vandys | Asterisk | YES | YES |

View File

@ -21,7 +21,7 @@ An enhanced port of the Thompson shell is available on SDF as "`/usr/pkg/bin/osh
Ecl 2: Ecl 2:
% which osh if goto ^ ( tr '\n' ' ' ; echo ) ^ sed 's/.*/ls -l &amp;/' ^ osh % which osh if goto ^ ( tr '\n' ' ' ; echo ) ^ sed 's/.*/ls -l &/' ^ osh
-r-xr-xr-x 1 root wheel 7880 Jul 18 21:37 /usr/pkg/bin/goto -r-xr-xr-x 1 root wheel 7880 Jul 18 21:37 /usr/pkg/bin/goto
-r-xr-xr-x 1 root wheel 14160 Jul 18 21:37 /usr/pkg/bin/if -r-xr-xr-x 1 root wheel 14160 Jul 18 21:37 /usr/pkg/bin/if
-r-xr-xr-x 1 root wheel 38216 Jul 18 21:37 /usr/pkg/bin/osh -r-xr-xr-x 1 root wheel 38216 Jul 18 21:37 /usr/pkg/bin/osh
@ -86,7 +86,7 @@ The C shell is available on SDF as "`/bin/csh'". You can read its manual by doin
Is this section needed? Is this section needed?
This section will include information about the Z shell, rc (AT&amp;T Plan 9 shell), and any other UNIX shell which does not neatly fall into one category..? This section will include information about the Z shell, rc (AT&T Plan 9 shell), and any other UNIX shell which does not neatly fall into one category..?
===== Conclusion ===== ===== Conclusion =====

View File

@ -141,7 +141,7 @@ Please note: the SMTP AUTH secret is set on the command line via mkvpm. The comm
[mx.sdf.org]:submission sdf_login.sdf.org:smtp_passwd [mx.sdf.org]:submission sdf_login.sdf.org:smtp_passwd
* hash ///etc/postfix/{generic,sasl_passwd}, then check and reload configs//: * hash ///etc/postfix/{generic,sasl_passwd}, then check and reload configs//:
% cd /etc/postfix/ % cd /etc/postfix/
% sudo postmap generic sasl_passwd # creates generic.db &amp; sasl_passwd.db % sudo postmap generic sasl_passwd # creates generic.db & sasl_passwd.db
% sudo postfix check # no output unless errors % sudo postfix check # no output unless errors
% sudo /etc/rc.d/postfix reload % sudo /etc/rc.d/postfix reload
* test to verify everything is working correctly: * test to verify everything is working correctly:
@ -156,7 +156,7 @@ Please note: the SMTP AUTH secret is set on the command line via mkvpm. The comm
(250 2.0.0 s3RFrfvZ010436 Message accepted for delivery) (250 2.0.0 s3RFrfvZ010436 Message accepted for delivery)
---- ----
You should now be set up to use SDF's SMTP server. Enjoy!===== iPhone Mail Application =====//This tutorial was written on iOS version 13.3. The exact prompts on other versions may vary.// You should now be set up to use SDF's SMTP server. Enjoy!===== iPhone Mail Application =====//This tutorial was written on iOS version 13.3. The exact prompts on other versions may vary.//
- In **Settings**, scroll to **Passwords &amp; Accounts**. Tap **Add Account** - In **Settings**, scroll to **Passwords & Accounts**. Tap **Add Account**
- On the next screen, select **Other**, then **Add Mail Account** - On the next screen, select **Other**, then **Add Mail Account**
- Fill in the details (examples below), then tap **Next** - Fill in the details (examples below), then tap **Next**
- **Name** "Joe Bleaux" - **Name** "Joe Bleaux"
@ -173,7 +173,7 @@ Please note: the SMTP AUTH secret is set on the command line via mkvpm. The comm
- **Username** "jbleaux.sdf.org@sdf.org"//This will be the URL you have set up if you have a custom one. If not, then model it after this example.// - **Username** "jbleaux.sdf.org@sdf.org"//This will be the URL you have set up if you have a custom one. If not, then model it after this example.//
- **Password** //your SDF password// - **Password** //your SDF password//
- Click **Save** on the next screen. - Click **Save** on the next screen.
- Select the account from the **Passwords &amp; Accounts** screen. On the next screen, Tap **Account** (which will show your username ("jbleaux@sdf.org") - Select the account from the **Passwords & Accounts** screen. On the next screen, Tap **Account** (which will show your username ("jbleaux@sdf.org")
- Scroll down and click **Advanced**. - Scroll down and click **Advanced**.
- Under **Incoming Settings**, tap to enable **Use SSL**, and for **Server Port**, put "993". - Under **Incoming Settings**, tap to enable **Use SSL**, and for **Server Port**, put "993".
- Tap **SMTP** (Under **Outgoing Mail Server**), to view outgoing mail options, then tap the **Primary Server** (should be **mx.sdf.org**. Change **Authentication** to "MD5 Challenge-Response". Click **Done** at the top. - Tap **SMTP** (Under **Outgoing Mail Server**), to view outgoing mail options, then tap the **Primary Server** (should be **mx.sdf.org**. Change **Authentication** to "MD5 Challenge-Response". Click **Done** at the top.

View File

@ -1,6 +1,6 @@
===== Software Packages on SDF by Category ===== ===== Software Packages on SDF by Category =====
This page is intended to present the many, many software packages &amp; programs currently installed on SDF, sorted into categories for ease of reference. New users can refer to this file when trying to find programs, and even long-time SDFers can possibly discover something new here. This page is intended to present the many, many software packages & programs currently installed on SDF, sorted into categories for ease of reference. New users can refer to this file when trying to find programs, and even long-time SDFers can possibly discover something new here.
Note that this list is not expected to contain every single package currently installed. For a complete list of packages on SDF, see [[http://sdf.org/index.cgi?software|here]]. For a complete list of software that //could// be installed see [[ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/README-all.html|here]]. Software requests are made by making a post on the 'bboard' board. Note that this list is not expected to contain every single package currently installed. For a complete list of packages on SDF, see [[http://sdf.org/index.cgi?software|here]]. For a complete list of software that //could// be installed see [[ftp://ftp.NetBSD.org/pub/pkgsrc/current/pkgsrc/README-all.html|here]]. Software requests are made by making a post on the 'bboard' board.
@ -56,7 +56,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "rmail" * "rmail"
* "xmh" * "xmh"
=== Mail-Processing &amp; Other Mail-Related Programs === === Mail-Processing & Other Mail-Related Programs ===
* "biff" — notifies you when new mail arrives * "biff" — notifies you when new mail arrives
* "[[http://www.fetchmail.info/|fetchmail]]" — fetch mail from a remote server * "[[http://www.fetchmail.info/|fetchmail]]" — fetch mail from a remote server
@ -112,7 +112,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "stat" * "stat"
* "touch" * "touch"
=== File Processing &amp; Filtering === === File Processing & Filtering ===
* "awk" * "awk"
* "cat" — output the contents of a file * "cat" — output the contents of a file
@ -176,7 +176,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "[[http://www.tin.org/|tin]]" (ARPA) * "[[http://www.tin.org/|tin]]" (ARPA)
* "trn" (ARPA) * "trn" (ARPA)
=== File Transfer &amp; Retrieval Programs === === File Transfer & Retrieval Programs ===
* "[[http://curl.haxx.se/|curl]]" * "[[http://curl.haxx.se/|curl]]"
* "ftp" (ARPA) * "ftp" (ARPA)
@ -271,7 +271,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "uptime" * "uptime"
* "users" * "users"
=== Process Information &amp; Control === === Process Information & Control ===
* "env" * "env"
* "kill" * "kill"
@ -303,14 +303,14 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "jikes" (MetaARPA) * "jikes" (MetaARPA)
* "nasm" (MetaARPA) * "nasm" (MetaARPA)
=== Programming Language Interpreters &amp; Virtual Machines === === Programming Language Interpreters & Virtual Machines ===
* "cint" — C interpreter * "cint" — C interpreter
* "[[http://www.haskell.org/hugs/|hugs]]" — Haskell interpreter * "[[http://www.haskell.org/hugs/|hugs]]" — Haskell interpreter
* "java" (MetaARPA) * "java" (MetaARPA)
* "[[http://www.kaffe.org/|kaffe]]" (MetaARPA) * "[[http://www.kaffe.org/|kaffe]]" (MetaARPA)
* "lisp" (MetaARPA; wrapper around "uxlisp") * "lisp" (MetaARPA; wrapper around "uxlisp")
* "[[http://www.perl.org|perl]]" — pathologically eclectic rubbish lister practical extraction &amp; report language (ARPA) * "[[http://www.perl.org|perl]]" — pathologically eclectic rubbish lister practical extraction & report language (ARPA)
* "[[http://www.php.net|php]]" — PHP: hypertext preprocessor (ARPA) * "[[http://www.php.net|php]]" — PHP: hypertext preprocessor (ARPA)
* "[[http://www.python.org|python]]" (ARPA) * "[[http://www.python.org|python]]" (ARPA)
* "ruby" (ARPA) * "ruby" (ARPA)
@ -351,7 +351,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "phpize" * "phpize"
* "yacc" — yet another compiler compiler (ARPA) * "yacc" — yet another compiler compiler (ARPA)
=== Encryption &amp; Cryptography Programs === === Encryption & Cryptography Programs ===
* "cksum" * "cksum"
* "[[http://gnupg.org/|gpg]]" * "[[http://gnupg.org/|gpg]]"
@ -381,7 +381,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "[[http://www.snake.net/software/troffcvt/|troffcvt]]" * "[[http://www.snake.net/software/troffcvt/|troffcvt]]"
* "[[http://chicago.sourceforge.net/xlhtml/|xlhtml]]" * "[[http://chicago.sourceforge.net/xlhtml/|xlhtml]]"
=== File Archival &amp; Compression Utilities === === File Archival & Compression Utilities ===
* "aetar" * "aetar"
* "ar" * "ar"
@ -418,7 +418,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
=== Typesetting === === Typesetting ===
* Manpages &amp; *roff * Manpages & *roff
* "colcrt" * "colcrt"
* "eqn" * "eqn"
* "groff" * "groff"
@ -431,7 +431,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "tbl" * "tbl"
* "troff" * "troff"
* "vgrind" * "vgrind"
* PostScript &amp; PDFs * PostScript & PDFs
* "abcm2ps" — "Converts ABC to music sheet in PostScript format" * "abcm2ps" — "Converts ABC to music sheet in PostScript format"
* "diffpp" * "diffpp"
* "enscript" * "enscript"
@ -549,19 +549,19 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "worms" — animate worms on a terminal * "worms" — animate worms on a terminal
* "wtf" * "wtf"
=== Game Interpreters &amp; Clients === === Game Interpreters & Clients ===
* "frotz" * "frotz"
* "tf" * "tf"
=== Mathematical &amp; Statistical Programs === === Mathematical & Statistical Programs ===
* "bc" * "bc"
* "dc" * "dc"
* "[[http://www.gnuplot.info/|gnuplot]]" * "[[http://www.gnuplot.info/|gnuplot]]"
* "mathomatic" * "mathomatic"
=== Image Creation, Conversion, &amp; Manipulation === === Image Creation, Conversion, & Manipulation ===
* ImageMagick ("animate", "compare", "composite", "conjure", "convert", "display", "identify", "import", "mogrify", "montage", "stream") * ImageMagick ("animate", "compare", "composite", "conjure", "convert", "display", "identify", "import", "mogrify", "montage", "stream")
* "compface" * "compface"
@ -576,7 +576,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "[[http://hunspell.sourceforge.net/|hunspell]]" * "[[http://hunspell.sourceforge.net/|hunspell]]"
* "[[http://www.lasr.cs.ucla.edu/geoff/ispell.html|ispell]]" * "[[http://www.lasr.cs.ucla.edu/geoff/ispell.html|ispell]]"
=== Productivity &amp; Reminder Software === === Productivity & Reminder Software ===
* "calendar" * "calendar"
* "leave" * "leave"
@ -626,7 +626,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "tset" * "tset"
* "tty" — give the name of your terminal * "tty" — give the name of your terminal
=== Information &amp; Help === === Information & Help ===
* "apropos" — search for programs by keywords in documentation * "apropos" — search for programs by keywords in documentation
* "ascii" * "ascii"
@ -637,7 +637,7 @@ Programs marked "ARPA", "MetaARPA", "DBA", or similar can only be run by users w
* "vimtutor" * "vimtutor"
* "whatis" — get a brief description of a command * "whatis" — get a brief description of a command
=== Finding Files &amp; Programs === === Finding Files & Programs ===
* "find" — search a directory tree for files that match given criteria (MetaARPA) * "find" — search a directory tree for files that match given criteria (MetaARPA)
* "locate" — search a database of files for ones with the given name * "locate" — search a database of files for ones with the given name

View File

@ -10,9 +10,9 @@ Available instances are:
[d] Sixth Edition UNIX PDP-11/45 May 1975 [d] Sixth Edition UNIX PDP-11/45 May 1975
[e] Seventh Edition UNIX PDP-11/70 January 1979 [e] Seventh Edition UNIX PDP-11/70 January 1979
[f] Research UNIX 8 VAX-11/780 1981 [f] Research UNIX 8 VAX-11/780 1981
[g] AT&amp;T UNIX System III PDP-11/70 Fall 1982 [g] AT&T UNIX System III PDP-11/70 Fall 1982
[h] AT&amp;T UNIX System V PDP-11/70 1983 [h] AT&T UNIX System V PDP-11/70 1983
[i] AT&amp;T UNIX System V 3b2/400 1984 [i] AT&T UNIX System V 3b2/400 1984
[j] 4.3 BSD MicroVAX June 1986 [j] 4.3 BSD MicroVAX June 1986
[k] 2.11 BSD PDP-11/70 January 1992 [k] 2.11 BSD PDP-11/70 January 1992
@ -25,9 +25,9 @@ Available instances are:
* [[#section-5|Sixth Edition UNIX]] * [[#section-5|Sixth Edition UNIX]]
* [[#section-6|Seventh Edition UNIX]] * [[#section-6|Seventh Edition UNIX]]
* [[#section-7|Research UNIX 8]] * [[#section-7|Research UNIX 8]]
* [[#section-8|AT&amp;T UNIX System III]] * [[#section-8|AT&T UNIX System III]]
* [[#section-9|AT&amp;T UNIX System V (PDP-11/70)]] * [[#section-9|AT&T UNIX System V (PDP-11/70)]]
* [[#section-10|AT&amp;T UNIX System V (3b2/400)]] * [[#section-10|AT&T UNIX System V (3b2/400)]]
* [[#section-11|4.3 BSD]] * [[#section-11|4.3 BSD]]
* [[#section-12|2.11 BSD]] * [[#section-12|2.11 BSD]]
* [[#section-13|Another Section Heading]] * [[#section-13|Another Section Heading]]
@ -122,7 +122,7 @@ Available instances are:
supersat) supersat)
// gplv3 lol // gplv3 lol
// karl koscher // karl koscher
The winner was awarded a handsome **ASVEL //UNIX WARE//(tm)** Japanese write storage container and a delicious bag of **Tamanishiki** //Premium Short Grain Rice//===== First Edition UNIX =====Release: November 1971\\ Platform: PDP-11/20===== Fifth Edition UNIX =====Release: June 1974\\ Platform: PDP-11/40===== Sixth Edition UNIX =====Release: May 1975\\ Platform: PDP-11/45===== Seventh Edition UNIX =====Release: January 1979\\ Platform: PDP-11/70===== Research UNIX 8 =====Release: 1981\\ Platform: VAX-11/780===== AT&amp;T UNIX System III =====Release: Fall 1982\\ Platform: PDP-11/70===== AT&amp;T UNIX System V (PDP-11/70) =====Release: 1983\\ Platform: PDP-11/70===== AT&amp;T UNIX System V (3b2/400) =====Release: 1984\\ Platform: 3b2/400===== 4.3 BSD =====Release: June 1986\\ Platform: MicroVAX3900===== 2.11 BSD =====Release: January 1992\\ Platform: PDP-11/70By issuing the "sac -nar" command, your spirit animal will be changed to the narwhal. "10 PRINT "DO YOU EAT BOOGERS?" The winner was awarded a handsome **ASVEL //UNIX WARE//(tm)** Japanese write storage container and a delicious bag of **Tamanishiki** //Premium Short Grain Rice//===== First Edition UNIX =====Release: November 1971\\ Platform: PDP-11/20===== Fifth Edition UNIX =====Release: June 1974\\ Platform: PDP-11/40===== Sixth Edition UNIX =====Release: May 1975\\ Platform: PDP-11/45===== Seventh Edition UNIX =====Release: January 1979\\ Platform: PDP-11/70===== Research UNIX 8 =====Release: 1981\\ Platform: VAX-11/780===== AT&T UNIX System III =====Release: Fall 1982\\ Platform: PDP-11/70===== AT&T UNIX System V (PDP-11/70) =====Release: 1983\\ Platform: PDP-11/70===== AT&T UNIX System V (3b2/400) =====Release: 1984\\ Platform: 3b2/400===== 4.3 BSD =====Release: June 1986\\ Platform: MicroVAX3900===== 2.11 BSD =====Release: January 1992\\ Platform: PDP-11/70By issuing the "sac -nar" command, your spirit animal will be changed to the narwhal. "10 PRINT "DO YOU EAT BOOGERS?"
20 INPUT X 20 INPUT X
30 IF X="YES" THEN PRINT "YOU'RE A GOOD MAN, CHARLIE BROWN.": END 30 IF X="YES" THEN PRINT "YOU'RE A GOOD MAN, CHARLIE BROWN.": END
40 IF X="NO" THEN PRINT "WHAT, YOU THINK YOU'RE BETTER THAN ME?" 40 IF X="NO" THEN PRINT "WHAT, YOU THINK YOU'RE BETTER THAN ME?"

View File

@ -1,12 +1,12 @@
[[node1.html| {{../img/latex2html/next.png?37x24|next}}]] {{../img/latex2html/up_g.png?26x24|up}} {{../img/latex2html/prev_g.png?63x24|previous}} [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node1.html|Contents]]   ** [[node1.html|Contents]]**\\ \\ [[node1.html| {{../img/latex2html/next.png?37x24|next}}]] {{../img/latex2html/up_g.png?26x24|up}} {{../img/latex2html/prev_g.png?63x24|previous}} [[node1.html| {{../img/latex2html/contents.png?65x24|contents}}]] [[../|{{../img/latex2html/root.png|root}} ]]\\ ** Next:** [[node1.html|Contents]]   ** [[node1.html|Contents]]**\\ \\
====== Introduction to Unix &amp; SDF ====== ====== Introduction to Unix & SDF ======
**[[../contacting/|Gene Michael Stover]]** **[[../contacting/|Gene Michael Stover]]**
**created Saturday, 2003 December 6 December \\ updated Sunday, 2005 May 8** **created Saturday, 2003 December 6 December \\ updated Sunday, 2005 May 8**
//Copyright © 2003, 2004, 2005 by Gene Michael Stover. All rights reserved. Permission to copy, store, &amp; view this document unmodified &amp; in its entirety is granted.// //Copyright © 2003, 2004, 2005 by Gene Michael Stover. All rights reserved. Permission to copy, store, & view this document unmodified & in its entirety is granted.//
\\ \\
@ -32,7 +32,7 @@
* [[node5.html#SECTION00553000000000000000|4.5.3 My Own E-mail]] * [[node5.html#SECTION00553000000000000000|4.5.3 My Own E-mail]]
* [[node5.html#SECTION00560000000000000000|4.6 Viewing Files]] * [[node5.html#SECTION00560000000000000000|4.6 Viewing Files]]
* [[node5.html#SECTION00570000000000000000|4.7 Surf the Web]] * [[node5.html#SECTION00570000000000000000|4.7 Surf the Web]]
* [[node5.html#SECTION00580000000000000000|4.8 Upload &amp; Download]] * [[node5.html#SECTION00580000000000000000|4.8 Upload & Download]]
* [[node5.html#SECTION00581000000000000000|4.8.1 FTP]] * [[node5.html#SECTION00581000000000000000|4.8.1 FTP]]
* [[node5.html#SECTION00582000000000000000|4.8.2 scp]] * [[node5.html#SECTION00582000000000000000|4.8.2 scp]]
* [[node5.html#SECTION00583000000000000000|4.8.3 rcp]] * [[node5.html#SECTION00583000000000000000|4.8.3 rcp]]

View File

@ -54,7 +54,7 @@ The tool uses two files - "$HOME/.vacation.msg" and "$HOME/.vacation.db" by defa
note: if executed as-is more than once there won't be any output; use note: if executed as-is more than once there won't be any output; use
the '-t0' option to override the default 30 day response time. the '-t0' option to override the default 30 day response time.
% cat > $HOME/.forward # retain a copy &amp; pipe to vacation(1) % cat > $HOME/.forward # retain a copy & pipe to vacation(1)
\sdf_user, "|/usr/bin/vacation sdf_user" \sdf_user, "|/usr/bin/vacation sdf_user"
^D ^D
@ -91,7 +91,7 @@ The tool uses two files - "$HOME/.vacation.msg" and "$HOME/.vacation.db" by defa
I will be out of the office until next week; please contact I will be out of the office until next week; please contact
George about the penski account if it's urgent. George about the penski account if it's urgent.
% cat > $HOME/.forward # retain a copy &amp; pipe to vacation(1) % cat > $HOME/.forward # retain a copy & pipe to vacation(1)
\sdf_user, "|/usr/bin/vacation sdf_user" \sdf_user, "|/usr/bin/vacation sdf_user"
^D ^D

View File

@ -53,7 +53,7 @@ The instructions below will cover the general steps for the players and the DM t
== DM Add Players == == DM Add Players ==
* Start xscrabble: "xscrabble &amp;" * Start xscrabble: "xscrabble &"
* Select the number of players.{{tutorials/images/xscrabble/xscrabble_players.png}} * Select the number of players.{{tutorials/images/xscrabble/xscrabble_players.png}}
* For each player, add the player's name and the player's display. The display will be "localhost://n//.0" where //n// corresponds to the number in the display field of the cookie information.For example, player 1 has a cookie information where the display field is "iceland/unix://10//". The n for display will be 10. If the display number is m.n (eg, iceland/unix:10.1), please use m.n in the display instead.{{tutorials/images/xscrabble/xscrabble_name_display.png}}Do not forget to add the DM's display as well * For each player, add the player's name and the player's display. The display will be "localhost://n//.0" where //n// corresponds to the number in the display field of the cookie information.For example, player 1 has a cookie information where the display field is "iceland/unix://10//". The n for display will be 10. If the display number is m.n (eg, iceland/unix:10.1), please use m.n in the display instead.{{tutorials/images/xscrabble/xscrabble_name_display.png}}Do not forget to add the DM's display as well
* Click "start game" to start the game * Click "start game" to start the game