Replaced escaped '<' and '>' with '<' and '>' since docuwiki markup don't care

This commit is contained in:
peteyboy 2021-03-11 23:43:09 +00:00
parent 467a3bc0e0
commit 229b7f1fcf
63 changed files with 573 additions and 573 deletions

View File

@ -43,7 +43,7 @@ Next we need to edit the '"db/migrate/001_create_links.rb"' file. Files located
==== Edit '"db/migrate/001_create_links.rb"' ====
class CreateLinks &lt; ActiveRecord::Migration
class CreateLinks > ActiveRecord::Migration
def self.up
create_table :links do |t|
t.column :name, :string

View File

@ -111,11 +111,11 @@ Start the webrick server on the port that is equal to your uid, which you can ob
$ railsctl start
- or -
$ ruby $HOME/html/rails/my_first_project/script/server -p `id -u`
=&gt; Booting WEBrick...
=&gt; Rails application started on http://0.0.0.0:60844
=&gt; Ctrl-C to shutdown server; call with --help for options
=> Booting WEBrick...
=> Rails application started on http://0.0.0.0:60844
=> Ctrl-C to shutdown server; call with --help for options
Then point your browser at "http://yourdomain:&lt;YOUR UID&gt;" You should now be looking at the default 'Welcome to Rails page'. Now you can begin to develop your rails app.
Then point your browser at "http://yourdomain:>YOUR UID>" You should now be looking at the default 'Welcome to Rails page'. Now you can begin to develop your rails app.
===== Hello, world of Rails! =====
@ -134,14 +134,14 @@ In the same way that we used the rails command to create a new Rails application
The script logs the files and directories it examines, noting when it adds new Ruby scripts or directories to your application. For now, we're interested in one of these scripts and (in a minute) the new directory. The source file we'll be looking at is the controller. You'll find it in the file app/controllers/say_controller.rb. Let's have a look at it.
class SayController &lt; ApplicationController
class SayController > ApplicationController
end
Pretty minimal, eh? SayController is an empty class that inherits from ApplicationController, so it automatically gets all the default controller behavior. Let's spice it up. We need to add some code to have our controller handle the incoming request. What does this code have to do? For now, it'll do nothing. We simply need an empty action method.
Let's add an action called hello to our say controller. Adding a hello action means creating a method called hello in the class SayController. But what should it do? For now, it doesn't have to do anything. Remember that a controller's job is to set up things so that the view knows what to display. In our first application, there's nothing to set up, so an empty action will work fine. Use your favorite editor to change the file say_controller.rb in the app/controllers directory, adding the hello method as shown.
class SayController &lt; ApplicationController
class SayController > ApplicationController
def hello
end
end
@ -150,8 +150,8 @@ Now let's try calling it. Navigate to the URL "http://yourdomain:60844/say/hello
It might be annoying, but the error is perfectly reasonable (apart from the weird path). We created the controller class and the action method, but we haven't told Rails what to display. And that's where the views come in. Remember when we ran the script to create the new controller? The command added three files and a new directory to our application. That directory contains the template files for the controller's views. In our case, we created a controller named say, so the views will be in the directory app/views/say. To complete our Hello, World! application, let's create a template. By default, Rails looks for templates in a file with the same name as the action it's handling. In our case, that means we need to create a file called hello.rhtml in the directory app/views/say. (Why .rhtml? We'll explain in a minute.) For now, let's just put some basic HTML in there.
&lt;html&gt;&lt;head&gt;&lt;title&gt;Hello, Rails!&lt;/title&gt;&lt;/head&gt; &lt;body&gt;
&lt;h1&gt;Hello from Rails and SDF!&lt;/h1&gt; &lt;/body&gt; &lt;/html&gt;
>html>>head>>title>Hello, Rails!>/title>>/head> >body>
>h1>Hello from Rails and SDF!>/h1> >/body> >/html>
Save the file hello.rhtml, and refresh your browser window. You should see it display our friendly greeting. Notice that we didn't have to restart the application to see the update. During development, Rails automatically integrates changes into the running application as you save files.

View File

@ -66,7 +66,7 @@ You can then add a passphrase to your key, and use just that one passphrase when
The key comment is for your personal convenience, I reccomend youruser@yourlocalmachine and maybe the date, but of course it's up to you. Now save both the private and public key file somewhere (My Documents is a good choice, but pick somewhere that only *you* will have read access to.)
Next, you need to configure PuTTY to use this key. Fire up PuTTY and load your session or create a new one. Then in the Category list on the left, selecct Connection &gt; SSH &gt; Auth. Browse for your key and load it up. Also, you'll want to allow changes of username if your SDF account name is different from your local one.
Next, you need to configure PuTTY to use this key. Fire up PuTTY and load your session or create a new one. Then in the Category list on the left, selecct Connection > SSH > Auth. Browse for your key and load it up. Also, you'll want to allow changes of username if your SDF account name is different from your local one.
You're almost done! Now you need to let the server know about your new key. After you do this, the ssh, scp and sftp programs will use the key files automatically. So (optionally, but it is recommended) save your session, and then connect. Now do the following to authorize your key:

View File

@ -18,7 +18,7 @@ You can then add a passphrase to your key, and use just that one passphrase when
The key comment is for your personal convenience, I reccomend youruser@yourlocalmachine and maybe the date, but of course it's up to you. Now save both the private and public key file somewhere (My Documents is a good choice, but pick somewhere that only *you* will have read access to.)
Next, you need to configure PuTTY to use this key. Fire up PuTTY and load your session or create a new one. Then in the Category list on the left, selecct Connection &gt; SSH &gt; Auth. Browse for your key and load it up. Also, you'll want to allow changes of username if your SDF account name is different from your local one.
Next, you need to configure PuTTY to use this key. Fire up PuTTY and load your session or create a new one. Then in the Category list on the left, selecct Connection > SSH > Auth. Browse for your key and load it up. Also, you'll want to allow changes of username if your SDF account name is different from your local one.
You're almost done! Now you need to let the server know about your new key. After you do this, the ssh, scp and sftp programs will use the key files automatically. So (optionally, but it is recommended) save your session, and then connect. Now do the following to authorize your key:

View File

@ -11,7 +11,7 @@ One of the first things you will want to do is change the default root password
It is a good habit to create a regular user account for working, using su to obtain root privileges as needed. To create a regular user account:
useradd -Gwheel &lt;username&gt;
useradd -Gwheel >username>
This user will be able to perform administrative tasks by runing //su// to obtain superuser privileges using the root password. CentOS ships with sudo installed, so adding the new user to wheel group and editing /etc/sudoers with //visudo// to uncoment the following line:
@ -20,9 +20,9 @@ This user will be able to perform administrative tasks by runing //su// to obtai
===== Networking =====
You will need to ssh into the vps control panel server that you were given in your welcome email which should have the format of //vps&lt;number&gt;.sdf.org//.
You will need to ssh into the vps control panel server that you were given in your welcome email which should have the format of //vps>number>.sdf.org//.
Once logged into your control panel you will see a line at the top of the screen that details your chosen Operating System and IP Address.\\ //VPS Maintenance Shell for &lt;os&gt; (205.166.94.xxx)//\\ This information will be important for setting up your server to have network access.
Once logged into your control panel you will see a line at the top of the screen that details your chosen Operating System and IP Address.\\ //VPS Maintenance Shell for >os> (205.166.94.xxx)//\\ This information will be important for setting up your server to have network access.
Start your server, and log in via the console. (default= root:rootroot)

View File

@ -11,7 +11,7 @@ After logging in to your VPS for the first time, please change this password to
It is a good habit to create a regular user account for working, using "su" to obtain root privileges as needed. To create a regular user account:
useradd -m &lt;username&gt;
useradd -m >username>
This user will be able to perform administrative tasks by runing "su" to obtain superuser privileges using the root password.
@ -88,7 +88,7 @@ Refer to the following article to see how to clean up (remove packages) from you
Disable IPv6:
# echo "blacklist ipv6" &gt;&gt; /etc/modprobe.d/blacklist
# echo "blacklist ipv6" >> /etc/modprobe.d/blacklist
Edit rules:
@ -117,14 +117,14 @@ Edit rules:
Load rules (now):
# iptables -F
# iptables-restore &lt; /etc/firewall
# iptables-restore > /etc/firewall
Load rules (boot):
# vi /etc/network/if-pre-up.d/firewall
#!/bin/sh
/sbin/iptables-restore &lt; /etc/firewall
/sbin/iptables-restore > /etc/firewall
# chmod 755 /etc/network/if-pre-up.d/firewall

View File

@ -13,11 +13,11 @@ One of the first things you will want to do is change the default root password
It is also a good habit to create a regular user account for working, using "su" to obtain root privileges as needed. To create a regular user account which is part of the administrative "wheel" group:
useradd -m -G wheel &lt;username&gt;
useradd -m -G wheel >username>
Then immediately set its password with:
passwd &lt;username&gt;
passwd >username>
This user will be in the "wheel" group and will be able to perform administrative tasks by runing "su" to obtain superuser privileges using the root password.
@ -77,11 +77,11 @@ It is read only.
To set this up on boot, execute the steps above and then:
echo "nfs_client=YES" &gt;&gt; /etc/rc.conf
echo "rpcbind=YES" &gt;&gt; /etc/rc.conf
echo "10.1.0.1 vps" &gt;&gt; /etc/hosts
echo "vps:/pkgshare /pkgshare nfs ro" &gt;&gt; /etc/fstab
echo "export PATH=$PATH:/usr/pkg/bin:/usr/pkg/sbin" &gt;&gt; /etc/profile
echo "nfs_client=YES" >> /etc/rc.conf
echo "rpcbind=YES" >> /etc/rc.conf
echo "10.1.0.1 vps" >> /etc/hosts
echo "vps:/pkgshare /pkgshare nfs ro" >> /etc/fstab
echo "export PATH=$PATH:/usr/pkg/bin:/usr/pkg/sbin" >> /etc/profile
Note that you cannot use both this pre-built pkgsrc and pre-built packages from netbsd.org. It may be possible to set the system up so you can, however this is best left to the experienced NetBSD administrator.
@ -98,7 +98,7 @@ First, check which distribution sets are installed:
Decide which sets you want to remove and examine their contents. For example, to remove games and all X11 sets:
for set in games xbase xcomp xetc xfont xserver ; do \
tar tzf /usr/INSTALL/$set.tgz | sed -e 's/^\.//' &gt;&gt; /tmp/purgelist ; \
tar tzf /usr/INSTALL/$set.tgz | sed -e 's/^\.//' >> /tmp/purgelist ; \
done
After examining "/tmp/purgelist" and removing any files you want to keep, do:

View File

@ -27,9 +27,9 @@ The next step is to create the user and group that the server will run as, and a
"# groupadd -g 17 slapd
# useradd -u 17 -g 17 -d /var/chroot/openldap slapd
# grep slapd /etc/master.passwd &gt; /var/chroot/openldap/etc/master.passwd
# grep slapd /etc/master.passwd > /var/chroot/openldap/etc/master.passwd
# pwd_mkdb -d /var/chroot/openldap /var/chroot/openldap/etc/master.passwd
# grep slapd /etc/group &gt; /var/chroot/openldap/etc/group"
# grep slapd /etc/group > /var/chroot/openldap/etc/group"
No password needs to be set for the slapd user as no one will ever log in using its username. This disallows logins from that user.
@ -93,7 +93,7 @@ The "-u" and "-g" flags are used to specify the user and group that "slapd" shou
Finally, it is necessary to enable "slapd" in the "rc.conf" file.
"# echo "slapd=YES" &gt;&gt; /etc/rc.conf"
"# echo "slapd=YES" >> /etc/rc.conf"
You can edit the file manually and add this line if you would like to keep your "rc.conf" organised in some way.

View File

@ -24,7 +24,7 @@ Activities of the SDF Plan9 Boot Camp include:
* Self Guided Discoveries in: acme, sam, abaco, mothra and man
* Self Guided Discoveries in: mapdemo, catclock, juggle and tetris
* Self Guided Discoveries in: 9front and contrib via ftpfs
* Self Guided Discoveries in: 9fans mailing list and faces During the SDF Plan9 Boot Camp you are encouraged to make screenshots and vidoes of your Self Guided Discoveries and share your experiences on plan9-l to inspire others to do the same.===== Install =====After you have been allocated a VPS slice, connect by "ssh //&lt;SDF member ID&gt;//@//&lt;VPS slice&gt;//.sdf.org" (for example, "ssh papa@vps2.sdf.org"; you may omit your SDF member ID and the "@" if you are connecting from your SDF shell account). Your password is the same as your SDF member log-in.At the VPS console and type "x".If asked install from the ISO type "no". At some point there was an option to install from Plan9 iso image; at the time of updating the tutorial it does not ask for that option anymore.
* Self Guided Discoveries in: 9fans mailing list and faces During the SDF Plan9 Boot Camp you are encouraged to make screenshots and vidoes of your Self Guided Discoveries and share your experiences on plan9-l to inspire others to do the same.===== Install =====After you have been allocated a VPS slice, connect by "ssh //>SDF member ID>//@//>VPS slice>//.sdf.org" (for example, "ssh papa@vps2.sdf.org"; you may omit your SDF member ID and the "@" if you are connecting from your SDF shell account). Your password is the same as your SDF member log-in.At the VPS console and type "x".If asked install from the ISO type "no". At some point there was an option to install from Plan9 iso image; at the time of updating the tutorial it does not ask for that option anymore.
Do you wish to continue? (yes/no) yes
Would you like to install Plan9 yourself from the ISO? (yes/no)
% Copying a fresh plan9 image [PLEASE WAIT]
@ -41,9 +41,9 @@ Activities of the SDF Plan9 Boot Camp include:
* **ctl-h** is backspace, kind of. **ctl-u** erases the current line. As with backspace, screen output may not be what you expect.
* 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
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' &gt;/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 &amp;
"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 "&gt;&gt;&gt;" 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
* //**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 ====
* [[http://sdf.org/?tutorials/VPS_Plan9|Plan 9 on SDF VPS]]

View File

@ -47,7 +47,7 @@ There is [[http://sdf.org/?tutorials/anonradio-nicecast|an SDF tutorial for sett
To stream during your timeslot or during openmic, create a playlist of your desired songs:
"ls -d -1 /PATH/TO/YOUR/MUSIC/*.* &gt;&gt; playlist.m3u"
"ls -d -1 /PATH/TO/YOUR/MUSIC/*.* >> playlist.m3u"
Copy the default ezstream config to your home directory:
@ -56,16 +56,16 @@ Copy the default ezstream config to your home directory:
Edit your newly copied config thusly:
&lt;ezstream&gt;
&lt;url&gt;http://anonradio.net:8010/YOUR_DJ_MOUNT_NAME&lt;/url&gt;
&lt;sourceuser&gt;YOUR_DJ_USER_NAME&lt;/sourceuser&gt;
&lt;sourcepassword&gt;YOUR_DJ_PASSWORD&lt;/sourcepassword&gt;
&lt;format&gt;MP3&lt;/format&gt;
&lt;filename&gt;/PATH/TO/YOUR/playlist.m3u&lt;/filename&gt;
&lt;svrinfobitrate&gt;192&lt;/svrinfobitrate&gt;
&lt;svrinfosamplerate&gt;44100&lt;/svrinfosamplerate&gt;
&lt;stream_once&gt;1&lt;/stream_once&gt;
&lt;/ezstream&gt;
>ezstream>
>url>http://anonradio.net:8010/YOUR_DJ_MOUNT_NAME>/url>
>sourceuser>YOUR_DJ_USER_NAME>/sourceuser>
>sourcepassword>YOUR_DJ_PASSWORD>/sourcepassword>
>format>MP3>/format>
>filename>/PATH/TO/YOUR/playlist.m3u>/filename>
>svrinfobitrate>192>/svrinfobitrate>
>svrinfosamplerate>44100>/svrinfosamplerate>
>stream_once>1>/stream_once>
>/ezstream>
And start your stream with this command:
@ -73,25 +73,25 @@ And start your stream with this command:
If you are streaming a group of varying format files, you can homogenize them like this:
&lt;ezstream&gt;
&lt;url&gt;http://anonradio.net:8010/YOUR_DJ_MOUNT_NAME&lt;/url&gt;
&lt;sourceuser&gt;openmic&lt;/YOUR_DJ_USER_NAME&gt;
&lt;sourcepassword&gt;YOUR_DJ_PASSWORD&lt;/sourcepassword&gt;
&lt;format&gt;MP3&lt;/format&gt;
&lt;filename&gt;/PATH/TO/YOUR/playlist.m3u&lt;/filename&gt;
&lt;svrinfobitrate&gt;192&lt;/svrinfobitrate&gt;
&lt;svrinfosamplerate&gt;44100&lt;/svrinfosamplerate&gt;
&lt;stream_once&gt;1&lt;/stream_once&gt;
&lt;reencode&gt;
&lt;enable&gt;1&lt;/enable&gt;
&lt;encdec&gt;
&lt;format&gt;MP3&lt;/format&gt;
&lt;match&gt;.mp3&lt;/match&gt;
&lt;decode&gt;/usr/pkg/bin/madplay -v -Q -i -b 16 -R 44100 -S -o raw:- @T@&lt;/decode&gt;
&lt;encode&gt;/usr/pkg/bin/lame --preset cbr 192 -r -s 44.1 --bitwidth 16 - -&lt;/encode&gt;
&lt;/encdec&gt;
&lt;/reencode&gt;
&lt;/ezstream&gt;
>ezstream>
>url>http://anonradio.net:8010/YOUR_DJ_MOUNT_NAME>/url>
>sourceuser>openmic>/YOUR_DJ_USER_NAME>
>sourcepassword>YOUR_DJ_PASSWORD>/sourcepassword>
>format>MP3>/format>
>filename>/PATH/TO/YOUR/playlist.m3u>/filename>
>svrinfobitrate>192>/svrinfobitrate>
>svrinfosamplerate>44100>/svrinfosamplerate>
>stream_once>1>/stream_once>
>reencode>
>enable>1>/enable>
>encdec>
>format>MP3>/format>
>match>.mp3>/match>
>decode>/usr/pkg/bin/madplay -v -Q -i -b 16 -R 44100 -S -o raw:- @T@>/decode>
>encode>/usr/pkg/bin/lame --preset cbr 192 -r -s 44.1 --bitwidth 16 - ->/encode>
>/encdec>
>/reencode>
>/ezstream>
There are also[[http://mustafejen.freeshell.org/ezpulse.html|instructions]] for streaming with ezstream on Debian using PulseAudio.

View File

@ -8,7 +8,7 @@ For Nicecasting purposes I find it's better to control your mic gain at the syst
{{http://sdf.org/tutorials/images/nicecast-systemaudio.png}}
Keep this "System Preferences &gt; Sound" window open. If you don't have a headset then you can probably use audio jack earphones and your computer's built-in microphone. Or, just a USB mic plus audio jack earphones. Etc. The idea is to prevent the computer's input from taking in the computer's output (feedback).
Keep this "System Preferences > Sound" window open. If you don't have a headset then you can probably use audio jack earphones and your computer's built-in microphone. Or, just a USB mic plus audio jack earphones. Etc. The idea is to prevent the computer's input from taking in the computer's output (feedback).
===== II. Open Nicecast and set it up =====
@ -60,9 +60,9 @@ Click "Start Broadcast" on the Nicecast Broadcast window! The archived mp3 shoul
{{http://sdf.org/tutorials/images/nicecast-voiceover.png}}
Make sure your VoiceOver plugin is started. Make sure your mic input is turned up at the system level in your "System Preferences &gt; Sound" window. You should hear the iTines mp3 and an echo-back of your own voice through your headset. Make sure the LeveL indicator in the Nicecast Broadcast window is active, depending on what audio is being fed to it.
Make sure your VoiceOver plugin is started. Make sure your mic input is turned up at the system level in your "System Preferences > Sound" window. You should hear the iTines mp3 and an echo-back of your own voice through your headset. Make sure the LeveL indicator in the Nicecast Broadcast window is active, depending on what audio is being fed to it.
Now let's try Skype. While letting iTunes play on, go to Skype, call your "Skype call testing service" contact, and do what it says (leave a message). Probably you will hear iTunes automatically turn itself down while Skype is going -- I think this is a function of Skype, and it's possible this can be changed in preferences. Yep -- under Preferences &gt; General, if you like, de-check "pause iTunes during calls".
Now let's try Skype. While letting iTunes play on, go to Skype, call your "Skype call testing service" contact, and do what it says (leave a message). Probably you will hear iTunes automatically turn itself down while Skype is going -- I think this is a function of Skype, and it's possible this can be changed in preferences. Yep -- under Preferences > General, if you like, de-check "pause iTunes during calls".
You can try playing with other apps like video games, a movie player, etc etc, and locally outputting the sound. Nicecast should capture it all and send it out, along with your voice-over!

View File

@ -16,10 +16,10 @@ Don't know how to do that? Fear not! Below are instructions for how to do that w
=== VLC media player (http://videolan.org) ===
- File -&gt; Open Network
- File -> Open Network
- enter: http://anonradio.net:8000/anonradio
To get around occasional drops in the stream which may occur when DJs/programs are changing, select Playback -&gt; Repeat One.
To get around occasional drops in the stream which may occur when DJs/programs are changing, select Playback -> Repeat One.
==== On MacOSX ====

View File

@ -99,10 +99,10 @@ Some Simple Encryption by tfurrows
205
210 FOR I = 1 to LEN(M$)
215 C=C+1
220 IF C&gt;16 THEN C=1
220 IF C>16 THEN C=1
225 L = POS(A$(C),SUBSTR(M$,I,1),1)
230 IF L &lt; LEN(A$(C)) THEN PRINT SUBSTR(A$(C),L+1,LEN(A$(C))-L);
235 IF L &gt; 1 THEN PRINT SUBSTR(A$(C),1,L) ELSE PRINT SUBSTR(A$(C),1,1)
230 IF L > LEN(A$(C)) THEN PRINT SUBSTR(A$(C),L+1,LEN(A$(C))-L);
235 IF L > 1 THEN PRINT SUBSTR(A$(C),1,L) ELSE PRINT SUBSTR(A$(C),1,1)
240 NEXT i
"

View File

@ -4,11 +4,11 @@ The "bboard" is a threaded multi discussion bulletin board. It goes back when th
===== Some relevant bboards =====
* To ask for help, use **"&lt;HELPDESK&gt;"** to have your query answered by another user
* All system notices are posted on **"&lt;ANNOUNCE&gt;"**
* Current discussions about SDF-EU happen on **"&lt;SDFEU&gt;"**
* You can make requests for new software and discuss account issues at **"&lt;REQUESTS&gt;"**
* **"&lt;ARPA&gt;"** and **"&lt;META&gt;"** boards are used for ARPA and MetaARPA related questions.
* To ask for help, use **">HELPDESK>"** to have your query answered by another user
* All system notices are posted on **">ANNOUNCE>"**
* Current discussions about SDF-EU happen on **">SDFEU>"**
* You can make requests for new software and discuss account issues at **">REQUESTS>"**
* **">ARPA>"** and **">META>"** boards are used for ARPA and MetaARPA related questions.
* Member services (such as VPN or VOIP) have their own board for questions and support.
===== Getting around =====
@ -30,11 +30,11 @@ Type "bboard" on your shell. You will be presented with a list of current bboard
[ SCROLL (F)ORWARD, (B)ACKWARD - (G)OTO or (Q)UIT ]
To navigate the boards listings, use "F" (Forward) and "B" (Backward) keys to go up and down. When you reach the end of the list (or you press "Q"), you will enter in Command Mode, and a prompt will be presented to you. Every time you run "bboard" you are placed in the **"&lt;GENERAL&gt;"** board by default, hence the prompt "&lt;GENERAL&gt; Command: ".
To navigate the boards listings, use "F" (Forward) and "B" (Backward) keys to go up and down. When you reach the end of the list (or you press "Q"), you will enter in Command Mode, and a prompt will be presented to you. Every time you run "bboard" you are placed in the **">GENERAL>"** board by default, hence the prompt ">GENERAL> Command: ".
==== Browsing messages ====
Say you want to review the **"&lt;SDFEU&gt;"** bboard for news about SDF-EU. On the Command Mode, type "G" (GOTO) followed of the name of the bboard (in this case "G → SDFEU") You will enter in Posts Listing, with all entries at the **"&lt;SDFEU&gt;"** bboard sorted by activity (most recent first)
Say you want to review the **">SDFEU>"** bboard for news about SDF-EU. On the Command Mode, type "G" (GOTO) followed of the name of the bboard (in this case "G → SDFEU") You will enter in Posts Listing, with all entries at the **">SDFEU>"** bboard sorted by activity (most recent first)
================================================================================
[ID] [DATE] [AUTHOR] [REP] [SUBJECT]
@ -64,22 +64,22 @@ Post #3 “Meetup at EuroBSCcon” caught your attention. To read it, press "T"
Anybody wanting to organize a meetup @EuroBSDcon?
&lt;SDF.3.0&gt;(3)[ &lt;ENTER&gt; to follow thread, (R)EPLY or (Q)UIT ]
>SDF.3.0>(3)[ >ENTER> to follow thread, (R)EPLY or (Q)UIT ]
==== Post a message/reply ====
To post a new thread on the bboard you are currently in, press "P" (POST) and enter a subject. To publicly reply to a post, press "R" (REPLY) If you are in Reading Mode, you will reply to the thread you are currently in. If you are in Posts Listing, you will be asked for the post number you want to reply. Either way you will end up in the pico editor <sup>[[#fn__1|]]</sup>. Write down your reply and press "CTRL-x" to finish you post.
^ New Post ^
| &lt;SDFEU.1&gt; Command: POST Subject: Timezone? You have written: ----------------------------------------------------------- In which timezone(s) SDF-EU servers are? This BULLETIN contains 40 characters in 6 words of 2 lines. ----------------------------------------------------------- POST your BULLETIN? (y/n) % Rebuilding symbol table for BBOARD:&lt;SDFEU&gt; [QUEUED] Would you like to add a READERS POLL? (y/n) |
| >SDFEU.1> Command: POST Subject: Timezone? You have written: ----------------------------------------------------------- In which timezone(s) SDF-EU servers are? This BULLETIN contains 40 characters in 6 words of 2 lines. ----------------------------------------------------------- POST your BULLETIN? (y/n) % Rebuilding symbol table for BBOARD:>SDFEU> [QUEUED] Would you like to add a READERS POLL? (y/n) |
^ Reply ^
| &lt;SDFEU.1&gt; Command: REPLY (A NUMBER) 3 REPLY to "Meetup at EuroBSDcon" ? (y/n) You have replied: ----------------------------------------------------------- I would love to! This BULLETIN contains 16 characters in 4 words of 2 lines. ----------------------------------------------------------- POST your REPLY? (y/n) |
| >SDFEU.1> Command: REPLY (A NUMBER) 3 REPLY to "Meetup at EuroBSDcon" ? (y/n) You have replied: ----------------------------------------------------------- I would love to! This BULLETIN contains 16 characters in 4 words of 2 lines. ----------------------------------------------------------- POST your REPLY? (y/n) |
==== ...and much more ====
Now that you are confortable with the bboard, try exploring additional features:
* Post ("P"), reply ("R") and depost ("D") a message (use the **"&lt;TEST&gt;"** board for that)
* Post ("P"), reply ("R") and depost ("D") a message (use the **">TEST>"** board for that)
* Review current voting polls ("V") or propose your own.
* Explore the archives ("A") and acquire ancient wisdom.
* See how many people are reading the bboard ("W") and get amazed by their idle times.

View File

@ -7,19 +7,19 @@ In this tutorial when text looks like "this" this means it's a command you can r
==== Getting Started ====
* "mkhomepg" - This command needs to be executed before you can start building your web pages. When you execute this program, it will create a directory in which you can put all your web files. This directory is sym-linked into your home directory, under the name 'html'. (A sym-link is sort of like a shortcut in Microsoft Windows.)You will be prompted to select a URL for your website. This URL is what other internet users type into their web browser to view your web pages. If you're not an ARPA member then you may only use url's in the form of '"&lt;your login&gt;.freeshell.org"'. For instance, my web pages are stored at '"alterego.freeshell.org"'. If you're an ARPA member, there are many different domains you may use.
* "mkhomepg" - This command needs to be executed before you can start building your web pages. When you execute this program, it will create a directory in which you can put all your web files. This directory is sym-linked into your home directory, under the name 'html'. (A sym-link is sort of like a shortcut in Microsoft Windows.)You will be prompted to select a URL for your website. This URL is what other internet users type into their web browser to view your web pages. If you're not an ARPA member then you may only use url's in the form of '">your login>.freeshell.org"'. For instance, my web pages are stored at '"alterego.freeshell.org"'. If you're an ARPA member, there are many different domains you may use.
===== Your First Page! =====
Creating your first page is **__SO__** easy! First you'll need to open a text editor. SDF has many text editors installed but new users to UNIX often find that "nano" is the easiest to work with.
* "nano ~/html/index.html" - This command starts the nano text editor, creating a new file, called 'index.html' in your html directory.Once you've executed the command above. You'll notice that the terminal layout has changed. If you press keys on your keyboard you'll notice they appear in the "text buffer". Write out the text below into this program.
&lt;html&gt;&lt;head&gt;
&lt;title&gt;My First Page!&lt;/title&gt;
&lt;/head&gt;&lt;body&gt;
&lt;h1&gt;My First Page!&lt;/h1&gt;
&lt;p&gt;This is my first html web page!&lt;/p&gt;
&lt;/body&gt;&lt;/html&gt;
>html>>head>
>title>My First Page!>/title>
>/head>>body>
>h1>My First Page!>/h1>
>p>This is my first html web page!>/p>
>/body>>/html>
Now that you have copied the text out into 'nano', you need to save the file. To do this, hold down the 'CTRL' key on your keyboard and whilst pressing that, press the letter 'o'.Right, now, do you remember that URL you selected when you ran '"mkhomepg"'? Open a web browser and type that into the address bar. Hopefully, after a few seconds. You should see your very own web page!
===== Problems =====

View File

@ -9,7 +9,7 @@
is about the easiest way to print a file. Also:
_c_a_t _f_i_l_e_l _f_i_l_e_2 _&gt;_f_i_l_e_3
_c_a_t _f_i_l_e_l _f_i_l_e_2 _>_f_i_l_e_3
is about the easiest way to concatenate files.

View File

@ -169,7 +169,7 @@ Share permanent files with other 6500 users.
===== File Transfer =====
In order to transfer data to or from the 6500, your best option is to copy and paste. If your having trouble pasting in programs, you may want to try using TeraTerm with after altering the line delay under Setup -&gt; Additonal settings -&gt; Copy and Paste -&gt; Paste delay per line at about 250ms.
In order to transfer data to or from the 6500, your best option is to copy and paste. If your having trouble pasting in programs, you may want to try using TeraTerm with after altering the line delay under Setup -> Additonal settings -> Copy and Paste -> Paste delay per line at about 250ms.
===== References =====

View File

@ -21,13 +21,13 @@ To play with Chicken, start the interactive interpreter by running csi. It shoul
netbsd-unix-gnu-x86-64 [ 64bit manyargs dload ptables ]
compiled 2011-08-24 on ol (NetBSD)
#;1&gt;
#;1>
At the Chicken prompt, you can type in a Scheme program and hit Return to run your code.
#;1&gt; (print "Hello, World")
#;1> (print "Hello, World")
Hello, World
#;2&gt;
#;2>
===== Install Eggs =====

View File

@ -54,7 +54,7 @@ Now, type **l** (lower case L) to see a list of rooms. The output will look some
There seems to be a lot of users in the room "spacebar". Let us join in on the fun, shall we? Type **g** and the name of the room to join.
:goto&gt; spacebar
:goto> spacebar
When entering the room, a list of users will be displayed. Now, let us say hello to the room.
@ -64,7 +64,7 @@ Enter **a space** to enter input mode. When entering input mode, **a prompt of y
The next thing you'll probably want to know is what people talked about before you entered so you can join in the chatter. Type **r** to get a short 18 line "r"eview of what was said last. If you want more context, press **R**. You will se a prompt like this:
:lines&gt;
:lines>
Just type the number of lines you are interested in and finish with return; you'll get a scrollable history of said lines length.
@ -72,7 +72,7 @@ When you are ready to quit, type **q** to leave com. You will see an **"Unlinkin
===== FAQ =====
How do I use backspace in com?Try **-** in command mode in com to toggle behavior. Or, use stty or 'bksp' to set the backspace correctly.How can I be in com multiple times?The basic rule is to be on a different server when entering com. Some common ways of doing this is to use screen, run ssh twice, etc.How do I send private messages?Use the **s** command in command mode: **s**user@host. Please note the @host portion; this is a required element of the command. If the user is in another room, add an optional host parameter to send the message: **s**user@host room.How do I see what happened in the past?Use the **r** key to review. Use **R** followed by a number to control how many lines of history to review. The **p** key can be used to see the history of another room: **p**roomname. The **p** command can also take an optional number of lines to display: **p**roomname number.How do I see who is in another room?Use **W** (upper case w) to see who is in another room.I see "&lt;wliao@iceland DUMPs in 22 characters of 2 words in 3 lines&gt;". What does that mean?Use the **r** or **R** command.I see "&lt;wliao appears&gt;". How do I do that?Use the **e**mote command in command mode. Use **e** followed by the action at the prompt: ":emote&gt; tests this out". Why do I have to keep pressing the spacebar to talk?Other keys can be used to enter input mode. Try the **h** to see what keys are not being used such as the enter key.How do I erase a line?Use ^u (control + u) to erase the line. ^w (control + w) will erase a word. I accidentally ignored somebody! I didn't mean to do that :('i'gnore the same user again to remove from the ignore list. Why isn't anybody talking?That's life. Harden up.
How do I use backspace in com?Try **-** in command mode in com to toggle behavior. Or, use stty or 'bksp' to set the backspace correctly.How can I be in com multiple times?The basic rule is to be on a different server when entering com. Some common ways of doing this is to use screen, run ssh twice, etc.How do I send private messages?Use the **s** command in command mode: **s**user@host. Please note the @host portion; this is a required element of the command. If the user is in another room, add an optional host parameter to send the message: **s**user@host room.How do I see what happened in the past?Use the **r** key to review. Use **R** followed by a number to control how many lines of history to review. The **p** key can be used to see the history of another room: **p**roomname. The **p** command can also take an optional number of lines to display: **p**roomname number.How do I see who is in another room?Use **W** (upper case w) to see who is in another room.I see ">wliao@iceland DUMPs in 22 characters of 2 words in 3 lines>". What does that mean?Use the **r** or **R** command.I see ">wliao appears>". How do I do that?Use the **e**mote command in command mode. Use **e** followed by the action at the prompt: ":emote> tests this out". Why do I have to keep pressing the spacebar to talk?Other keys can be used to enter input mode. Try the **h** to see what keys are not being used such as the enter key.How do I erase a line?Use ^u (control + u) to erase the line. ^w (control + w) will erase a word. I accidentally ignored somebody! I didn't mean to do that :('i'gnore the same user again to remove from the ignore list. Why isn't anybody talking?That's life. Harden up.
===== COM Commands =====

View File

@ -22,7 +22,7 @@ Best way to learn about the //DIALUP// SDF membership is to login to your SDF sh
membership is open to all validated members, no setup fee, a
monthly average of 15 hours a day, no dialer, no adverts! Enjoy!
The SDF&gt;DIALUP FAQ and [[http://dialup.tenex.org/|dialup.tenex.org]] have additional information. Before you sign-up though you may want to run **getdialup** first to see what numbers are in your local/extended [[http://en.wikipedia.org/wiki/Local_telephone_service| calling area]]. Usually this information is contained in your local telephone directory.
The SDF>DIALUP FAQ and [[http://dialup.tenex.org/|dialup.tenex.org]] have additional information. Before you sign-up though you may want to run **getdialup** first to see what numbers are in your local/extended [[http://en.wikipedia.org/wiki/Local_telephone_service| calling area]]. Usually this information is contained in your local telephone directory.
example: list all (503) access numbers in the Portland, OR area

View File

@ -8,13 +8,13 @@ There are several ways to setup a PPP-based dial-up network connection on Linux.
===== Prerequisites: =====
Verify that the modem is installed correctly and that **pppconfig**, **pon**, **poff** and **plog** are present on your system (all should be part of the base Ubuntu install). The **which** command is useful for this: ie. "which pppconfig" should return "/usr/sbin/pppconfig". Also have your SDF Dial-up account information at hand: username, password, local access number. See [[http://sdf.org/?faq?DIALUP|FAQ&gt;DIALUP]] for details.
Verify that the modem is installed correctly and that **pppconfig**, **pon**, **poff** and **plog** are present on your system (all should be part of the base Ubuntu install). The **which** command is useful for this: ie. "which pppconfig" should return "/usr/sbin/pppconfig". Also have your SDF Dial-up account information at hand: username, password, local access number. See [[http://sdf.org/?faq?DIALUP|FAQ>DIALUP]] for details.
A word about modems: most internal modems are "WinModems" (MS Windows only) and will not likely work with Linux; the best option is an external "hardware modem" that connects via a serial or USB port. Such modems contain their own controller chip (hence the term "hardware modem") and do not rely on special drivers to function. That said, if all you have is a WinModem it is possible that someone has created a Linux driver for it; check at [[http://linmodems.org/| linmodems.org]] to see if yours is supported.
===== Basic Setup: =====
Open a terminal window (click Applications&gt;Terminal ; maximize window) and invoke **pppconfig** using the **sudo** command:
Open a terminal window (click Applications>Terminal ; maximize window) and invoke **pppconfig** using the **sudo** command:
# mr_retro@rustbucket:~$ sudo pppconfig
[sudo] password for mr_retro:
@ -92,7 +92,7 @@ You should hear the modem initiating the handshake. If all goes well you should
Jan 12 15:16:42 rustbucket pppd[2039]: Serial connection established.
Jan 12 15:16:42 rustbucket pppd[2039]: using channel 6
Jan 12 15:16:42 rustbucket pppd[2039]: Using interface ppp0
Jan 12 15:16:42 rustbucket pppd[2039]: Connect: ppp0 &lt;--&gt; /dev/ttyS1
Jan 12 15:16:42 rustbucket pppd[2039]: Connect: ppp0 >--> /dev/ttyS1
...
==== Stopping: ====

View File

@ -8,11 +8,11 @@ Although many modems, especially internal WinModems, come with configuration sof
===== Prerequisites: =====
Verify that the modem is installed correctly and that any required modem driver(s) are also installed. If needed, click on //Settings&gt;Control Panel&gt;System// , then select //Hardware&gt;Device Manager// and locate //Modems&gt;your_modem//. Click //Action&gt;Properties//; your modem's multi-tab Properties window will appear. If all is well the Device Status (under the General tab) box will read "This device is working properly". If it is not, consult your modem documentation to understand why. You may need to tweak your modem's settings using other tabs on the Modem Properties window.
Verify that the modem is installed correctly and that any required modem driver(s) are also installed. If needed, click on //Settings>Control Panel>System// , then select //Hardware>Device Manager// and locate //Modems>your_modem//. Click //Action>Properties//; your modem's multi-tab Properties window will appear. If all is well the Device Status (under the General tab) box will read "This device is working properly". If it is not, consult your modem documentation to understand why. You may need to tweak your modem's settings using other tabs on the Modem Properties window.
===== Basic Setup: =====
Click //Start&gt;Settings&gt;Control Panel&gt;Network Connections&gt;New Connection Wizard//. The "Welcome to the New Connection Wizard" window will appear. Click //Next//. The following illustrates the SDF Dial-up connection creation process for fictional SDF user //mr_retro// using a built-in Lucent WinModem on a computer running Windows XP:
Click //Start>Settings>Control Panel>Network Connections>New Connection Wizard//. The "Welcome to the New Connection Wizard" window will appear. Click //Next//. The following illustrates the SDF Dial-up connection creation process for fictional SDF user //mr_retro// using a built-in Lucent WinModem on a computer running Windows XP:
{{tutorials/images/dialup_winxp01.png}} {{tutorials/images/dialup_winxp02.png}}

View File

@ -56,12 +56,12 @@ The easiest method to install these files is by launching "nospam -e" as mention
# procmail spamfilter using whitelist (2006 Yargo Bonetti)
# :: use at your own risk and any way you want! ::
# whitelist: file containing one valid e-mail address per line
# (only generic xxx@yyy.zz form, without "Name.." &lt;*&gt; parts)
# (only generic xxx@yyy.zz form, without "Name.." >*> parts)
WHITELIST=$MAILDIR/.whitelist
# spamfilter
FROM=`formail -c -x 'From:'|sed -e 's/.*&lt;\(.*@[^&gt;]*\)&gt;.*/\1/'`
FROM=`formail -c -x 'From:'|sed -e 's/.*>\(.*@[^>]*\)>.*/\1/'`
:0 hb:
* ! ? grep -i -F -e "$FROM" $WHITELIST &gt;/dev/null
* ! ? grep -i -F -e "$FROM" $WHITELIST >/dev/null
$MAILDIR/quarantine
This will compare the address in the From: field of incoming messages to the ones saved in the file $MAILDIR/.whitelist (of course, name and location can be changed), and when an address is //not found// in this file, the message will be saved in the folder $MAILDIR/quarantine (which can be modified as well) and not show up in the normal Inbox (and not be processed further). Now and then, one can look through the quarantine folder for "good messages", and add the corresponding addresses to the .whitelist file.
@ -172,8 +172,8 @@ Configure MUA to use //"127.0.0.1"// (localhost), port //2525// for out-going me
> **ex:**\\ Configure and test the //Heirloom Mailx// MUA for user //"frog"// on localhost //"mud.bog"//\\ to use //"localhost:2525"// for SMTP (off-site email):
# **//$HOME/.nailrc//**"
set smtp="localhost:2525"
set from="You &lt;someone@sdf.org&gt;"
set replyto="You &lt;someone@sdf.org&gt;" "
set from="You >someone@sdf.org>"
set replyto="You >someone@sdf.org>" "
% **hmail -v someone@sdf.org**
Subject: tunneled SMTP test
test 123
@ -181,17 +181,17 @@ test 123
Resolving host localhost . . . done.
Connecting to 127.0.0.1:2525 . . . connected.
220 sdf.lonestar.org ESMTP Sendmail 8.14.5/8.14.3; Tue, 13 Dec 2011 08:21:22 GMT
&gt;&gt;&gt; HELO mud.bog
>>> HELO mud.bog
250 sdf.lonestar.org Hello IDENT:root@otaku.sdf.org [192.94.73.6], pleased to meet you
&gt;&gt;&gt; MAIL FROM:
>>> MAIL FROM:
250 2.1.0 ... Sender ok
&gt;&gt;&gt; RCPT TO:
>>> RCPT TO:
250 2.1.5 ... Recipient ok
&gt;&gt;&gt; DATA
>>> DATA
354 Enter mail, end with "." on a line by itself
&gt;&gt;&gt; .
>>> .
250 2.0.0 pBD8LM7d000515 Message accepted for delivery
&gt;&gt;&gt; QUIT
>>> QUIT
221 2.0.0 sdf.lonestar.org closing connection
==== Tunnel Teardown: ====
@ -224,9 +224,9 @@ while [ 1 ]; do
SSH_PID=`ps aux | sed -n -e /sed/d -e /ssh\ \-N/p | wc -m`
if [ $SSH_PID -eq 0 ]; then
ssh $SSH_ARGS $LIS_PORT:$TAG_HOST:$TAG_PORT $SSH_USER@$SSH_HOST \
-p$SSH_PORT &amp;&gt;/dev/null
-p$SSH_PORT &amp;>/dev/null
DATE_TIME=`date '+%y.%m.%d %T'`
echo "$DATE_TIME SSH Tunnel restarted."&gt;&gt;$LOG_FILE
echo "$DATE_TIME SSH Tunnel restarted.">>$LOG_FILE
fi
sleep $SLEEP
done

View File

@ -1 +1 @@
**E-mail Beginners at a UNIX prompt**\\ \\ If you are new to UNIX you might like this tutorial to help you start sending and receiving E-mail at SDF. You should be a verified member before you can start using E-mail at SDF. \\ \\ Assuming you have already logged into and started using SDF a little, you should be comfortable with the command line by now. All you need to start sending and receiving E-mail is your E-mail Address and an E-mail Client. \\ \\ By default your E-mail Address is your SDF username, and you can choose the domain you would like to use from the list of SDF domain names. \\ \\ So if your username is "coffee" you can try sending yourself a mail with your existing E-mail account to: \\ \\ coffee@freeshell.org \\ \\ If you do not have an existing E-mail account you may wish to have another SDF member send you a test mail, sometimes E-mail boxes do not work properly until a test mail has been sent. \\ \\ Now log into SDF and type the command "alpine". This will open up a terminal based E-mail client where you can send and receive mail. All of the commands to operate alpine are listed on the bottom of the terminal, and generally speaking you just have to tap a key to operate. \\ \\ It is pretty self explanatory. \\ \\ The first time you open alpine you might have to answer a few questions, but generally if you just tap enter a couple times after opening alpine you will be in your E-mail inbox. At that point you can use the up and down arrow keys to navigate through emails and press enter on the one you would like to read. After reading the mail you can reply by tapping 'r'. To send the mail you will have to hold down the Ctrl key and tap 'x'. \\ \\ All controls which require holding down the Ctrl key and tapping another key will be signified with the '^' symbol in the command list. So if you see **^R** that means you should hold down Ctrl and tap 'r' to do that command. \\ \\ To return to the message index (your inbox) you will see the command list states '&lt;'. Thus you simply type a '&lt;' by holding down the shift key and tapping the '&lt;' key. \\ \\ There are many other methods of sending and receiving mail at SDF, and they are all quite easy to learn and self explanatory. You can experiment with 'mutt' (another terminal based mail client) by typing the command 'mutt' at the terminal, and you can read further E-mail tutorials for setting up visual mail clients on your local computer. \\ \\ Continue to [[http://sdf.org?tutorials/e-mail-basics|E-Mail Basics]]\\ \\ You can also view the [[http://sdf.lonestar.org/index.cgi?faq?EMAIL|E-mail FAQ]].
**E-mail Beginners at a UNIX prompt**\\ \\ If you are new to UNIX you might like this tutorial to help you start sending and receiving E-mail at SDF. You should be a verified member before you can start using E-mail at SDF. \\ \\ Assuming you have already logged into and started using SDF a little, you should be comfortable with the command line by now. All you need to start sending and receiving E-mail is your E-mail Address and an E-mail Client. \\ \\ By default your E-mail Address is your SDF username, and you can choose the domain you would like to use from the list of SDF domain names. \\ \\ So if your username is "coffee" you can try sending yourself a mail with your existing E-mail account to: \\ \\ coffee@freeshell.org \\ \\ If you do not have an existing E-mail account you may wish to have another SDF member send you a test mail, sometimes E-mail boxes do not work properly until a test mail has been sent. \\ \\ Now log into SDF and type the command "alpine". This will open up a terminal based E-mail client where you can send and receive mail. All of the commands to operate alpine are listed on the bottom of the terminal, and generally speaking you just have to tap a key to operate. \\ \\ It is pretty self explanatory. \\ \\ The first time you open alpine you might have to answer a few questions, but generally if you just tap enter a couple times after opening alpine you will be in your E-mail inbox. At that point you can use the up and down arrow keys to navigate through emails and press enter on the one you would like to read. After reading the mail you can reply by tapping 'r'. To send the mail you will have to hold down the Ctrl key and tap 'x'. \\ \\ All controls which require holding down the Ctrl key and tapping another key will be signified with the '^' symbol in the command list. So if you see **^R** that means you should hold down Ctrl and tap 'r' to do that command. \\ \\ To return to the message index (your inbox) you will see the command list states '>'. Thus you simply type a '>' by holding down the shift key and tapping the '>' key. \\ \\ There are many other methods of sending and receiving mail at SDF, and they are all quite easy to learn and self explanatory. You can experiment with 'mutt' (another terminal based mail client) by typing the command 'mutt' at the terminal, and you can read further E-mail tutorials for setting up visual mail clients on your local computer. \\ \\ Continue to [[http://sdf.org?tutorials/e-mail-basics|E-Mail Basics]]\\ \\ You can also view the [[http://sdf.lonestar.org/index.cgi?faq?EMAIL|E-mail FAQ]].

View File

@ -32,20 +32,20 @@ By default ECL starts up in interactive mode. Log into SDF host //miku// and typ
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level.
&gt;
>
The default ECL prompt is "&gt;". Enter Common-Lisp commands in the usual way:
The default ECL prompt is ">". Enter Common-Lisp commands in the usual way:
&gt; (+ 1 2 3)
> (+ 1 2 3)
6
&gt; (* 4 5)
> (* 4 5)
20
&gt; (format t "hello SDF~&amp;")
> (format t "hello SDF~&amp;")
hello SDF
NIL
&gt;
>
In-line help is available ; type :h for options. The debugger can be entered using "(break)" ; once entered typed :h to see options. To exit the ECL interactive session type ":exit" .
@ -55,7 +55,7 @@ To use ECL as a script executor (ie. CGI) the //-shell// and/or //-eval// option
ex: hello.lsp
% echo '(format t "~&amp;Hello SDF~&amp;")' &gt; hello.lsp
% echo '(format t "~&amp;Hello SDF~&amp;")' > hello.lsp
% ecl -norc -script hello.lsp
Hello SDF
@ -125,7 +125,7 @@ The following outlines the process, using the //ecl-readline// module (adds GNU
(asdf:operate 'asdf:load-op 'ecl-readline)
(ecl-readline::enable)
The next time you startup ECL it will compile the ecl-readline module and launch an interactive session. With ecl-readline enabled the default ECL prompt is "//CL-USER[n]&gt;//" and you should then be able to use Emacs-style command editing and history recall. If you don't like the provided prompt you can change it by editing the //ecl-readline.lisp// file.
The next time you startup ECL it will compile the ecl-readline module and launch an interactive session. With ecl-readline enabled the default ECL prompt is "//CL-USER[n]>//" and you should then be able to use Emacs-style command editing and history recall. If you don't like the provided prompt you can change it by editing the //ecl-readline.lisp// file.
===== Customizations =====

View File

@ -23,8 +23,8 @@
| C-x u | Undo (alias for C-/) |
| C-g | Abort the current command |
| C-l | Redraw and center screen at cursor |
| M-&lt; | Go to start of buffer |
| M-&gt; | Go to end of buffer |
| M-> | Go to start of buffer |
| M-> | Go to end of buffer |
| C-d | Delete next character |
| M-d | Delete next word |
| M-| | Execute shell command on region |
@ -132,8 +132,8 @@
| \ | Display the html source of the current page. |
| SPC | Scroll up the current window, or go to the next page. |
| b | Scroll down the current window, or go to the previous page. |
| &gt; | Scroll to the left. |
| &lt; | Scroll to the right. |
| > | Scroll to the left. |
| > | Scroll to the right. |
| . | Shift to the left. |
| , | Shift to the right. |
| M-l | Recenter horizontally. |

View File

@ -31,8 +31,8 @@ Emacs is a non-modal editor, meaning when you have a file loaded into a buffer,
| C-x u | Undo (alias for C-/) |
| C-g | Abort the current command |
| C-l | Redraw and center screen at cursor |
| M-&lt; | Go to start of buffer |
| M-&gt; | Go to end of buffer |
| M-> | Go to start of buffer |
| M-> | Go to end of buffer |
| Backspace | Delete previous character |
===== Getting Help =====
@ -68,7 +68,7 @@ Here are the commands we discussed above, and a few other useful ones:
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".
To replace text that matches a search pattern, type "M-%". You'll see "Query replace:" in the echo area. Type a search string, and hit "Enter". The echo area will now display "Query replace &lt;search string&gt; with:". Type the replacement string, and hit "Enter" again. Emacs will search through your buffer, looking for the search string. When it finds it, it will display "Query replacing &lt;search string&gt; with &lt;replacement string&gt;: (? for help)". Type "y" to replace this match and move onto the next, or "n" to skip this match. Type "!" to replace this occurrence of the search string and all other occurrences in your buffer without prompting. As usual, you can type "C-g" to abort a search/replace operation.
To replace text that matches a search pattern, type "M-%". You'll see "Query replace:" in the echo area. Type a search string, and hit "Enter". The echo area will now display "Query replace >search string> with:". Type the replacement string, and hit "Enter" again. Emacs will search through your buffer, looking for the search string. When it finds it, it will display "Query replacing >search string> with >replacement string>: (? for help)". Type "y" to replace this match and move onto the next, or "n" to skip this match. Type "!" to replace this occurrence of the search string and all other occurrences in your buffer without prompting. As usual, you can type "C-g" to abort a search/replace operation.
All searches in Emacs are case-insensitive by default, unless you type at least one capital letter in your search string - in that case, the search becomes case-sensitive.
@ -229,8 +229,8 @@ Then restart emacs, or place the cursor at the end of each line in turn and pres
| \ | Display the html source of the current page. |
| SPC | Scroll up the current window, or go to the next page. |
| b | Scroll down the current window, or go to the previous page. |
| &gt; | Scroll to the left. |
| &lt; | Scroll to the right. |
| > | Scroll to the left. |
| > | Scroll to the right. |
| . | Shift to the left. |
| , | Shift to the right. |
| M-l | Recenter horizontally. |

View File

@ -38,7 +38,7 @@ The first time we run this command we will be asked for some configuration detai
enter "x" for expert configuration mode,
enter "p" for pre-configured paranoia mode,
anything else, or an empty line will select standard mode.
?&gt;
?>
Choosing the standard mode should be good enough for most cases but if you would like extra security, choose **p** for the paranoia mode (be aware that paranoia mode can make more difficult to make backups of the data. See Section [[#tips_and_tricks|Tips and Tricks]] for further details). After this, we will be prompted to enter a password twice, to confirm it and reduce the chances of a typo.

View File

@ -2,8 +2,8 @@
\\
&lt;head&gt;
&lt;style type="text/css"&gt;
>head>
>style type="text/css">
.title{
background-color:#ffffff;
font-size:30px;
@ -92,65 +92,65 @@
-moz-border-radius: ;
padding: 5;
}
&lt;/style&gt;
&lt;/head&gt;
>/style>
>/head>
&lt;h1 class="title"&gt;Here is a test for the title format.&lt;/h1&gt;
>h1 class="title">Here is a test for the title format.>/h1>
&lt;h3 class="header"&gt;Here is a test for the header format.&lt;/h3&gt;
>h3 class="header">Here is a test for the header format.>/h3>
&lt;p class="body"&gt;Here is a test for the tutorial body format.&lt;/p&gt;
>p class="body">Here is a test for the tutorial body format.>/p>
&lt;p class="note"&gt;&lt;br&gt;Here is a test for a note/warning/tip.&lt;/p&gt;
>p class="note">>br>Here is a test for a note/warning/tip.>/p>
&lt;p class="code"&gt;&lt;br&gt;Here is a test for the code format.&lt;/p&gt;
>p class="code">>br>Here is a test for the code format.>/p>
&lt;p class="reference"&gt;&lt;br&gt;Here is a test for the reference format.&lt;/p&gt;
>p class="reference">>br>Here is a test for the reference format.>/p>
&lt;table class="table"&gt;
&lt;tr&gt;&lt;th&gt; &lt;/th&gt;
&lt;th&gt;Table Header 1&lt;/th&gt;
&lt;th&gt;Table Header 2&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Table Header 3&lt;/th&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Table Header 4&lt;/th&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;th&gt;Table Header 5&lt;/th&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
>table class="table">
>tr>>th> >/th>
>th>Table Header 1>/th>
>th>Table Header 2>/th>
>/tr>
>tr>
>th>Table Header 3>/th>
>td>TABLE DATA>/td>
>td>TABLE DATA>/td>
>/tr>
>tr>
>th>Table Header 4>/th>
>td>TABLE DATA>/td>
>td>TABLE DATA>/td>
>/tr>
>tr>
>th>Table Header 5>/th>
>td>TABLE DATA>/td>
>td>TABLE DATA>/td>
>/tr>
>/table>
&lt;dl&gt;
&lt;dt&gt;Section 1&lt;/dt&gt;
&lt;dd&gt;Section 1.1&lt;/dd&gt;
&lt;dd&gt;Section 1.2&lt;/dd&gt;
&lt;dd&gt;Section 1.3&lt;/dd&gt;
&lt;dt&gt;Section 2&lt;/dt&gt;
&lt;dd&gt;Section 2.1&lt;/dd&gt;
&lt;dt&gt;Section 3&lt;/dt&gt;
&lt;dd&gt;Section 3.1&lt;/dd&gt;
&lt;dd&gt;Section 3.2&lt;/dd&gt;
&lt;dt&gt;Section 4&lt;/dt&gt;
&lt;dd&gt;Section 4.1&lt;/dd&gt;
&lt;dd&gt;Section 4.2&lt;/dd&gt;
&lt;/dl&gt;
>dl>
>dt>Section 1>/dt>
>dd>Section 1.1>/dd>
>dd>Section 1.2>/dd>
>dd>Section 1.3>/dd>
>dt>Section 2>/dt>
>dd>Section 2.1>/dd>
>dt>Section 3>/dt>
>dd>Section 3.1>/dd>
>dd>Section 3.2>/dd>
>dt>Section 4>/dt>
>dd>Section 4.1>/dd>
>dd>Section 4.2>/dd>
>/dl>
&lt;a class="link" href="http://www.example.com"&gt;Example link&lt;/a&gt;
>a class="link" href="http://www.example.com">Example link>/a>
&lt;br&gt;
&lt;img src="http://sdf.org/tutorials/images/example.png" alt="Example" height="128" width="128"/&gt;&lt;br&gt;
>br>
>img src="http://sdf.org/tutorials/images/example.png" alt="Example" height="128" width="128"/>>br>
&lt;br&gt;
&lt;pre class="reference"&gt;
>br>
>pre class="reference">
Book:
Author's last name, first initial. (Publication date). Book title. Additional information. City of publication: Publishing company.
@ -165,6 +165,6 @@
Online document:
Author's name. (Date of publication). Title of work. Retrieved month day, year, from full URL
&lt;/pre&gt;
>/pre>
$Id$

View File

@ -64,7 +64,7 @@ To prevent access by everybody, see the FAQ entry about [[http://sdf.org/index.c
For transferring small amount of text data (scripts, tables, source code snippets), think about copy/paste directly in the terminal! If you are [[http://sdf.org/index.cgi?faq?MEMBERS?01|MetaARPA]], then you can use "screen" and its built-in copy facility to transfer data between different screens.
To append text input in the terminal to a file on SDF, you can open the file on SDF in your favourite [[http://sdf.org/index.cgi?faq?BASICS?09|text editor]]. Or simply use the command "cat &gt;&gt;//file//", send the data to the terminal (via the paste function), and finish with a single line containing only ^D (CTRL-D) - to do that in the terminal, hit RETURN, CTRL-D, RETURN; this will close the standard input the "cat" was reading from.
To append text input in the terminal to a file on SDF, you can open the file on SDF in your favourite [[http://sdf.org/index.cgi?faq?BASICS?09|text editor]]. Or simply use the command "cat >>//file//", send the data to the terminal (via the paste function), and finish with a single line containing only ^D (CTRL-D) - to do that in the terminal, hit RETURN, CTRL-D, RETURN; this will close the standard input the "cat" was reading from.
===== E-mail - for small files only =====

View File

@ -51,7 +51,7 @@ command being the name of the command you want to learn about. As you can see, m
The user must have write permission in the parent directory.
EXIT STATUS
mkdir exits 0 if successful, and &gt;0 if an error occurred.
mkdir exits 0 if successful, and >0 if an error occurred.
SEE ALSO
chmod(1), rmdir(1), mkdir(2), umask(2)

View File

@ -49,9 +49,9 @@ Check the file in and unlock it so everyone can edit it.
Whether after issuing the co command or simply editing a file within /sys/html/tutorials, \\ modifications can be viewed in real time with a browser over the internet. But remember, \\ changes will only be saved if you use co/ci properly! The tutorial server script generates \\ the page header and footer, so you only need to supply the content of the tutorial you plan to \\ post and the RCS $Id$ tag. You can use the following as a template:\\
\\
&lt;html&gt;
&lt;head&gt;
&lt;style type="text/css"&gt;
>html>
>head>
>style type="text/css">
.title{
background-color:#ffffff;
font-size:30px;
@ -140,93 +140,93 @@ Whether after issuing the co command or simply editing a file within /sys/html/t
-moz-border-radius: ;
padding: 5;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
>/style>
>/head>
>body>
YOUR CODE HERE\\
&lt;br/&gt;\\
&lt;cite&gt;$Id$&lt;/cite&gt;\\
&lt;/body&gt;&lt;/html&gt;
>br/>\\
>cite>$Id$>/cite>\\
>/body>>/html>
\\
This is how to to define a comment\\
\\ &lt;!-- This is a comment --&gt;
\\ >!-- This is a comment -->
This is the code to define a tutorial title\\
\\ \\ &lt;h1 class="title"&gt;Here is a test for the title format.&lt;/h1&gt;
\\ \\ >h1 class="title">Here is a test for the title format.>/h1>
This is the code to define a tutorial header\\
\\ \\ &lt;h3 class="header"&gt;Here is a test for the header format.&lt;/h3&gt;
\\ \\ >h3 class="header">Here is a test for the header format.>/h3>
This is the code to define a tutorial body.\\
\\ \\ &lt;p class="body"&gt;Here is a test for the tutorial body format.&lt;/p&gt;
\\ \\ >p class="body">Here is a test for the tutorial body format.>/p>
This is the code to define a tutorial note section.\\
\\ \\ &lt;p class="note"&gt;&lt;br&gt;Here is a test for a note/warning/tip.&lt;/p&gt;
\\ \\ >p class="note">>br>Here is a test for a note/warning/tip.>/p>
This is the code to define a tutorial code section.\\
\\ \\ &lt;p class="code"&gt;&lt;br&gt;Here is a test for the code format.&lt;/p&gt;
\\ \\ >p class="code">>br>Here is a test for the code format.>/p>
This is the code to define a tutorial reference section.\\
\\ \\ &lt;p class="reference"&gt;&lt;br&gt;Here is a test for the reference format.&lt;/p&gt;
\\ \\ >p class="reference">>br>Here is a test for the reference format.>/p>
This is the code to define a table.\\
\\
&lt;table class="table"&gt;
&lt;tr&gt;
&lt;th&gt;Table Header 0&lt;/th&gt;
&lt;th&gt;Table Header 1&lt;/th&gt;
&lt;th&gt;Table Header 2&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;!-- This is column 1 --&gt;
&lt;th&gt;Table DATA&lt;/th&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;!-- This is column 2 --&gt;
&lt;th&gt;Table DATA&lt;/th&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;!-- This is column 3 --&gt;
&lt;th&gt;Table DATA&lt;/th&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;td&gt;TABLE DATA&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;
>table class="table">
>tr>
>th>Table Header 0>/th>
>th>Table Header 1>/th>
>th>Table Header 2>/th>
>/tr>
>tr>>!-- This is column 1 -->
>th>Table DATA>/th>
>td>TABLE DATA>/td>
>td>TABLE DATA>/td>
>/tr>
>tr>>!-- This is column 2 -->
>th>Table DATA>/th>
>td>TABLE DATA>/td>
>td>TABLE DATA>/td>
>/tr>
>tr>>!-- This is column 3 -->
>th>Table DATA>/th>
>td>TABLE DATA>/td>
>td>TABLE DATA>/td>
>/tr>
>/table>
This is the code to define a list. You have have two levels: the title of a section(dt) and the subsection(dd).
\\
&lt;dl&gt;
&lt;dt&gt;Section 1&lt;/dt&gt;
&lt;dd&gt;Section 1.1&lt;/dd&gt;
&lt;dd&gt;Section 1.2&lt;/dd&gt;
&lt;dd&gt;Section 1.3&lt;/dd&gt;
&lt;dt&gt;Section 2&lt;/dt&gt;
&lt;dd&gt;Section 2.1&lt;/dd&gt;
&lt;dt&gt;Section 3&lt;/dt&gt;
&lt;dd&gt;Section 3.1&lt;/dd&gt;
&lt;dd&gt;Section 3.2&lt;/dd&gt;
&lt;dt&gt;Section 4&lt;/dt&gt;
&lt;dd&gt;Section 4.1&lt;/dd&gt;
&lt;dd&gt;Section 4.2&lt;/dd&gt;
&lt;/dl&gt;
>dl>
>dt>Section 1>/dt>
>dd>Section 1.1>/dd>
>dd>Section 1.2>/dd>
>dd>Section 1.3>/dd>
>dt>Section 2>/dt>
>dd>Section 2.1>/dd>
>dt>Section 3>/dt>
>dd>Section 3.1>/dd>
>dd>Section 3.2>/dd>
>dt>Section 4>/dt>
>dd>Section 4.1>/dd>
>dd>Section 4.2>/dd>
>/dl>
This is the code to define a link.
\\
&lt;a class="link" href="http://www.example.com"&gt;Example link&lt;/a&gt;
>a class="link" href="http://www.example.com">Example link>/a>
\\
@ -234,11 +234,11 @@ This is the code to define a link.
No hotlinking of files from other sites: images must be uploaded to the /sys/html/tutorials/images folderWhen using images tags must be clearly defined.\\ Incorrect\\
\\ &lt;img src="tutorials/images/example.png"/&gt;\\
\\ >img src="tutorials/images/example.png"/>\\
Correct\\
\\ &lt;img src="http://sdf.org/tutorials/images/example.png" alt="Example" height="128" width="128"/&gt;\\
\\ >img src="http://sdf.org/tutorials/images/example.png" alt="Example" height="128" width="128"/>\\
\\

View File

@ -14,24 +14,24 @@ TWENEX represents the path not taken, or Unix as it might have been.
===== Reference Documents =====
SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]". SDF Public Access TWENEX. 19 July 2001. &lt;http://www.twenex.org/starter.html&gt; accessed 24 May 2010.
SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]". SDF Public Access TWENEX. 19 July 2001. >http://www.twenex.org/starter.html> accessed 24 May 2010.
"[[http://sdf.org/?tutorials/tops20-interactive|TOPS-20 Interactive Tutorial]]". SDF Public Access UNIX System. 23 May 2010. &lt;http://sdf.org/?tutorials/tops20-interactive&gt; accessed 24 May 2010.
"[[http://sdf.org/?tutorials/tops20-interactive|TOPS-20 Interactive Tutorial]]". SDF Public Access UNIX System. 23 May 2010. >http://sdf.org/?tutorials/tops20-interactive> accessed 24 May 2010.
"[[http://tilt.twenex.org/|TOPS-20 User's Guide]]". SDF Public Access TWENEX. June 1988. Digital Equipment Corporation. &lt;http://tilt.twenex.org/&gt; accessed 24 May 2010.
"[[http://tilt.twenex.org/|TOPS-20 User's Guide]]". SDF Public Access TWENEX. June 1988. Digital Equipment Corporation. >http://tilt.twenex.org/> accessed 24 May 2010.
"[[http://www.bourguet.org/v2/pdp10/cmds/|TOPS-20 Commands Reference Manual]]". Jean-Marc Bourguet's PDP-10 Page. July 1990. Digital Equipment Corporation. &lt;http://www.bourguet.org/v2/pdp10/cmds/&gt; accessed 24 May 2010.
"[[http://www.bourguet.org/v2/pdp10/cmds/|TOPS-20 Commands Reference Manual]]". Jean-Marc Bourguet's PDP-10 Page. July 1990. Digital Equipment Corporation. >http://www.bourguet.org/v2/pdp10/cmds/> accessed 24 May 2010.
===== File System Public Contents =====
TOPS20:&lt;BBOARD&gt;
TOPS20:>BBOARD>
36-BITS.TXT.1
MAIL.TXT.1
SAIL.TXT.1
Total of 33 pages in 3 files
TOPS20:&lt;C&gt;
TOPS20:>C>
ASSERT.H.3
C-ENV.H.20
CC.DOC.118
@ -76,7 +76,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 307 pages in 41 files
TOPS20:&lt;C.SYS&gt;
TOPS20:>C.SYS>
FILE.H.15
IOCTL.H.8
IPCF.H.1
@ -95,12 +95,12 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 18 pages in 15 files
TOPS20:&lt;CHRIS&gt;
TOPS20:>CHRIS>
LOGIN.CMD.4
Total of 1 page in 1 file
TOPS20:&lt;DOCUMENTATION&gt;
TOPS20:>DOCUMENTATION>
5221BM.MEM.1
ACJ.MEM.1
ACTGEN.DOC.1
@ -212,7 +212,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 4869 pages in 108 files
TOPS20:&lt;DOMAIN&gt;
TOPS20:>DOMAIN>
ASSIGNED.PORTS.1
.PROTOCOLS.1
GTDTST.EXE.3
@ -225,7 +225,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 296 pages in 9 files
TOPS20:&lt;EMACS&gt;
TOPS20:>EMACS>
BASE.:EJ.1
.EMACS.2
ABSTR.:EJ.73
@ -718,7 +718,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 3434 pages in 491 files
TOPS20:&lt;FINGER&gt;
TOPS20:>FINGER>
-READ-THIS-.TXT.6
DBEDIT.EXE.1
.HLP.2
@ -740,12 +740,12 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 182 pages in 18 files
TOPS20:&lt;FISSION&gt;
TOPS20:>FISSION>
AUTO-LOAD.4TH.9
Total of 1 page in 1 file
TOPS20:&lt;GAMES&gt;
TOPS20:>GAMES>
ADVENT.EXE.2
ASCII.EXE.1
BKG.EXE.1
@ -801,7 +801,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 1931 pages in 52 files
TOPS20:&lt;HELP&gt;
TOPS20:>HELP>
ABOLISH-CATS.HLP.1
ACJLOG.HLP.1
ACTDMP.HLP.1
@ -918,7 +918,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 383 pages in 113 files
TOPS20:&lt;INFO&gt;
TOPS20:>INFO>
-READ-.-THIS-.1
ALL.TFO.1
AMBASSADOR.DOC.1
@ -1076,12 +1076,12 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 4060 pages in 154 files
TOPS20:&lt;JSOL&gt;
TOPS20:>JSOL>
FINGER.PLAN.1
Total of 1 page in 1 file
TOPS20:&lt;KCC&gt;
TOPS20:>KCC>
-FTP-.MIC.1
AGREE.TXT.10
CCX.EXE.602
@ -1091,14 +1091,14 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 184 pages in 6 files
TOPS20:&lt;KCC.FAIL&gt;
TOPS20:>KCC.FAIL>
FAIL.EXE.4
.FAI.4
.MANUAL.2
Total of 244 pages in 3 files
TOPS20:&lt;KCC.INCLUDE&gt;
TOPS20:>KCC.INCLUDE>
ASSERT.H.3
C-ENV.H.17
CC.DOC.118
@ -1142,7 +1142,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 302 pages in 40 files
TOPS20:&lt;KCC.INCLUDE.SYS&gt;
TOPS20:>KCC.INCLUDE.SYS>
FILE.H.14
IOCTL.H.8
IPCF.H.1
@ -1161,7 +1161,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 18 pages in 15 files
TOPS20:&lt;KCC.KCC&gt;
TOPS20:>KCC.KCC>
-READ-.-THIS-.1
C-ENV.H.12
CC.C.185
@ -1237,7 +1237,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 863 pages in 72 files
TOPS20:&lt;KCC.LIB&gt;
TOPS20:>KCC.LIB>
-DIRS-.CMD.6
-MAKE-.CMD.22
-READ-.-THIS-.2
@ -1320,7 +1320,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 298 pages in 79 files
TOPS20:&lt;KCC.LIB.MATH&gt;
TOPS20:>KCC.LIB.MATH>
-MAKE-.CMD.8
-READ-.-THIS-.4
ABS.C.5
@ -1387,14 +1387,14 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 73 pages in 63 files
TOPS20:&lt;KCC.LIB.NETWORK&gt;
TOPS20:>KCC.LIB.NETWORK>
-MAKE-.CMD.2
GETHST.C.8
.REL.1
Total of 3 pages in 3 files
TOPS20:&lt;KCC.LIB.PML&gt;
TOPS20:>KCC.LIB.PML>
-READ-.-ME-.1
CCTEST.C.1
COMPILE.MIC.6
@ -1436,7 +1436,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 153 pages in 38 files
TOPS20:&lt;KCC.LIB.STDIO&gt;
TOPS20:>KCC.LIB.STDIO>
-MAKE-.CMD.20
-READ-.-THIS-.9
CLEANU.C.4
@ -1506,7 +1506,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 97 pages in 66 files
TOPS20:&lt;KCC.LIB.TEST&gt;
TOPS20:>KCC.LIB.TEST>
-READ-.-THIS-.1
BUGCOS.C.4
HELLO.C.1
@ -1551,7 +1551,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 60 pages in 41 files
TOPS20:&lt;KCC.LIB.USYS&gt;
TOPS20:>KCC.LIB.USYS>
-MAKE-.CMD.25
-READ-.-THIS-.7
ACCESS.C.10
@ -1632,7 +1632,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 201 pages in 77 files
TOPS20:&lt;LISP&gt;
TOPS20:>LISP>
10MACROS..159
.COM.160
10UNDO..1
@ -1765,7 +1765,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 2988 pages in 129 files
TOPS20:&lt;LISPUSERS&gt;
TOPS20:>LISPUSERS>
ALL..4
.COM.3
.TTY.2
@ -2058,7 +2058,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 2230 pages in 289 files
TOPS20:&lt;LOGO&gt;
TOPS20:>LOGO>
APPLEDIFF..1
DEC20DIFF..2
LOGO.EXE.2
@ -2068,7 +2068,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 139 pages in 6 files
TOPS20:&lt;LOGO.HELP&gt;
TOPS20:>LOGO.HELP>
ARCTAN..1
BACK..1
BOTH..1
@ -2208,7 +2208,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 136 pages in 136 files
TOPS20:&lt;LOGO.LIBRARY&gt;
TOPS20:>LOGO.LIBRARY>
BEEP.LOGO.1
EXIT.LOGO.1
FINGER.LOGO.1
@ -2240,7 +2240,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 52 pages in 28 files
TOPS20:&lt;LOGO.SOURCES&gt;
TOPS20:>LOGO.SOURCES>
ADM.I.1
ADMTEK.I.1
ATARI.I.1
@ -2259,7 +2259,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 59 pages in 15 files
TOPS20:&lt;MACLISP&gt;
TOPS20:>MACLISP>
6BIT.FASL.1
.LSP.1
APROPOS.FASL.1
@ -2486,7 +2486,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 2347 pages in 223 files
TOPS20:&lt;MAIL&gt;
TOPS20:>MAIL>
MAILER-RELAY-INFO.TXT.20
MAILING-LISTS.BIN.4
.TXT.4
@ -2494,7 +2494,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 39 pages in 4 files
TOPS20:&lt;MM&gt;
TOPS20:>MM>
ARMAIL.MAC.11
BLANKT.MAC.4
BUILD-MM.CTL.86
@ -2547,7 +2547,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 581 pages in 49 files
TOPS20:&lt;MM.BINARIES&gt;
TOPS20:>MM.BINARIES>
ARMAIL.REL.1
BLANKT.REL.1
CAFARD.EXE.1
@ -2619,7 +2619,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 724 pages in 68 files
TOPS20:&lt;MM.DOCUMENTATION&gt;
TOPS20:>MM.DOCUMENTATION>
BLANKT.PANDA.6
.VTS.3
CAFARD.DOC.3
@ -2653,7 +2653,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 422 pages in 30 files
TOPS20:&lt;MM.LOCAL&gt;
TOPS20:>MM.LOCAL>
BLANKT.MAC.6
BUILD-MM.LOG.1
MACSYM.MAC.9162
@ -2661,12 +2661,12 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 189 pages in 4 files
TOPS20:&lt;MM.SPELL&gt;
TOPS20:>MM.SPELL>
SPELL.EXE.1
Total of 246 pages in 1 file
TOPS20:&lt;MM.VAX&gt;
TOPS20:>MM.VAX>
-READ-THIS-FIRST-.TXT.1
BSMTPFORK.MAR.1
BUILD.COM.1
@ -2697,7 +2697,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 173 pages in 27 files
TOPS20:&lt;MM.VAX.CAFARD&gt;
TOPS20:>MM.VAX.CAFARD>
CAFARD.C.1
.COM.1
CAFDEF.H.1
@ -2715,12 +2715,12 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 34 pages in 14 files
TOPS20:&lt;NICHOLAS&gt;
TOPS20:>NICHOLAS>
FINGER.PLAN.1
Total of 1 page in 1 file
TOPS20:&lt;OLD-SYSTEM&gt;
TOPS20:>OLD-SYSTEM>
7-PTYCON.ATO.1
7-SETSPD.EXE.1
7-SYSJOB.EXE.1
@ -2739,7 +2739,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 350 pages in 15 files
TOPS20:&lt;PAPA&gt;
TOPS20:>PAPA>
ADDTWO.FOR.3
.REL.1
BASHELLO.BAS.2
@ -2779,12 +2779,12 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 146 pages in 36 files
TOPS20:&lt;PAT&gt;
TOPS20:>PAT>
FINGER.PLAN.5
Total of 1 page in 1 file
TOPS20:&lt;PDP-8&gt;
TOPS20:>PDP-8>
23-BIT-FLOATING-POINT-PACKAGE.OBJ.1
BINARY-LOADER.OBJ.1
BINARY-PUNCH-TELETYPE.OBJ.1
@ -2830,7 +2830,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 205 pages in 42 files
TOPS20:&lt;PDP-8.MAINDEC&gt;
TOPS20:>PDP-8.MAINDEC>
ADDER-TESTS.OBJ.1
BASIC-JMP-JMS-TEST.OBJ.1
EXTENDED-MEMORY-ADDRESS-TEST.OBJ.1
@ -2852,13 +2852,13 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 33 pages in 18 files
TOPS20:&lt;SAIL&gt;
TOPS20:>SAIL>
T-6-SAISG8.EXE.1
T-6-SAISG9.EXE.1
Total of 72 pages in 2 files
TOPS20:&lt;SHADOW&gt;
TOPS20:>SHADOW>
6-0-NEWS.CONFIG.1
LOGIN.CMD.9
MM.INIT.1
@ -2869,7 +2869,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 97 pages in 7 files
TOPS20:&lt;SLOGIN&gt;
TOPS20:>SLOGIN>
FINGER.PLAN.2
TIMET2.EXE.2
.HLP.1
@ -2877,7 +2877,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 8 pages in 4 files
TOPS20:&lt;SOLOMON&gt;
TOPS20:>SOLOMON>
ACCOMP.LISHMT.1
ALICE.DECLND.1
.TXT.1
@ -2943,7 +2943,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 243 pages in 62 files
TOPS20:&lt;SUBSYS&gt;
TOPS20:>SUBSYS>
ACJ.EXE.159
ACJDEC.EXE.1
ACJLOG.EXE.1
@ -3281,7 +3281,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 10379 pages in 334 files
TOPS20:&lt;SYSTEM&gt;
TOPS20:>SYSTEM>
-REQUEUED-MAIL-6-1.TMP.1
7-1-CONFIG.CMD.6,7,8,9,10,11,12,13,14,15
7-1-SETSPD.EXE.1
@ -3324,12 +3324,12 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 2857 pages in 71 files
TOPS20:&lt;SYSTEM-ERROR&gt;
TOPS20:>SYSTEM-ERROR>
ERROR.SYS.1
Total of 11497 pages in 1 file
TOPS20:&lt;UNSUPPORTED&gt;
TOPS20:>UNSUPPORTED>
11SIM.EXE.434
AID.EXE.1
AMORT.EXE.50
@ -3438,7 +3438,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 3479 pages in 105 files
TOPS20:&lt;UTILITIES&gt;
TOPS20:>UTILITIES>
11SIM.MID.434
2COL.SAI.1
ACJ.MAC.156
@ -3584,7 +3584,7 @@ SMJ. "[[http://www.twenex.org/starter.html|TWENEX Starter Guide for UNIX Users]]
Total of 2655 pages in 142 files
TOPS20:&lt;ZYRAF&gt;
TOPS20:>ZYRAF>
FINGER.PLAN.1
Total of 1 page in 1 file

View File

@ -232,36 +232,36 @@ The WebFinger ID is used in GNU social for mentioning users on other nodes. Ther
If you already know what [[https://webfinger.net/|WebFinger]] is, and you have it set up on your domain, here is an XRD template for linking your WebFinger address to your SDF GNU social account:
"&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0"&gt;
&lt;Subject&gt;acct://you@yourdomain.com//&lt;/Subject&gt;
&lt;Alias&gt;acct://nickname//@gs.sdf.org&lt;/Alias&gt;
&lt;Alias&gt;https://gs.sdf.org/user///userIDnumber//&lt;/Alias&gt;
&lt;Link rel="http://webfinger.net/rel/profile-page"
">?xml version="1.0" encoding="UTF-8"?>
>XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0">
>Subject>acct://you@yourdomain.com//>/Subject>
>Alias>acct://nickname//@gs.sdf.org>/Alias>
>Alias>https://gs.sdf.org/user///userIDnumber//>/Alias>
>Link rel="http://webfinger.net/rel/profile-page"
type="text/html"
href="https://gs.sdf.org/user///userIDnumber//"/&gt;
href="https://gs.sdf.org/user///userIDnumber//"/>
&lt;Link rel="http://schemas.google.com/g/2010#updates-from"
>Link rel="http://schemas.google.com/g/2010#updates-from"
type="application/atom+xml"
href="https://gs.sdf.org/api/statuses/user_timeline///userIDnumber//.atom"/&gt;
href="https://gs.sdf.org/api/statuses/user_timeline///userIDnumber//.atom"/>
&lt;Link rel="http://gmpg.org/xfn/11"
>Link rel="http://gmpg.org/xfn/11"
type="text/html"
href="https://gs.sdf.org/user///userIDnumber//"/&gt;
href="https://gs.sdf.org/user///userIDnumber//"/>
&lt;Link rel="describedby"
>Link rel="describedby"
type="application/rdf+xml"
href="https://gs.sdf.org///nickname///foaf"/&gt;
href="https://gs.sdf.org///nickname///foaf"/>
&lt;Link rel="http://salmon-protocol.org/ns/salmon-replies"
href="https://gs.sdf.org/main/salmon/user///userIDnumber//"/&gt;
>Link rel="http://salmon-protocol.org/ns/salmon-replies"
href="https://gs.sdf.org/main/salmon/user///userIDnumber//"/>
&lt;Link rel="http://salmon-protocol.org/ns/salmon-mention"
href="https://gs.sdf.org/main/salmon/user///userIDnumber//"/&gt;
>Link rel="http://salmon-protocol.org/ns/salmon-mention"
href="https://gs.sdf.org/main/salmon/user///userIDnumber//"/>
&lt;Link rel="http://ostatus.org/schema/1.0/subscribe"
template="https://gs.sdf.org/main/ostatussub?profile={uri}"/&gt;
&lt;/XRD&gt;
>Link rel="http://ostatus.org/schema/1.0/subscribe"
template="https://gs.sdf.org/main/ostatussub?profile={uri}"/>
>/XRD>
"
You'll need to replace "nickname" with your nickname, and "userIDnumber" with your user ID number on SDF GNU social. Wait, what? My user ID //number//? Yes. If you visit your profile page, in the right-hand column, under STATISTICS, you'll see that your User ID is given as a number. That's the number you need to use in your WebFinger link relations.

View File

@ -17,7 +17,7 @@ Contents
You can find more info here:
* [[http://freeshell.org/index.cgi?faq?GOPHER|FAQ &gt; GOPHER]]
* [[http://freeshell.org/index.cgi?faq?GOPHER|FAQ > GOPHER]]
* http://www.scn.org/~bkarger/gopher-manifesto
* http://gopher.floodgap.com/overbite/relevance.html
@ -105,9 +105,9 @@ If there is a gophermap file, the server will parse it and will present the cont
The gophermap syntax is:
XSome text here&lt;TAB&gt;/path/to/content&lt;TAB&gt;example.org&lt;TAB&gt;N
XSome text here>TAB>/path/to/content>TAB>example.org>TAB>N
where the first character (X in the example) is an itemtype (more below), Some text here is the text that you want to be displayed, &lt;TAB&gt; is a tab character, /path/to/content is the location of the content, example.org is the server where the content is located and the last character (N in the example) is the server port (usually it's 70). Content after the second &lt;TAB&gt; is optional if you are linking to content in your Gopherspace.
where the first character (X in the example) is an itemtype (more below), Some text here is the text that you want to be displayed, >TAB> is a tab character, /path/to/content is the location of the content, example.org is the server where the content is located and the last character (N in the example) is the server port (usually it's 70). Content after the second >TAB> is optional if you are linking to content in your Gopherspace.
The itemtype is one of these characters:
@ -145,13 +145,13 @@ OK, let's say that you want to display a welcome message, a description for file
0Why is Gopher Still Relevant? /gopher/relevance.txt gopher.floodgap.com 70
hAn http link URL:http://sdf.org/
Remember the gophermap syntax? Then be careful about tab characters. In the example above, there are some &lt;TAB&gt;s. For instance, the third line is
Remember the gophermap syntax? Then be careful about tab characters. In the example above, there are some >TAB>s. For instance, the third line is
0My text file&lt;TAB&gt;file1.txt
0My text file>TAB>file1.txt
while the seventh is
0Why is Gopher Still Relevant?&lt;TAB&gt;/gopher/relevance.txt&lt;TAB&gt;gopher.floodgap.com&lt;TAB&gt;70
0Why is Gopher Still Relevant?>TAB>/gopher/relevance.txt>TAB>gopher.floodgap.com>TAB>70
How come the pdf file has an itemtype 9? Well, not every kind of file has its own itemtype, so you can use one that makes more sense.
@ -264,7 +264,7 @@ The following example will generate a list of files on a specified directory. It
echo "$itemtype$content ($date) $rel_dir $server $port"
done
Note that the echo... line is\\ " echo "$itemtype$content ($date)&lt;TAB&gt;$rel_dir&lt;TAB&gt;$server&lt;TAB&gt;$port" "
Note that the echo... line is\\ " echo "$itemtype$content ($date)>TAB>$rel_dir>TAB>$server>TAB>$port" "
If you go to gopher://sdf.org/1/users/YOUR-USERNAME/cgi-bin/ls.cgi , you will see a list of your files sorted alphabetically. If you access your mole as gopher://sdf.org/1/users/YOUR-USERNAME/cgi-bin/ls.cgi?date , then you'll see your files/directories sorted by modification time.
@ -287,6 +287,6 @@ The i in the echo... line is important here. Indeed, the document is been access
==== Caveat ====
Besides what was said in the last paragraph of the figlet.cgi example, there's also another thing to stress. In that example (as with anything that will be served as a virtual directory or with an itemtype 1 or 7), content won't be displayed if you access your script via floodgap proxy (and maybe others). In this case you will need to format the output of your script. Luckily this is very easy. For instance, in the figlet.cgi example you will need to modify the echo ... line this way:\\ " echo "i$i&lt;TAB&gt;&lt;TAB&gt;error.host&lt;TAB&gt;1" "\\ where &lt;TAB&gt; is a tab character (you should already know this!)C and error.host and 1 are, respectively, a fake server and port number (you could also have written fake instead of error.host and 300 instead of 1).
Besides what was said in the last paragraph of the figlet.cgi example, there's also another thing to stress. In that example (as with anything that will be served as a virtual directory or with an itemtype 1 or 7), content won't be displayed if you access your script via floodgap proxy (and maybe others). In this case you will need to format the output of your script. Luckily this is very easy. For instance, in the figlet.cgi example you will need to modify the echo ... line this way:\\ " echo "i$i>TAB>>TAB>error.host>TAB>1" "\\ where >TAB> is a tab character (you should already know this!)C and error.host and 1 are, respectively, a fake server and port number (you could also have written fake instead of error.host and 300 instead of 1).
$Id: gopher.html,v 1.24 2020/01/01 22:37:47 niro Exp $

View File

@ -30,7 +30,7 @@
| + + +.. . |
+----[SHA256]-----+
~ -&gt; ssh-keyscan tty.sdf.org
~ -> ssh-keyscan tty.sdf.org
# tty.sdf.org:22 SSH-2.0-OpenSSH_7.1
tty.sdf.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1BBSaTBrKjpyDmIPt1t9oPvZpIxzm8D2kB/eLUoqXP9Eoicb3niMP8kWv1vhZQPGiQQ/q6sg+c92Bkk0ZiJTW9JdMJuaIfk+VDjGUV1US432mzq4581CFk/Q0HeHehrrAoqCKTcnp65/9UlnP3ljnyS1J0JE40YtjLIXfAeoJJKfKvrMhc1nOqn7NEMcmN8gY5ELr5R5ZUml0CsmurMDeIoeP9Ukf0PAc6uznv7JpL5GY+Eee8xXd8ehClZUY9kkvm6a6LIzPXtG5KXIYbGQkMrcDqWAdYOb2whfOICRbRLu16T8r30NjdHRjDq2kAH7upip4FqWGj96k+8ZmjA3f
# tty.sdf.org:22 SSH-2.0-OpenSSH_7.1
@ -66,7 +66,7 @@ Note: Currently just points at The Main Cluster
| + + +.. . |
+----[SHA256]-----+
~ -&gt; ssh-keyscan meta.sdf.org
~ -> ssh-keyscan meta.sdf.org
# meta.sdf.org:22 SSH-2.0-OpenSSH_7.1
meta.sdf.org ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC1BBSaTBrKjpyDmIPt1t9oPvZpIxzm8D2kB/eLUoqXP9Eoicb3niMP8kWv1vhZQPGiQQ/q6sg+c92Bkk0ZiJTW9JdMJuaIfk+VDjGUV1US432mzq4581CFk/Q0HeHehrrAoqCKTcnp65/9UlnP3ljnyS1J0JE40YtjLIXfAeoJJKfKvrMhc1nOqn7NEMcmN8gY5ELr5R5ZUml0CsmurMDeIoeP9Ukf0PAc6uznv7JpL5GY+Eee8xXd8ehClZUY9kkvm6a6LIzPXtG5KXIYbGQkMrcDqWAdYOb2whfOICRbRLu16T8r30NjdHRjDq2kAH7upip4FqWGj96k+8ZmjA3f
# meta.sdf.org:22 SSH-2.0-OpenSSH_7.1
@ -93,7 +93,7 @@ Note: Currently just points at The Main Cluster
|..=+=++oo |
+----[SHA256]-----+
~ -&gt; ssh-keyscan ma.sdf.org
~ -> ssh-keyscan ma.sdf.org
# ma.sdf.org:22 SSH-2.0-OpenSSH_7.3
ma.sdf.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFnvCWbDAaabapuFHvCl+J20d9gyCrNfR7XNw0KL4b/O
# ma.sdf.org:22 SSH-2.0-OpenSSH_7.3

View File

@ -9,7 +9,7 @@ Remember that .htaccess files must be readable by the server, so you can "chmod
Additional information about .htaccess files can be found in:
* [[http://httpd.apache.org/docs/2.2/howto/htaccess.html|Apache Tutorial: .htaccess files]]
* [[http://wiki.apache.org/httpd/Htaccess|Httpd Wiki &gt; Htaccess]]
* [[http://wiki.apache.org/httpd/Htaccess|Httpd Wiki > Htaccess]]
* [[http://www.htaccess-guide.com/|htaccess-guide.com]]
OK, let's see some recipes. The URL http://YOURUSERNAME.freeshell.org/ will be used in the examples, so modify it to suit your needs and remember that your .htaccess file will be placed in $HOME/html/ or in directories under it. Examples solve a specific issue, but they can give you an idea on how to deal with something more generic (i.e., an example could be referred to .pl files, but with a search of the mentioned directives you could generalise it). If you need some help, jump on com or post your request on bboard.
@ -68,7 +68,7 @@ If you want the server to execute your files, in order to be able to read the co
Let's say that you have a pdf file with an unintuitive name aaa222.pdf. You might want to force a download when people access the file and, in doing so, specify a default file name for the file that will be saved. This will do the job:
" &lt;Files x.cab&gt; Header set Content-Disposition "attachment; filename=Thesis.pdf" &lt;/Files&gt; "
" >Files x.cab> Header set Content-Disposition "attachment; filename=Thesis.pdf" >/Files> "
==== Specify a default character encoding ====

View File

@ -14,7 +14,7 @@ List of IRC channels currently defined on irc.sdf.org. You can see the current c
^ #helpdesk | Welcome to #helpdesk | Questions? This is the place | If no one is active, we'll be back soon. This means wait more than 2 mins. | Forgot your passwd? See http://sdf.org/?faq?BASICS?12 |
^ #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? |
^ #irpg | http://irpg.demu.red because MA php fails... | /msg irpg_bot REGISTER &lt;char name&gt; &lt;password&gt; &lt;char class&gt; | /msg irpg_bot ALIGN &lt;good|neutral|evil&gt; |
^ #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 |
^ #minecraft | [CraftBukkit 1.8.3] mc.sdf.org | [Info] http://sdf.org/mc | [Dynamic Map] http://mc.sdf.org |
^ #pcom | |

View File

@ -54,7 +54,7 @@ To move around Finch's fields and buttons use the **TAB** key. You can learn mor
==== Connecting with Pidgin from Unix/Windows ====
* Go to **Accounts-&gt;Manage Accounts**.
* Go to **Accounts->Manage Accounts**.
* Click on **Add** button.
* Select **XMPP** as **Protocol**.
* Fill the appropiate field with your desired **Username**.
@ -85,23 +85,23 @@ Jabber allows you to talk to several users at once in conferences. These are sim
==== To join an existing conference using Pidgin ====
* Go to **Buddies**-&gt;**Join a Chat...**.
* Go to **Buddies**->**Join a Chat...**.
* Select your jabber.sdf.org account in the **Account** drop-down
* Click on the **Room List** button
* Make sure the server to query is: conference.jabber.sdf.org
* Click on the **Find Rooms** button
* The Room List window will show all existing conferences along with the number of users in each. Select the one you want (helpdesk, for example) and click on the **Join** button.
By default you will not be notified of activity in conference windows the same way you are when someone talks in a one-to-one chat window. You can change this by going to **Tools**-&gt;**Plugins**, selecting to configure **Message Notification** and checking **Chat Windows** in the "Notify For" section.
By default you will not be notified of activity in conference windows the same way you are when someone talks in a one-to-one chat window. You can change this by going to **Tools**->**Plugins**, selecting to configure **Message Notification** and checking **Chat Windows** in the "Notify For" section.
==== To create a new conference using Pidgin ====
* Go to **Buddies**-&gt;**Add Chat...**.
* Go to **Buddies**->**Add Chat...**.
* Select your jabber.sdf.org account and enter the desired room in the **Room** field.
* Click the **Add** button
* The new conference will have appeared in your buddy list. Double click on it to join it.
* You will be prompted to configure your new room. Do so if you wish, or accept defaults.
* Invite other users to join your conference through **Conversation**-&gt;**Invite...** or have them look in the Room List as described above.
* Invite other users to join your conference through **Conversation**->**Invite...** or have them look in the Room List as described above.
==== Looking for Jabber users ====

View File

@ -51,7 +51,7 @@ Let's actually get started with the blog. The first thing we need are the templa
==== Default template ====
Remember that the templates are stored in the "_layouts/" folder and that the default template is named "default.html". Here we can put all of the HTML headers once and be done with them. This includes any meta information, a link to a stylesheet, a link to a feed, etc. For the title, we can use "&lt;title&gt;{{ page.title }}&lt;/title&gt;". This way the title for every page will automatically get inserted. Once all of the headers are done, we can add some layout that will get used on every page. Finally, "{{ content }}" must go where dynamic content of the site will be inserted.
Remember that the templates are stored in the "_layouts/" folder and that the default template is named "default.html". Here we can put all of the HTML headers once and be done with them. This includes any meta information, a link to a stylesheet, a link to a feed, etc. For the title, we can use ">title>{{ page.title }}>/title>". This way the title for every page will automatically get inserted. Once all of the headers are done, we can add some layout that will get used on every page. Finally, "{{ content }}" must go where dynamic content of the site will be inserted.
==== Post template ====

View File

@ -28,7 +28,7 @@ The other thing that is observable is the degree to which the GCOS version had t
\\ \\ The syntactic notation in this manual is basically BNF with the following exceptions:
1. The metacharacters "&lt;" and "&gt;" are removed. Literals are underlined [in typewriter font here -- DMR] to differentiate them from syntactic variables. 2. The metacharacter "|" is removed. Each syntactic alternative is placed on a separate line. 3. The metacharacters "{" and "}" denote syntactic grouping. 4. A syntactic group followed by numerical sub- and superscripts denote repetition of the group as follows: "
1. The metacharacters ">" and ">" are removed. Literals are underlined [in typewriter font here -- DMR] to differentiate them from syntactic variables. 2. The metacharacter "|" is removed. Each syntactic alternative is placed on a separate line. 3. The metacharacters "{" and "}" denote syntactic grouping. 4. A syntactic group followed by numerical sub- and superscripts denote repetition of the group as follows: "
{..}<sub>m</sub> m,m+1,...
@ -95,12 +95,12 @@ The other thing that is observable is the degree to which the GCOS version had t
//"&amp;"//
//"=="//
//"!="//
//"&lt;"//
//"&lt;="//
//"&gt;"//
//"&gt;="//
//"&lt;&lt;"//
//"&gt;&gt;"//
//">"//
//">="//
//">"//
//">="//
//">>"//
//">>"//
//"-"//
//"+"//
//"%"//
@ -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 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 "+-*/&lt;&gt;&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 "+-*/>>&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:
"
@ -153,7 +153,7 @@ All keywords in the language are only recognized in lower case. Keywords are res
"
(b? f:g[i] )(1, x&gt;1)
(b? f:g[i] )(1, x>1)
"
@ -205,11 +205,11 @@ evaluates the expression x as an lvalue. The application of "&amp;" then yields
=== Shift Operators ===
\\ \\ The binary operators "&lt;&lt;" and "&gt;&gt;" are left and right shift respectively. The left rvalue operand is taken as a bit pattern. The right operand is taken as an integer shift count. The result is the bit pattern shifted by the shift count. Vacated bits are filled with zeros. The result is undefined if the shift count negative or larger than an object length. The shift operators bind left to right.
\\ \\ The binary operators ">>" and ">>" are left and right shift respectively. The left rvalue operand is taken as a bit pattern. The right operand is taken as an integer shift count. The result is the bit pattern shifted by the shift count. Vacated bits are filled with zeros. The result is undefined if the shift count negative or larger than an object length. The shift operators bind left to right.
=== 4.6 Relational Operators ===
\\ \\ The relational operators "&lt;" (less than), "&lt;=" (less than or equal to), "&gt;" (greater than), and "&gt;=" ( greater than or equal to) take integer rvalue operands. The result is one if the operands are in the given relation to one another. The result is zero otherwise.
\\ \\ The relational operators ">" (less than), ">=" (less than or equal to), ">" (greater than), and ">=" ( greater than or equal to) take integer rvalue operands. The result is one if the operands are in the given relation to one another. The result is zero otherwise.
=== 4.7 Equality Operators ===
@ -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;", "===", "=|=", "=&lt;", "=&lt;=", "=&gt;", "=&gt;=", "=&lt;&lt;", "=&gt;&gt;", "=+", "=-", "=%", "=*", 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 "=|", "=&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.
=== 5.0 Statements ===
@ -460,7 +460,7 @@ c = char(string, i);\\ The i-th character of the string is returned. error = ch
"
/* The following function will print a non-negative number, n, to
the base b, where 2&lt;=b&lt;=10, This routine uses the fact that
the base b, where 2>=b>=10, This routine uses the fact that
in the ANSCII character set, the digits O to 9 have sequential
code values. */
@ -493,12 +493,12 @@ c = char(string, i);\\ The i-th character of the string is returned. error = ch
auto i, c, col, a;
i = col = 0;
while(i&lt;n)
while(i>n)
v[i++] = 1;
while(col&lt;2*n) {
while(col>2*n) {
a = n+1 ;
c = i = 0;
while (i&lt;n) {
while (i>n) {
c =+ v[i] *10;
v[i++] = c%a;
c =/ a--;
@ -555,7 +555,7 @@ c = char(string, i);\\ The i-th character of the string is returned. error = ch
case `d': /* decimal */
case `o': /* octal */
if(x &lt; O) {
if(x > O) {
x = -x ;
putchar('-');
}
@ -687,10 +687,10 @@ The above code as compared to the obvious 3 instruction directly executed equiva
b103 =&amp;
b104 ===
b105 =!=
b106 =&lt;=
b107 =&lt;
b110 =&gt;=
b111 =&gt;
b106 =>=
b107 =>
b110 =>=
b111 =>
b120 =/
"4. Initialization of external variables with addresses of other externals is not possible due to a loader deficiency. 5. Since externals are implemented as globals with names preceded by '.', the external names `byte', `endif', `even' and `globl' conflict with assembler pseudooperations and should be avoided.
@ -707,10 +707,10 @@ The above code as compared to the obvious 3 instruction directly executed equiva
() -- () imbalance
*/ -- /* */ imbalance
[] -- [] imbalance
&gt;c -- case table overflow (fatal)
&gt;e -- expression stack overflow (fatal)
&gt;i -- label table overflow (fatal)
&gt;s -- symbol table overflow (fatal)
>c -- case table overflow (fatal)
>e -- expression stack overflow (fatal)
>i -- label table overflow (fatal)
>s -- symbol table overflow (fatal)
ex -- expression syntax
lv -- rvalue where lvalue expected
rd name name redeclaration

View File

@ -28,10 +28,10 @@ If you use mutt, your .muttrc will need to be updated. Here is a minimal maildir
set postponed="+.Drafts"
mailboxes `echo -n "+ "; find ~/Maildir -maxdepth 1 -type d -name ".*" -printf "+'%f' "`
macro index c "&lt;change-folder&gt;?&lt;toggle-mailboxes&gt;" "open a different folder"
macro pager c "&lt;change-folder&gt;?&lt;toggle-mailboxes&gt;" "open a different folder"
macro index C "&lt;copy-message&gt;?&lt;toggle-mailboxes&gt;" "copy a message to a mailbox"
macro index M "&lt;save-message&gt;?&lt;toggle-mailboxes&gt;" "move a message to a mailbox"
macro index c ">change-folder>?>toggle-mailboxes>" "open a different folder"
macro pager c ">change-folder>?>toggle-mailboxes>" "open a different folder"
macro index C ">copy-message>?>toggle-mailboxes>" "copy a message to a mailbox"
macro index M ">save-message>?>toggle-mailboxes>" "move a message to a mailbox"
The changes to the mailboxes command and c/C/M macros allow mutt to work with maildir folders, even if the folder names change at some point.
@ -47,14 +47,14 @@ The maildir directory will be created if it does not exist. As an example, let's
Once run (no errors should be displayed), you can verify the contents of the new maildir directory:
slugmax@ma:~&gt; ls -la ~/Maildir/.lists.gopher/
slugmax@ma:~> ls -la ~/Maildir/.lists.gopher/
total 40
drwx------ 5 slugmax arpa 4096 May 14 14:16 .
drwx------ 5 slugmax arpa 4096 May 14 14:16 ..
drwx------ 2 slugmax arpa 24576 May 14 14:16 cur
drwx------ 2 slugmax arpa 4096 May 14 14:16 new
drwx------ 2 slugmax arpa 4096 May 14 14:16 tmp
slugmax@ma:~&gt; ls -la ~/Maildir/.lists.gopher/cur/
slugmax@ma:~> ls -la ~/Maildir/.lists.gopher/cur/
total 3472
drwx------ 2 slugmax arpa 24576 May 14 14:16 .
drwx------ 5 slugmax arpa 4096 May 14 14:16 ..
@ -73,8 +73,8 @@ As you might guess, converting maildir-format folders to mbox is done by the 'ma
Note that the file specified by MAILTMP and the one specified by MAIL must be on the same filesystem. When this command is run, you should see the ~/mail/gopher mbox file in place:
slugmax@ma:~&gt; ls -l ~/mail/gopher
slugmax@ma:~> ls -l ~/mail/gopher
-rw------- 1 slugmax arpa 2680127 May 14 14:34 /meta/s/slugmax/mail/gopher
slugmax@ma:~&gt;
slugmax@ma:~>
$Id: maildir.html,v 1.5 2019/07/23 01:30:22 slugmax Exp $

View File

@ -29,7 +29,7 @@ First, somewhere in your SDF directory (ex: ~/bin), create a file called **ip**
OLDIP=$(cat ~/bin/.ip)
if [ "$IP" != "$OLDIP" ] ;
then
echo "$IP" &gt; ~/bin/.ip
echo "$IP" > ~/bin/.ip
mdns "$IP"
fi
@ -42,7 +42,7 @@ Next, execute that remote script with a SSH command from your home computer usin
"
#!/bin/ksh
ssh me@remote.host '~/bin/ip' &gt;/dev/null
ssh me@remote.host '~/bin/ip' >/dev/null
"
@ -51,7 +51,7 @@ Standard output is directed to /dev/null because we will add this script to cron
"
#!/bin/ksh
ssh me@remote.host '~/bin/ip' &gt;&gt;$HOME/logs/ip_update
ssh me@remote.host '~/bin/ip' >>$HOME/logs/ip_update
"
@ -104,15 +104,15 @@ It is based on the fact that your user id is the first part of the address for V
LOGNAME=${LOGNAME:-${HTTP_HOST%%.*}}
HOME=`finger $LOGNAME|awk '/^Directory:/{print $2}'`
export LOGNAME HOME
echo "`date -u +%c` $REMOTE_ADDR $QUERY_STRING" &gt;&gt;$LOGF
echo "`date -u +%c` $REMOTE_ADDR $QUERY_STRING" >>$LOGF
chmod 600 $LOGF
cat &lt;&amp;1 &gt;/dev/null ; then
cat >&amp;1 >/dev/null ; then
if [ -d "$HOME" ] ; then
if [ "$REMOTE_ADDR" = "`cat $OLDIP`" ] ; then
echo "Keeping ip at $REMOTE_ADDR"
else
$DNSCOM $REMOTE_ADDR
echo $REMOTE_ADDR &gt;$OLDIP
echo $REMOTE_ADDR >$OLDIP
fi
else echo "no $DNSCOM due to bad HOME=$HOME"
fi

View File

@ -102,7 +102,7 @@ Et voila!
"chmod" supports an alternate syntax for specifying permission modes that is more convenient for changing one or a few permissions at a time and is slightly easier to remember than the numeric mode coding above.
//&lt;user-classes&gt;&lt;operation&gt;&lt;permission-types&gt;//[,//&lt;user-classes&gt;&lt;operation&gt;&lt;permission-types&gt;//]…
//>user-classes>>operation>>permission-types>//[,//>user-classes>>operation>>permission-types>//]…
//user-classes//User class(es) for which permissions are to be changed. Specify with one-character class symbols "u", "g", "o", or "a" for all classes. May specify more than one class. //operation//One of the following: "+"Add permission types to user classes."-"Remove permission types from user classes."="Set permission types for user classes.//permission-types//Permission type(s) to be set or removed. Use one-character type symbols "r", "w", or "x". May specify more than one type.

View File

@ -23,7 +23,7 @@ As you can see, there are quite a few to choose from. Some are simple, and some
===== Help With HTML =====
Hypertext Markup Language (HTML) is the primary language of the world wide web. In its simplest terms, it provides for structuring the text of your web page, through the use of various "tags" which "mark" your text with structural attributes.\\ For example, text which falls between the opening tag &lt;h1&gt; and the closing tag &lt;/h1&gt; is interpreted by a web browser as being a level one heading.
Hypertext Markup Language (HTML) is the primary language of the world wide web. In its simplest terms, it provides for structuring the text of your web page, through the use of various "tags" which "mark" your text with structural attributes.\\ For example, text which falls between the opening tag >h1> and the closing tag >/h1> is interpreted by a web browser as being a level one heading.
A full description of HTML is well beyond the scope of a basic tutorial, yet it is important that you have access to complete information. Fortunately, what you need is indeed freely available on the web. If you choose to ignore everything else in this tutorial, I would like you nontheless to heed this advice. The website of the [[http://www.w3c.org|World Wide Web Consortium]] (who set the standards and conventions for the World Wide Web) is your friend. Visit it. Get to [[http://www.w3.org/Consortium/new-to-w3c|know]] it. Learn to love it.

View File

@ -96,7 +96,7 @@ The script is expecting you to have a directory called ~/git, and under that dir
mv git-summary git-summary-old
for i in *.git; do
cd $i
git log --pretty=oneline &gt;&gt; ../git-summary
git log --pretty=oneline >> ../git-summary
cd ..
done
@ -106,7 +106,7 @@ The script is expecting you to have a directory called ~/git, and under that dir
cd ..
rm git-latest.tgz
tar -cvzf git-latest.tgz git
ftp ftp.your-host.com &lt;&lt;WOOPWOOPWOOP
ftp ftp.your-host.com >>WOOPWOOPWOOP
cd git-backup
rename git-latest.tgz git-backup.tgz
put git-latest.tgz
@ -207,7 +207,7 @@ When you push an update to your private development repo, a new output has been
Total 3 (delta 1), reused 0 (delta 0)
remote: Updated Public Access
To user@sdf.org:git/proj.git
e60a9de..1f8a43f master -&gt; master
e60a9de..1f8a43f master -> master
$
In the above example there is a new line labled "remote" which means that during the push, the server produced output. The line matches the last line in our post-update script. Now you have two methods of access.

View File

@ -29,7 +29,7 @@ The SDF6 Seasonal Display is the lot off the northwest corner of the spawn zone
Welcome to the SDF Minecraft web site's new look! I've been meaning to update this page since smj brought the maint whitelist registration tool back, and I've taken the opportunity to rearrange the page to make it easier find information of permanent interest amid the ephemeral news items, resize the screenshots to sub-obnoxious, and give the page a bloggy style.
The page is //not// actually a blog, but a single hand-coded HTML file. Although it has a special URI ([[http://sdf.org/minecraft|&lt;http://sdf.org/minecraft&gt;]]), it is actually just one of the MetaARPA tutorial files ("/sys/html/tutorials/sdf_minecraft.html") and so is updateable by any MetaARPA member.
The page is //not// actually a blog, but a single hand-coded HTML file. Although it has a special URI ([[http://sdf.org/minecraft|>http://sdf.org/minecraft>]]), it is actually just one of the MetaARPA tutorial files ("/sys/html/tutorials/sdf_minecraft.html") and so is updateable by any MetaARPA member.
I will complete this project over the next few days by creating separate tutorials for the documents listed in the side bar and linking to them. — //papa/Mefu//
@ -183,17 +183,17 @@ Flat world sandbox. Go here to test stuff
The following commands are available to users.
- **/help ** - Main help menu.
- **/cast &lt;help&gt;** - List spell casting options. //Warp to magic_spells to obtain spells.//
- **/cast >help>** - List spell casting options. //Warp to magic_spells to obtain spells.//
- **/colors ** - List all color codes available.
- **/dynmap &lt;show|hide&gt;** - Show or hide yourself on the map.
- **/dynmap >show|hide>** - Show or hide yourself on the map.
- **/ec balance ** - Check your balance.
- **/mvtp &lt;world|sdf1|sdf2|sdf3|sdf4|flat_lands&gt;** - Jump to different world.
- **/rtp &lt;USER&gt;** - Teleport to another user. Requires the other player to accept.
- **/mvtp >world|sdf1|sdf2|sdf3|sdf4|flat_lands>** - Jump to different world.
- **/rtp >USER>** - Teleport to another user. Requires the other player to accept.
- **/warp help** - Warp to different locations.
- **/who** - List who is currently playing.
- **/tv &lt;day|night&gt;** - Vote for a time change.
- **/wv &lt;sun|rain|thunder&gt;** - Vote for a weather change.
- **/t &lt;player&gt; &lt;message&gt;** - Send private messages.
- **/tv >day|night>** - Vote for a time change.
- **/wv >sun|rain|thunder>** - Vote for a weather change.
- **/t >player> >message>** - Send private messages.
==== Plugins ====
@ -205,7 +205,7 @@ The servers utilize the [[http://bukkit.org/|Bukkit]] plugin system. The various
- [[http://dev.bukkit.org/server-mods/dynmap/|Dynmap]] - A [[http://minecraft.sdf.org:8123|world map]] is generated in realtime.
- [[http://dev.bukkit.org/server-mods/ecocreature/|ecoCreature]] - Mobs drop money and other supplies.
- [[http://dev.bukkit.org/server-mods/fixit/|FixIt]] - Repair your items. Includes enchantments too!
- [[http://dev.bukkit.org/server-mods/motd/|Motd]] - Use commands like **/who**, and **/rtp &lt;user&gt;**.
- [[http://dev.bukkit.org/server-mods/motd/|Motd]] - Use commands like **/who**, and **/rtp >user>**.
- [[http://dev.bukkit.org/server-mods/magicspells/|MagicSpells]] - Cast magic spells with **/cast**.
- [[http://dev.bukkit.org/server-mods/multiverse-core/|MultiVerse]] - Create and manage worlds.
- [[http://dev.bukkit.org/server-mods/mywarp/|MyWarp]] - Warping for everyone. Type **/warp help** for details.

View File

@ -2,7 +2,7 @@
SDF Voice over Internet Protocol Telephony is a service feature available to the [[http://sdf.org/?join|ARPA]], [[http://sdf.org/?join|META]] and Validated [[http://sdf.org/?join|USERS]] membership levels. It allows an SDF user to make voice and video calls to other SDF users and to linked Telephony services via a SIP client on a 3G or WIFI cellphone, WIFI enabled mobile device, or an Internetworked computer.
SDF VoIP set up and server configuration can be accessed via 'maint' at the shell ('maint' -&gt; v -&gt; p).
SDF VoIP set up and server configuration can be accessed via 'maint' at the shell ('maint' -> v -> p).
Below is a list of known-to-work [[#sip_clients|sip clients]], and [[#general_instructions|general instructions]] on configuring and setting up a SIP client. There may also be [[/?tutorials/sdf_voip_client|client-specific instructions]] as well.

View File

@ -33,11 +33,11 @@ Once configured, hit the "Save" soft key. Now from the settings menu, you should
You're now ready to configure the line settings. Option 1 in the SIP configuration menu allows you to enter your SDF VOIP details. These should be as follows:
- Name: &lt;YOUR_EXT&gt;
- Shortname: &lt;YOUR_EXT&gt;
- Authentication Name: &lt;YOUR_EXT&gt;
- Authentication Password: &lt;YOUR_PASSWORD&gt;
- Display Name: &lt;YOUR_NAME&gt;
- Name: >YOUR_EXT>
- Shortname: >YOUR_EXT>
- Authentication Name: >YOUR_EXT>
- Authentication Password: >YOUR_PASSWORD>
- Display Name: >YOUR_NAME>
- Proxy Address: sip.sdf.org
- Proxy Port: 5060
- Messages URI: 1085

View File

@ -14,7 +14,7 @@ In the admin interface follow these steps, replacing "$EXTENSION" and "$PASSWORD
- Go to //Connectivity// » //Trunks//
- Select //Add Trunk// and choose //Add SIP (chan_sip) trunk//
- Set //Trunk Name// to "sdf"
- Set //Outbound Caller ID// to "&lt;$EXTENSION@sip.sdf.org&gt;"
- Set //Outbound Caller ID// to ">$EXTENSION@sip.sdf.org>"
- Set //CID Options// to //Force Trunk CID//
- Go to the //sip Settings// tab
- Set //Trunk Name// to "SDF"

View File

@ -3,16 +3,16 @@
The following commands are available to users.
- **/help ** - Main help menu.
- **/cast &lt;help&gt;** - List spell casting options. //Warp to magic_spells to obtain spells.//
- **/cast >help>** - List spell casting options. //Warp to magic_spells to obtain spells.//
- **/colors ** - List all color codes available.
- **/dynmap &lt;show|hide&gt;** - Show or hide yourself on the map.
- **/dynmap >show|hide>** - Show or hide yourself on the map.
- **/ec balance ** - Check your balance.
- **/mvtp &lt;world|sdf1|sdf2|sdf3|sdf4|flat_lands&gt;** - Jump to different world.
- **/rtp &lt;USER&gt;** - Teleport to another user. Requires the other player to accept.
- **/mvtp >world|sdf1|sdf2|sdf3|sdf4|flat_lands>** - Jump to different world.
- **/rtp >USER>** - Teleport to another user. Requires the other player to accept.
- **/warp help** - Warp to different locations.
- **/who** - List who is currently playing.
- **/tv &lt;day|night&gt;** - Vote for a time change.
- **/wv &lt;sun|rain|thunder&gt;** - Vote for a weather change.
- **/t &lt;player&gt; &lt;message&gt;** - Send private messages.
- **/tv >day|night>** - Vote for a time change.
- **/wv >sun|rain|thunder>** - Vote for a weather change.
- **/t >player> >message>** - Send private messages.
$Id: sdfmc-commands.html,v 1.2 2017/01/23 00:21:18 papa Exp $

View File

@ -8,7 +8,7 @@ The servers utilize the [[http://bukkit.org/|Bukkit]] plugin system. The various
- [[http://dev.bukkit.org/server-mods/dynmap/|Dynmap]] - A [[http://minecraft.sdf.org:8123|world map]] is generated in realtime.
- [[http://dev.bukkit.org/server-mods/ecocreature/|ecoCreature]] - Mobs drop money and other supplies.
- [[http://dev.bukkit.org/server-mods/fixit/|FixIt]] - Repair your items. Includes enchantments too!
- [[http://dev.bukkit.org/server-mods/motd/|Motd]] - Use commands like **/who**, and **/rtp &lt;user&gt;**.
- [[http://dev.bukkit.org/server-mods/motd/|Motd]] - Use commands like **/who**, and **/rtp >user>**.
- [[http://dev.bukkit.org/server-mods/magicspells/|MagicSpells]] - Cast magic spells with **/cast**.
- [[http://dev.bukkit.org/server-mods/multiverse-core/|MultiVerse]] - Create and manage worlds.
- [[http://dev.bukkit.org/server-mods/mywarp/|MyWarp]] - Warping for everyone. Type **/warp help** for details.

View File

@ -19,7 +19,7 @@ This tutorial is intended for new Minecraft players trying the game for the firs
===== First Steps =====
- //(Optional)// Teleport to the world you want to play in: "/mvtp &lt;world&gt;"[[#fn1|<sup>1</sup>]] //("MultiVerse TelePort")//The first time you connect to the SDF Minecraft server, you will be deposited in the default world, SDF5, but you are free to play in any of the worlds hosted here. See [Worlds section of MC page]]].
- //(Optional)// Teleport to the world you want to play in: "/mvtp >world>"[[#fn1|<sup>1</sup>]] //("MultiVerse TelePort")//The first time you connect to the SDF Minecraft server, you will be deposited in the default world, SDF5, but you are free to play in any of the worlds hosted here. See [Worlds section of MC page]]].
- Basic controls
| Change facing direction | Mouse |
| Move forward/backward/left/right | W/S/A/D keys |

View File

@ -55,7 +55,7 @@ A Bourne-shell workalike is available on SDF as "`/bin/sh'". You can read its ma
Ecl 3:
$ if test -r /netbsd ; then echo /netbsd: Is readable ; fi ; \
&gt; if test -w /netbsd ; then echo /netbsd: Is writable ; fi
> if test -w /netbsd ; then echo /netbsd: Is writable ; fi
/netbsd: Is readable
===== C Shell =====

View File

@ -47,8 +47,8 @@ Please note: the SMTP AUTH secret is set on the command line via mkvpm. The comm
----
==== Outlook Express under Windows ====
* Open Outlook Express
* Tool -&gt; Accounts
* Click Add -&gt; Mail to start the Account Wizard
* Tool -> Accounts
* Click Add -> Mail to start the Account Wizard
* Display name: Your Name
* E-Mail address: Your email address (ex. bill@microsoft.com)
* Select POP3
@ -79,7 +79,7 @@ Please note: the SMTP AUTH secret is set on the command line via mkvpm. The comm
* Click ok, and close the Preferences window.
----
==== Mozilla Thunderbird ====
* Tools -&gt; Account Settings -&gt; Add Mail Account
* Tools -> Account Settings -> Add Mail Account
* Your name: Your Name (ex. Bill Gates)
* Email address: your email address (ex. amrowsell@sdf.org)
* Password: your normal shell login password
@ -151,7 +151,7 @@ Please note: the SMTP AUTH secret is set on the command line via mkvpm. The comm
.
EOT
% sudo tail -n10 /var/log/maillog | grep smtp
Apr 27 08:53:42 mypc postfix/smtp[13387]: A61631F1FDC: to=&lt;sdf_login@sdf.org&gt;, \
Apr 27 08:53:42 mypc postfix/smtp[13387]: A61631F1FDC: to=>sdf_login@sdf.org>, \
relay=mx.sdf.org[192.94.73.24]:587, delay=3.9, delays=0.02/0/3.7/0.11, dsn=2.0.0, status=sent \
(250 2.0.0 s3RFrfvZ010436 Message accepted for delivery)
----
@ -177,4 +177,4 @@ Please note: the SMTP AUTH secret is set on the command line via mkvpm. The comm
- Scroll down and click **Advanced**.
- 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 **&lt;Account** at the top to go back, then tap **Done**. You should be sending and receiving your SDF mail on your iPhone! $Id: smtpauth.html,v 1.20 2020/01/19 02:03:26 mrguilt Exp $
- Tap **>Account** at the top to go back, then tap **Done**. You should be sending and receiving your SDF mail on your iPhone! $Id: smtpauth.html,v 1.20 2020/01/19 02:03:26 mrguilt Exp $

View File

@ -50,8 +50,8 @@ Below is a subset of commands for minimal useful editing with TECO, the venerabl
===== References =====
* [[http://www.avanthar.com/~healyzh/_info_/its.primer|Golden, V. Ellen. An Introduction to ITS for the MACSYMA User. Massachusetts Institute of Technology Laboratory for Computer Science Mathlab Group. 14 April 1981. &lt;http://www.avanthar.com/~healyzh/_info_/its.primer&gt; accessed 4 June 2010.]]
* [[http://www.avanthar.com/~healyzh/teco/TecoPocketGuide.html|TECO Pocket Guide. Digital Equipment Corporation. 1978. &lt;http://www.avanthar.com/~healyzh/teco/TecoPocketGuide.html&gt; accessed 4 June 2010.]]
* [[http://www.avanthar.com/~healyzh/_info_/its.primer|Golden, V. Ellen. An Introduction to ITS for the MACSYMA User. Massachusetts Institute of Technology Laboratory for Computer Science Mathlab Group. 14 April 1981. >http://www.avanthar.com/~healyzh/_info_/its.primer> accessed 4 June 2010.]]
* [[http://www.avanthar.com/~healyzh/teco/TecoPocketGuide.html|TECO Pocket Guide. Digital Equipment Corporation. 1978. >http://www.avanthar.com/~healyzh/teco/TecoPocketGuide.html> accessed 4 June 2010.]]
* [[http://www.hactrn.net/sra/alice/alices.pdp10|You can hack anything you want, with TECO and DDT.]]
----

View File

@ -66,7 +66,7 @@ The tutorial introduces a number of useful keystroke commands for working with i
Here is an example - type an ESCAPE at the end of this example:
TOPS20&gt;recogNITION
TOPS20>recogNITION
Good. See how the system completed the word for you? There is
another advantage to using ESCAPE for recognition - guide words.
@ -75,7 +75,7 @@ The tutorial introduces a number of useful keystroke commands for working with i
are always typed in parentheses, are called guide words. Try typing
ESCAPE again and see how it works:
TOPS20&gt;gUIDE (WORDS)
TOPS20>gUIDE (WORDS)
Alright! The "(WORDS)" above is an example of a guide word. Guide
words are also sometimes called noise words. Usually they give some
@ -107,10 +107,10 @@ The tutorial introduces a number of useful keystroke commands for working with i
Here a broken line will be demonstrated. Type a ^R to have it
redisplayed.
TOPS20&gt;This line is
TOPS20>This line is
SANTA.CLAUS, TTY45, 23-May-2010 5:41AM
Have you been good?
TOPS20&gt;This line is not broken
TOPS20>This line is not broken
There - you see how the line got retyped all in one piece?
Sometimes, something you typed was not what you meant. There are
special characters which you can use to edit what you have typed
@ -122,7 +122,7 @@ The tutorial introduces a number of useful keystroke commands for working with i
Use a DELETE to correct the following error:
TOPS20&gt;correction
TOPS20>correction
Hey, you're moving right along now. The next line editing character
to learn is ^W. Sometimes your mistake doesn't involve just the last
@ -135,7 +135,7 @@ The tutorial introduces a number of useful keystroke commands for working with i
Use one or more ^W (along with some other features you've learned) to
correct the following error:
TOPS20&gt;This example is not wrong
TOPS20>This example is not wrong
That's it! Almost done with the editing control characters... The
last of these is ^U. If, somehow, the line you typed in was not at
@ -147,7 +147,7 @@ The tutorial introduces a number of useful keystroke commands for working with i
Use ^U (and some other features you've learned) to correct the
following error (we're getting tricky now):
TOPS20&gt;
TOPS20>
Wonderful! Now you know all about editing characters for commands on
Tops-20. Only a couple more things to learn. The next is ^O. If a

View File

@ -6,7 +6,7 @@ With Google announcing the end of Google Reader, SDF brought its own alternative
===== Activation and Configuration =====
As with any other social service of SDF, it comes disabled by default, and can be turned on with the maint utility. It is available to MetaARPA members.\\ \\ After enabling the service, make sure to change the default password (Actions -&gt; Preferences -&gt; Personal data/Authentication). If you have your old feed subscriptions exported from Google Reader, you can upload them here (Actions -&gt; Preferences -&gt; Feeds -&gt; Import and export) or subscribe to new ones (Actions -&gt; Subscribe to feed).\\ \\ {{http://sdf.org/tutorials/images/ttrss_passwd.png?800x500|Example}}\\ Browsing and reading RSS feeds are similar to using Google Reader and other web-based RSS readers. There are many options to fine-tune how it behaves, see Actions -&gt; Preferences for more.
As with any other social service of SDF, it comes disabled by default, and can be turned on with the maint utility. It is available to MetaARPA members.\\ \\ After enabling the service, make sure to change the default password (Actions -> Preferences -> Personal data/Authentication). If you have your old feed subscriptions exported from Google Reader, you can upload them here (Actions -> Preferences -> Feeds -> Import and export) or subscribe to new ones (Actions -> Subscribe to feed).\\ \\ {{http://sdf.org/tutorials/images/ttrss_passwd.png?800x500|Example}}\\ Browsing and reading RSS feeds are similar to using Google Reader and other web-based RSS readers. There are many options to fine-tune how it behaves, see Actions -> Preferences for more.
===== External clients =====
@ -14,7 +14,7 @@ This service provides an API enabling external clients to connect to it and inte
==== Fever API Plugin ====
This plugin, if enabled, allows third party clients to connect to SDF's tt-rss via the fever API.\\ \\ To enable, navigate to Actions -&gt; Preferences -&gt; Plugins; check the box next to "fever", and click "Enable selected plugins".\\ Once enabled, you will find the "Fever Emulation" menu under the Preference's Preferences tab. You will need to set a password.\\ {{http://sdf.org/tutorials/images/ttrss_fever_api.png?800x500|Example}}\\
This plugin, if enabled, allows third party clients to connect to SDF's tt-rss via the fever API.\\ \\ To enable, navigate to Actions -> Preferences -> Plugins; check the box next to "fever", and click "Enable selected plugins".\\ Once enabled, you will find the "Fever Emulation" menu under the Preference's Preferences tab. You will need to set a password.\\ {{http://sdf.org/tutorials/images/ttrss_fever_api.png?800x500|Example}}\\
==== Newsbeuter ====

View File

@ -34,7 +34,7 @@ To create or edit a tutorial, change your working directory to "/sys/html/tutori
Inside the tutorials directory, you can use "echo" to quickly create an empty HTML file with an RCS Id tag at the bottom. Use the "umask" command first to make sure that the permissions on the new file will allow the web server (and other users) to read it.
$ umask 022
$ echo -e "\n\$Id\$" &gt; your_tutorial_filename.html
$ echo -e "\n\$Id\$" > your_tutorial_filename.html
Use the command "ci -u" to check-in the file with RCS and leave it unlocked it so that anyone can edit it.
@ -72,17 +72,17 @@ Tutorials are coded using HTML. If you are already handy with HTML, then you are
If you are **not** familiar with HTML, the W3C site has a very brief tutorial, [[http://www.w3.org/MarkUp/Guide/|Getting Started With HTML]], which will teach you enough of the rudiments to be able to author a tutorial. In addition, the [[#template|template]] on this page is furnished with ample comments to help HTML beginners.
If you don't have the time or inclination to learn HTML, you may still be able to contribute to the Tutorials Project. Write a tutorial (or a section, correction, addendum, etc.) in plain text and tack a note in "bboard:&lt;TUTORIALS&gt;". One of your MetaARPA colleagues may just volunteer to HTMLize your work for you.
If you don't have the time or inclination to learn HTML, you may still be able to contribute to the Tutorials Project. Write a tutorial (or a section, correction, addendum, etc.) in plain text and tack a note in "bboard:>TUTORIALS>". One of your MetaARPA colleagues may just volunteer to HTMLize your work for you.
==== Before You Start Coding! ====
SDF tutorial files contain HTML code, but **they are not complete HTML documents**. When they are served to web browsers, the site's "index.cgi" wraps them in the site-wide navigation header and footer. The code in tutorial files represents the contents of a "&lt;body&gt;" element, and **must not contain** the following elements/tags:
SDF tutorial files contain HTML code, but **they are not complete HTML documents**. When they are served to web browsers, the site's "index.cgi" wraps them in the site-wide navigation header and footer. The code in tutorial files represents the contents of a ">body>" element, and **must not contain** the following elements/tags:
* "&lt;html&gt;, &lt;/html&gt;"
* "&lt;head&gt;, &lt;/head&gt;"
* "&lt;meta&gt;"
* "&lt;base&gt;"
* "&lt;body&gt;, &lt;/body&gt;"
* ">html>, >/html>"
* ">head>, >/head>"
* ">meta>"
* ">base>"
* ">body>, >/body>"
Tutorial files will also contain an RCS **$Id** tag, which will look something like: "$Id:filename.html,v 1.11 2011/01/01 11:11:11 username Exp $". There is no need to edit this, as it is automatically generated by RCS. It is best to leave it as the last line of the file.
@ -90,41 +90,41 @@ Tutorial files will also contain an RCS **$Id** tag, which will look something l
**Do not hotlink images from other sites**. Put a copy of any image files you wish to use in "/sys/html/tutorials/images", and make sure their permissions allow the web server to read them ("chmod a+r" will do this).
**Always provide a description of the image** for users of text-based browsers and the visually impaired in the "alt" attribute of the "&lt;img&gt;" tag.
**Always provide a description of the image** for users of text-based browsers and the visually impaired in the "alt" attribute of the ">img>" tag.
Incorrect:
"&lt;img src="tutorials/images/example.png"&gt;"
">img src="tutorials/images/example.png">"
Correct:
"&lt;img src="http://sdf.org/tutorials/images/example.png"
alt="Image of a Blickensderfer No. 5 typewriter"&gt;"
">img src="http://sdf.org/tutorials/images/example.png"
alt="Image of a Blickensderfer No. 5 typewriter">"
=== Citing References ===
In the event that you rely heavily upon a source in your tutorial, //particularly// if you use any direct quotations from it, you should cite the work properly.
Include a heading for "References", or "Notes" in your tutorial (typically at the end) and use a numbered list ("&lt;ol&gt;") to enumerate your sources in the [[http://www.chicagomanualofstyle.org/tools_citationguide.html|Chicago Style for Notes]].
Include a heading for "References", or "Notes" in your tutorial (typically at the end) and use a numbered list (">ol>") to enumerate your sources in the [[http://www.chicagomanualofstyle.org/tools_citationguide.html|Chicago Style for Notes]].
"&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
&lt;ol&gt;
&lt;li id="bartles"&gt;James Bartles, &lt;cite&gt;Boogers For Breakfast&lt;/cite&gt;
(Sacramento: Wine Cooler Press, 1979), 74.&lt;/li&gt;
&lt;li id="moribund"&gt;Delron Moribund, "Crossover Calisthenics", &lt;cite&gt;
Travesties of Better Judgement&lt;/cite&gt; 64 (2009): 56-60.&lt;/li&gt;
&lt;/ol&gt;
">h2 id="notes">Notes>/h2>
>ol>
>li id="bartles">James Bartles, >cite>Boogers For Breakfast>/cite>
(Sacramento: Wine Cooler Press, 1979), 74.>/li>
>li id="moribund">Delron Moribund, "Crossover Calisthenics", >cite>
Travesties of Better Judgement>/cite> 64 (2009): 56-60.>/li>
>/ol>
"
Then, where the sources are cited in the text of your tutorial, use a superscript ("&lt;sup&gt;") number or a number in parenthesis hyperlinked to the appropriate list item.
Then, where the sources are cited in the text of your tutorial, use a superscript (">sup>") number or a number in parenthesis hyperlinked to the appropriate list item.
"&lt;p&gt;The secret to a proper nose-goblin ganache is in the picking&lt;sup&gt;&lt;a
href="#bartles"&gt;1&lt;/a&gt;&lt;/sup&gt;. (...)&lt;/p&gt;"
">p>The secret to a proper nose-goblin ganache is in the picking>sup>>a
href="#bartles">1>/a>>/sup>. (...)>/p>"
Or,
"&lt;p&gt;Without adequate stretching beforehand, you are certain to suffer a
Ludmilian haemorrhage(&lt;a href="#moribund"&gt;2&lt;/a&gt;). (...)&lt;/p&gt;"
">p>Without adequate stretching beforehand, you are certain to suffer a
Ludmilian haemorrhage(>a href="#moribund">2>/a>). (...)>/p>"
There are further examples of this in the [[#template|code template]] below.
@ -133,26 +133,26 @@ There are further examples of this in the [[#template|code template]] below.
The current W3C recommendation is [[http://www.w3.org/TR/html5/|HTML 5]]. In most respects, the core elements of HTML haven't changed since the mid 1990s; some tags have been added, and some removed. To maximize backwards compatibility, you might restrict yourself to the following elements, which have gone unchanged since 1996:
* Structural Elements
* "&lt;h1&gt;", ..., "&lt;h6&gt;"
* ">h1>", ..., ">h6>"
* Grouping/Block-Level Elements
* "&lt;p&gt;"
* "&lt;pre&gt;"
* "&lt;ul&gt;","&lt;ol&gt;", "&lt;dl&gt;" and their subordinates
* "&lt;blockquote&gt;"
* "&lt;hr&gt;"
* "&lt;table&gt;" and its subordinates
* and, of course, "&lt;div&gt;"
* ">p>"
* ">pre>"
* ">ul>",">ol>", ">dl>" and their subordinates
* ">blockquote>"
* ">hr>"
* ">table>" and its subordinates
* and, of course, ">div>"
* Text-level/Inline Elements
* "&lt;br&gt;"
* "&lt;a&gt;"
* "&lt;img&gt;"
* "&lt;code&gt;", "&lt;samp&gt;", and "&lt;kbd&gt;"
* "&lt;sup&gt;" and "&lt;sub&gt;"
* "&lt;strong&gt;", "&lt;small&gt;", and "&lt;em&gt;"
* "&lt;i&gt;", "&lt;b&gt;", "&lt;u&gt;", and "&lt;s&gt;"
* "&lt;dfn&gt;", "&lt;var&gt;", and "&lt;cite&gt;"
* ">br>"
* ">a>"
* ">img>"
* ">code>", ">samp>", and ">kbd>"
* ">sup>" and ">sub>"
* ">strong>", ">small>", and ">em>"
* ">i>", ">b>", ">u>", and ">s>"
* ">dfn>", ">var>", and ">cite>"
Many closing tags are optional, but for code clarity they can be nice. Stay away from XHTML self-closing tag forms, however (ie. "&lt;br/&gt;", "&lt;hr/&gt;", "&lt;img src="some_url"/&gt;", et cetera).
Many closing tags are optional, but for code clarity they can be nice. Stay away from XHTML self-closing tag forms, however (ie. ">br/>", ">hr/>", ">img src="some_url"/>", et cetera).
==== Coding Style ====
@ -166,15 +166,15 @@ Furthermore, the tutorials are a collaborative effort. You may be the first auth
**Please try as much as possible to use plain HTML when coding tutorials.** Everything you should need to write a clear tutorial is already in the language:
* Structure your tutorial using headings ("&lt;h1&gt;,&lt;h2&gt;,...,&lt;h6&gt;"), and stay away from using "&lt;div&gt;"s.
* Use paragraphs ("&lt;p&gt;") for blocks of prose, and preformatted blocks ("&lt;pre&gt;") for source code listings, sample console output, or wherever else whitespace needs to be retained and a monospaced font used.
* Structure your tutorial using headings (">h1>,>h2>,...,>h6>"), and stay away from using ">div>"s.
* Use paragraphs (">p>") for blocks of prose, and preformatted blocks (">pre>") for source code listings, sample console output, or wherever else whitespace needs to be retained and a monospaced font used.
Rather than use styled "&lt;span&gt;" tags or other generic grouping elements, use semantic tags which describe the text you want to differentiate from body text. If the user's browser supports the tag, it will be presented differently.
Rather than use styled ">span>" tags or other generic grouping elements, use semantic tags which describe the text you want to differentiate from body text. If the user's browser supports the tag, it will be presented differently.
* For important text, use "&lt;strong&gt;".
* For emphasis, use "&lt;em&gt;".
* For the names of commands, file names, or source code listings, use "&lt;code&gt;".
* For example console text, use "&lt;samp&gt;" inside a "&lt;pre&gt;" block.
* For important text, use ">strong>".
* For emphasis, use ">em>".
* For the names of commands, file names, or source code listings, use ">code>".
* For example console text, use ">samp>" inside a ">pre>" block.
* And so-on...
There is a [[http://www.w3.org/TR/html5/text-level-semantics.html#usage-summary|usage summary of text-level semantic elements]] for the current W3C recommendation (HTML 5). It's handy. Not all tags are supported by all browsers, but a semantically tagged tutorial is more useful — and easier to style — than a document full of custom styled spans.
@ -183,111 +183,111 @@ There is a [[http://www.w3.org/TR/html5/text-level-semantics.html#usage-summary|
The code below may be used as a template if you are creating a new tutorial, or re-writing one from scratch. You don't have to use it; it is merely provided as a convenience.
The text contained between the "&lt;!--" and "--&gt;" tokens are //comments//, and may be discarded.
The text contained between the ">!--" and "-->" tokens are //comments//, and may be discarded.
"
//&lt;!-- SDF Tutorial Template
//>!-- SDF Tutorial Template
======================================================================
Use of this code is entirely optional. It is provided as a sample of
coding style, and a quick way to start a new tutorial for users who
may be beginners with HTML. --&gt;//
may be beginners with HTML. -->//
&lt;style type="text/css"&gt;
>style type="text/css">
@import url('http://sdf.org/tutorials/tutorials.css');
&lt;/style&gt;
>/style>
//&lt;!-- The title of the tutorial should be the only level-1 header
(&lt;h1&gt;) in the document. --&gt;//
&lt;h1&gt;Title of Tutorial&lt;/h1&gt;
//>!-- The title of the tutorial should be the only level-1 header
(>h1>) in the document. -->//
>h1>Title of Tutorial>/h1>
//&lt;!-- For longer tutorials, a table of contents is nice. Shorter
//>!-- For longer tutorials, a table of contents is nice. Shorter
tutorials (like this one) really don't need it, so this section can be
omitted. Replace the &lt;ul&gt; tags with &lt;ol&gt; tags for a numbered list. --&gt;//
&lt;ul&gt;
&lt;li&gt;
&lt;a href="#section-1"&gt;Section Heading&lt;/a&gt;
//&lt;!-- to get an indented section of the list, we simply embed a
list inside of a list item --&gt;//
&lt;ul&gt;
&lt;li&gt;
&lt;a href="#subsection-1"&gt;Subsection Heading&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="#section-2"&gt;Another Section Heading&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#notes"&gt;Notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
omitted. Replace the >ul> tags with >ol> tags for a numbered list. -->//
>ul>
>li>
>a href="#section-1">Section Heading>/a>
//>!-- to get an indented section of the list, we simply embed a
list inside of a list item -->//
>ul>
>li>
>a href="#subsection-1">Subsection Heading>/a>
>/li>
>/ul>
>/li>
>li>>a href="#section-2">Another Section Heading>/a>>/li>
>li>>a href="#notes">Notes>/a>>/li>
>/ul>
//&lt;!-- This is the beginning of a section. It starts with a level-2
heading (&lt;h2&gt;) and has been given an 'id' attribute so that it may be
linked to. --&gt;//
&lt;h2 id="section-1"&gt;Section Heading&lt;/h2&gt;
//>!-- This is the beginning of a section. It starts with a level-2
heading (>h2>) and has been given an 'id' attribute so that it may be
linked to. -->//
>h2 id="section-1">Section Heading>/h2>
//&lt;!-- Remember to always contain your paragraphs in &lt;p&gt; tags. For
//>!-- Remember to always contain your paragraphs in >p> tags. For
strings of code, filenames, commands, etc., which appear inside of a
paragraph, wrap them in &lt;code&gt; tags to differentiate them from the
rest of the paragraph's text. --&gt;//
&lt;p&gt;By issuing the &lt;code&gt;sac -nar&lt;/code&gt; command, your spirit animal
will be changed to the narwhal.&lt;/p&gt;
paragraph, wrap them in >code> tags to differentiate them from the
rest of the paragraph's text. -->//
>p>By issuing the >code>sac -nar>/code> command, your spirit animal
will be changed to the narwhal.>/p>
//&lt;!-- For entire blocks of code, place the &lt;code&gt; inside of a &lt;pre&gt;
instead of a &lt;p&gt;. Text inside of a &lt;pre&gt; has its whitespace characters
//>!-- For entire blocks of code, place the >code> inside of a >pre>
instead of a >p>. Text inside of a >pre> has its whitespace characters
(space, tab, carriage-return) interpreted literally, unlike text
inside of a &lt;p&gt;. --&gt;//
&lt;pre&gt;&lt;code&gt;10 PRINT "DO YOU EAT BOOGERS?"
inside of a >p>. -->//
>pre>>code>10 PRINT "DO YOU EAT BOOGERS?"
20 INPUT X
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?"
&lt;/code&gt;&lt;/pre&gt;
>/code>>/pre>
//&lt;!-- For sample program output, console sessions, etc., use &lt;samp&gt;
inside a &lt;pre&gt; block. --&gt;//
&lt;pre&gt;&lt;samp&gt;$ finger man@arms
//>!-- For sample program output, console sessions, etc., use >samp>
inside a >pre> block. -->//
>pre>>samp>$ finger man@arms
Login: man Name: Duncan
Directory: /eternia/heroic_warriors/man Shell: /bin/bashasaurus
No mail.
Plan: Make Orko clean-up the mess he left in my workshop.
&lt;/samp&gt;&lt;/pre&gt;
>/samp>>/pre>
//&lt;!-- This sub-section begins with a level-3 heading (&lt;h3&gt;). HTML
provides tags for sections nested six levels deep (tags &lt;h1&gt;
through &lt;h6&gt;). If you need to nest sections seven or more levels deep
...you might consider restructuring your tutorial! --&gt;//
&lt;h3 id="subsection-1"&gt;Subsection Heading&lt;/h3&gt;
//>!-- This sub-section begins with a level-3 heading (>h3>). HTML
provides tags for sections nested six levels deep (tags >h1>
through >h6>). If you need to nest sections seven or more levels deep
...you might consider restructuring your tutorial! -->//
>h3 id="subsection-1">Subsection Heading>/h3>
//&lt;!-- For VERY IMPORTANT TEXT, make it &lt;strong&gt;. To add emphasis to a
word or phrase, use &lt;em&gt;. --&gt;//
&lt;p&gt;&lt;strong&gt;Do not forget to flush the buffer&lt;/strong&gt;. If you do, the
smell will be &lt;em&gt;intolerable&lt;/em&gt;.&lt;/p&gt;
//>!-- For VERY IMPORTANT TEXT, make it >strong>. To add emphasis to a
word or phrase, use >em>. -->//
>p>>strong>Do not forget to flush the buffer>/strong>. If you do, the
smell will be >em>intolerable>/em>.>/p>
&lt;h2 id="section-2"&gt;Another Section Heading&lt;/h2&gt;
>h2 id="section-2">Another Section Heading>/h2>
//&lt;!-- This paragraph gives an example of two styles of footnote
referencing. Both are hyperlinked to corresponding list items (&lt;li&gt;)
in the Notes section below. --&gt;//
&lt;p&gt;The Honeywell 6080 can be induced to perform a samba by pressing
//>!-- This paragraph gives an example of two styles of footnote
referencing. Both are hyperlinked to corresponding list items (>li>)
in the Notes section below. -->//
>p>The Honeywell 6080 can be induced to perform a samba by pressing
the button labeled "Samba" on the operator's
console&lt;a href="#fn1"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;. That mainframe's forté,
however, is the foxtrot(&lt;a href="#fn2"&gt;2&lt;/a&gt;), but the inducement of
that particular step is beyond the scope of this tutorial.&lt;/p&gt;
console>a href="#fn1">>sup>1>/sup>>/a>. That mainframe's forté,
however, is the foxtrot(>a href="#fn2">2>/a>), but the inducement of
that particular step is beyond the scope of this tutorial.>/p>
//&lt;!-- Here is a sample footnotes section. In this example, we're using
//>!-- Here is a sample footnotes section. In this example, we're using
footnotes to cite a reference, but this same style can be used for
footnotes of any kind. Your tutorial may not require any footnotes. If
it doesn't, feel free to snip this entire section out. --&gt;//
&lt;h2 id="notes"&gt;Notes&lt;/h2&gt;
it doesn't, feel free to snip this entire section out. -->//
>h2 id="notes">Notes>/h2>
//&lt;!-- We're using an ordered list (&lt;ol&gt;) so that the notes are
//>!-- We're using an ordered list (>ol>) so that the notes are
automatically numbered. A single reference is cited twice in the
tutorial. As you can see, you may use an abbreviated form of citation
for subsequent references to a single work. --&gt;//
&lt;ol&gt;
&lt;li id="fn1"&gt;Zurgone Vemliat, &lt;cite&gt;Mainframe Dancing Habits&lt;/cite&gt;
(Milwaukie: Brewers' Press, 1988), 96.&lt;/li&gt;
&lt;li id="fn2"&gt;Vemliat, &lt;cite&gt;Mainframe&lt;/cite&gt;, 112.&lt;/li&gt;
&lt;/ol&gt;
for subsequent references to a single work. -->//
>ol>
>li id="fn1">Zurgone Vemliat, >cite>Mainframe Dancing Habits>/cite>
(Milwaukie: Brewers' Press, 1988), 96.>/li>
>li id="fn2">Vemliat, >cite>Mainframe>/cite>, 112.>/li>
>/ol>
//&lt;!-- At the very end, here, is the RCS Id tag. Let it be, my friend. --&gt;//
//>!-- At the very end, here, is the RCS Id tag. Let it be, my friend. -->//
$Id: tutorial_editing.html,v 1.24 2018/08/28 02:39:56 moondoggy Exp $
"

View File

@ -49,14 +49,14 @@ With multiforking, you run multiple programs in the same EXEC by forking a separ
... ! Use program.
MM&gt;^C ! Return from second program to EXEC.
MM>^C ! Return from second program to EXEC.
@INFORMATION FORK-STATUS[[#n3|[3]]]
! List forks in current EXEC.
! (Current fork marked with "=&gt;".)
! (Current fork marked with "=>".)
TECO (1): Kept, ^C from IO wait at TYI+3, 0:00:00.0
=&gt; MM (2): ^C from IO wait at $COMND+3, 0:00:00.0
=> MM (2): ^C from IO wait at $COMND+3, 0:00:00.0
@FORK TECO ! Switch to original program's fork
! ("TECO").
@ -68,7 +68,7 @@ With multiforking, you run multiple programs in the same EXEC by forking a separ
*^C ! Return to EXEC.
@INFORMATION FORK-STATUS
=&gt; TECO (1): Kept, ^C from IO wait at TYI+3, 0:00:00.0
=> TECO (1): Kept, ^C from IO wait at TYI+3, 0:00:00.0
MM (2): ^C from IO wait at $COMND+3, 0:00:00.0
@FORK MM ! Switch to second program fork ("MM").
@ -83,8 +83,8 @@ More information can be found in TOPS-20 User's Guide[[#n1|[1]]] sections 8.6 "R
[1]]]TOPS-20 User's Guide. Available on Twenex.org in file DOC:USERS.MEM or on the WWW at http://tilt.twenex.org/.[2]]]It is only necessary to use these methods when you wish to use two or more user programs at the same time. Running a user program from EXEC without first running PUSH or KEEP will overwrite the user program address space and destroy the session state of the previously running program. However, EXEC commands generally do not disturb user program address space. You can halt an active program (with ^C^C), run several EXEC commands (e.g. DIRECTORY, HELP, TYPE), and return to your original program (with CONTINUE) in the state you left it.[3]]]EXEC commands and options may be abbreviated to the minimum unique prefix, for example:
CONTINUE =&gt; CONT
INFORMATION FORK-STATUS =&gt; IN FO
CONTINUE => CONT
INFORMATION FORK-STATUS => IN FO
----

View File

@ -16,7 +16,7 @@
===== Request a login =====
* Know your uuname (run "uname -n")
* Post a message on "&lt;REQUEST&gt;"
* Post a message on ">REQUEST>"
===== UUCP Node Configuration =====

View File

@ -25,7 +25,7 @@ The tool uses two files - "$HOME/.vacation.msg" and "$HOME/.vacation.db" by defa
% vacation -I # initialize DB; defaults to 30 days
% cat &gt; $HOME/.vacation.msg # create minimal auto-reply message
% cat > $HOME/.vacation.msg # create minimal auto-reply message
From: sdf_user@sdf.org
Subject: Vacation notice
Precedence: bulk
@ -33,7 +33,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.
^D
% cat &gt; $HOME/test.msg # create test message for debugging
% cat > $HOME/test.msg # create test message for debugging
From frog@mud.bog
To: sdf_user@sdf.org
Subject: Hop on over here
@ -41,8 +41,8 @@ The tool uses two files - "$HOME/.vacation.msg" and "$HOME/.vacation.db" by defa
Check out my new pad!
^D
% vacation -d sdf_user &lt; test.msg # test w/o actually replying
=&gt;
% vacation -d sdf_user > test.msg # test w/o actually replying
=>
To: frog@mud.bog
Auto-Submitted: auto-replied
From: sdf_user@sdf.org
@ -54,14 +54,14 @@ 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
the '-t0' option to override the default 30 day response time.
% cat &gt; $HOME/.forward # retain a copy &amp; pipe to vacation(1)
% cat > $HOME/.forward # retain a copy &amp; pipe to vacation(1)
\sdf_user, "|/usr/bin/vacation sdf_user"
^D
=== ex.2) customized auto-reply sent every 2 days: ===
% vacation -I -t 2d # initialize DB; set timer to 2 days
% cat &gt; $HOME/.vacation.msg # create custom auto-reply message
% cat > $HOME/.vacation.msg # create custom auto-reply message
From: sdf_user@sdf.org
Subject: Out of the office
Delivered-By: vacation(1) on SDF
@ -71,7 +71,7 @@ The tool uses two files - "$HOME/.vacation.msg" and "$HOME/.vacation.db" by defa
George about $SUBJECT if it's urgent.
^D
% cat &gt; $HOME/test2.msg # create test message for debugging
% cat > $HOME/test2.msg # create test message for debugging
From frog@mud.bog
To: sdf_user@sdf.org
Subject: the penski account
@ -79,8 +79,8 @@ The tool uses two files - "$HOME/.vacation.msg" and "$HOME/.vacation.db" by defa
Can you get this done this week?
^D
% vacation -d sdf_user &lt; test2.msg # test w/o actually replying
=&gt;
% vacation -d sdf_user > test2.msg # test w/o actually replying
=>
To: frog@mud.bog
Auto-Submitted: auto-replied
From: sdf_user@sdf.org
@ -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
George about the penski account if it's urgent.
% cat &gt; $HOME/.forward # retain a copy &amp; pipe to vacation(1)
% cat > $HOME/.forward # retain a copy &amp; pipe to vacation(1)
\sdf_user, "|/usr/bin/vacation sdf_user"
^D
@ -105,7 +105,7 @@ Basic setup:
- setup ssh(1) [[http://sdf.org/?tutorials/SSH-SDF#public_key|public key authentication]] to host //tty//
- on //ma.sdf.org// create a test.msg and test things before committing:
sdf_user@ma: cat test.msg | ssh sdf_user@tty "cat - | vacation -d -t0 sdf_user"
=&gt;
=>
To: frog@mud.bog
Auto-Submitted: auto-replied
From: sdf_user@ma.sdf.org
@ -129,7 +129,7 @@ Users of the procmail(1) program probably won't want to disable it just to make
VACATION_DB=$HOME/.vacation.db
## Send vacation(1) notification if SENDER is in VACATION_LIST :
:0 c # "c" =&gt; keep a copy of msg
:0 c # "c" => keep a copy of msg
## uncomment next line to do selective notifications
#* ? egrep $VACATION_SENDER $VACATION_LIST
| /usr/bin/vacation -F R -f $VACATION_DB -m $VACATION_MSG sdf_user

View File

@ -40,15 +40,15 @@ The instructions below will cover the general steps for the players and the DM t
* For each magic cookie, add the cookie information: "add iceland/unix:10 MIT-MAGIC-COOKIE-1 fd61840e6ae37fbccc74ac8dfa7ce1fd".
iceland:wliao$ xauth
Using authority file /arpa/tz/w/wliao/.Xauthority
xauth&gt; add iceland/unix:10 MIT-MAGIC-COOKIE-1 fd61840e6ae37fbccc74ac8dfa7ce1fd
xauth&gt; add iceland/unix:13 MIT-MAGIC-COOKIE-1 41660822631aa698c4fe791d6b4fbd7f
xauth&gt;
xauth> add iceland/unix:10 MIT-MAGIC-COOKIE-1 fd61840e6ae37fbccc74ac8dfa7ce1fd
xauth> add iceland/unix:13 MIT-MAGIC-COOKIE-1 41660822631aa698c4fe791d6b4fbd7f
xauth>
* When complete, use exit to save the data and exit xauth.
iceland:wliao$ xauth
Using authority file /arpa/tz/w/wliao/.Xauthority
xauth&gt; add iceland/unix:10 MIT-MAGIC-COOKIE-1 fd61840e6ae37fbccc74ac8dfa7ce1fd
xauth&gt; add iceland/unix:13 MIT-MAGIC-COOKIE-1 41660822631aa698c4fe791d6b4fbd7f
xauth&gt; exit
xauth> add iceland/unix:10 MIT-MAGIC-COOKIE-1 fd61840e6ae37fbccc74ac8dfa7ce1fd
xauth> add iceland/unix:13 MIT-MAGIC-COOKIE-1 41660822631aa698c4fe791d6b4fbd7f
xauth> exit
Writing authority file /arpa/tz/w/wliao/.Xauthority
== DM Add Players ==
@ -72,7 +72,7 @@ Both players and DM can remove the xauth file to ensure the revocation: "rm ~/.X
* At the end of the game, the high score board will only appear for the DM. Of course, all players may examine the score board at any time through the "Extras Menu".
* screen users who reattach, please note the DISPLAY from //within// screen may be invalid. Remember to look at the DISPLAY variable (and thus, the myxauth command) outside of screen.
* Remember to take screenshots as a trophy of your conquest. This one-liner will take a screenshot of the entire screen and save it to a file named war_trophy.png:
iceland:/tmp/wl$ xwd -root | /usr/pkg/bin/xwdtopnm | /usr/pkg/bin/pnmtopng &gt; war_trophy.png
iceland:/tmp/wl$ xwd -root | /usr/pkg/bin/xwdtopnm | /usr/pkg/bin/pnmtopng > war_trophy.png
This command may take a while to run.
* For the impatient, the actual game may be started by hand. jgw says:
--- jgw@iceland -------------------------------------------