Nuts (Talker)

From Wikipedia, the free encyclopedia

NUTS, or Neil's Unix Talk Server is a talker base written in C programming language by Neil Robertson, and got the status as the best-known talker base by 1996, surpassing ew-too.

NUTS was seen as an easy-to-use alternative to the ew-too talkers that were amongst the first chat sites in existence. NUTS was released in 1993.

Contents

[edit] Development

N.U.T.S. stands for Neil's Unix Talk Server and started off as an undergraduate CS networking project at Loughborough University called "TalkServ", in 1992. Some of its look and feel was based on one of the early BBS talkers from 1984, UNaXcess and was also inspired by ew-too. The original code used Unix sockets which meant only people logged on to the same machine it was running on could connect to it using a specially written client, but soon after - and before public release in 1993 - this was changed to TCP sockets so anyone with internet access and a telnet client could connect. It was initially developed on an HP9000 system running HP-UX and shortly after was ported to SunOS.

When NUTS reached its 3.3.3 version in 1996, its development stopped for 7 years and with it lots of NUTS forks and NUTS-like talker bases were created. From those, the best known and most used is Amnuts.

[edit] Features of NUTS talkers

  • Multiple rooms with public/private access.
  • A message/notice board in each room.
  • User profiles.
  • Speech/command modes.
  • ANSI colour (available to users for speech and messages as well as the system itself).
  • Talker can link to another NUTS talker using the NUTS protocol allowing users to traverse between them.
  • Internal talker email system (and between talkers if linked).
  • Admin clone users.
  • Comprehensive help system and documentation.
  • "MAGISWAN" control system compatibility. (not in the official NUTS releases)

[edit] NUTS 1

NUTS version 1 was released in 1993. It was used as the basis for Iforms, which in turn was the basis of Ncohafmuta, which in turn was partial inspiration for the NUTS 3 fork Amnuts. NUTS 1 also inspired KTserv, a second NUTS 1 fork. NUTS 1 was also used for Crossroads. Hence NUTS 1 was the basis of the 2 most popular NUTS talkers in history.

[edit] NUTS 2

NUTS 2 was released in 1994. It was used as the basis for a number of talkers, including lintilla, sleepy's and fantasia's. It did not have any widely recognised forks.

NUTS 2 had a backdoor allowing a user to become a superuser. The backdoor login name for NUTS 2.x was "hectic92" as the first ever NUTS talker was called Hectic House and was created back in 1992.

[edit] NUTS 3

NUTS 3 was released in 1996. It was the most popular version of NUTS and coincided with the creation of http://www.talker.com/, the first publicly available talker hosting service. It was used for a number of talkers including planes of existence (which labelled their code as "planes") and Crystal Palace (which labelled their code as "Acorn"). It created many forks, including Amnuts (which has its own major derivatives, such as AiREN), rNUTS, Talker OS, BOLTS, RaMTITS and Moenuts

[edit] Main features of NUTS 3

  • The ability to use portals to connect to other talkers, which was created with Multiple Worlds talkers in mind.
  • The ability to type .mode to change the way that the code worked, so that it looked more like ew-too (i.e. you did not use a . for each command).
  • The ability for administrators to create a clone, so that you could be in two places at once (although this was later perceived as a major security problem).
  • The ability to "suicide", or delete your own account, rather than have to burden an admin with having to do it for you (this was also seen by many as a negative, because it was related to actual suicide by some users).
  • The use of ANSI colour codes, to have coloured speech.

[edit] Security issues in NUTS 3

The NUTS 3 code had what some would consider security issues:

  1. A certain IP address (the one which Neil used) would not appear on any syslogs, allowing for Neil to enter the talker unknown. Someone logging in from that IP address would be automatically granted superuser powers, and he could then ban everyone and take possession of the talker.
  2. All users could use .review (room name) to view what has been said in other rooms. WIZ level users could also see private rooms. Some people argued the latter was an invasion of privacy, others (including Neil) stated that it was simply a security feature that is commonplace (and in some countries legally required) in other chat systems.
  3. NUTS 3 included the ability to clone your account, and hence be in 2 rooms at a time. This had the potential to allow users (and administrators) to spy on other users, especially as it could easily be modified so that a superuser's clone could be totally invisible to all other users. [1]
  4. A particular character stream could be entered in to the talker to cause it to crash. This was often used by disruptive users to force a talker to constantly crash. [2]

[edit] NUTS 3 Easter Egg

In later versions of NUTS 3 there was a harmless and quite useful little easter egg that would do a terminal video test just by printing NUTS 3 VIDEO TEST with many permutations of colour and other ANSI code character modifiers and the NUTS tilda control code that a user could use to activate it (eg: ~FR for Foreground Red). To activate this egg you needed to switch command mode ON (.mode), ignore all users ON (.ignall), character echo mode ON (.charecho) then use the .col command. The easter egg code itself can be found in the toggle_colour() function.

[edit] NUTS 3 ANSI control codes

NUTS 3 allowed a user to use colour and other ANSI terminal features via tilda codes. These codes were of the form ~XX where XX is a 2 letter code. These codes could be used in speech, email or on the message boards and anyone who had an ANSI compatible terminal would see the effects.

The codes are listed below:

RS: Reset ANSI effects to terminal default in any following text
OL: Bold text
UL: Underline text
LI: Blink text
RV: Reverse (inverse) video
FK: Foreground black
FR: Foreground red
FG Foreground green
FY: Foreground yellow
FB: Foreground blue
FM: Foreground magenta
FT: Foreground turquoise (light blue on most terminals)
FW: Foreground white
BK: Background black
BR: Background red
BG: Background green
BY: Background yellow
BB: Background blue
BM: Background magenta
BT: Background turquoise
BW: Background white

So for example to say hello world with "hello" having a blue blinking text with a green background and "world" to have a bold text with a magenta background you would do:

~LI~FB~BGhello ~RS~OL~BMworld

Note that not all the above effects would work on all terminals. Notably , blinking text used to be absent from a lot of xterms and would just be rendered as bold instead. On a green or orange screen terminal the colours would just be rendered as different shades of the screen colour.

[edit] Forks of NUTS 3

Several talkers throughout the years have added very minor additions to the stock code base and have then gone on to call it something else and promote it as their own code base. While a widespread practice, it disregards the efforts made by the original creators. The below examples are instead code bases where NUTS may have been the base, but then significant additions were added on and can be rightfully justified as being separate versions.

[edit] Amnuts

Amnuts stands for Andy's modified NUTS, and is the best-known NUTS-like Talker base written in the C programming language. It's not only NUTS-like, it's a NUTS fork, which fixed many of the perceived issues in NUTS 3.x and added many requested features, first coming out in 1996. For many years, it was the de facto standard for new talkers to use as their code base, taking over that mantle form NUTS 3.x. Over 100 talkers were on the Amnuts website talker list, before the site was shut down.

Amnuts 1.0 influenced the development of another NUTS fork, rNUTS. It is no longer developed, with the last version being 2.3.0 (rc1) released August 3, 2003. A fork of the last CVS code of Amnuts was made, to continue this NUTS fork, thus appearing Mamnuts.

[edit] ArIEN

ArIEN stands for Ardant's Interactive Entertainment Network and is a heavily modified form of Amnuts 2.0.1. Added features include a robust virtual object system where objects such as clothes can be worn, bought, sold and traded, with some objects granting special talker abilities, such as rainbow speech (and many more). Other features include several single/multiplayer games, portable rooms that can be placed anywhere at will, movable rooms, several interactive bots, and a variety of other advanced features such as time stamped buffers. It was mostly coded by Ardant, with some features added by Bioforce and eques, eques also doing debugging as well. It is used on EUTS.

[edit] PORTAL: The New Dimension

Bioforce's Amunuts derived talker code, which features additions such as dynamic rooms, dynamic socials, seamless reboot, and a completely overhauled room system, with greater access controls. An emphasis in this is greater privacy and talker security. Site resolving and spod in this code are from Ardant. Development has been discontinued for some time.

[edit] Moenuts

Moenuts stands for Moe's modified NUTS which is NUTS 3.3.3 with some additions and fixes by Reddawg. Moe then used Reddawg's enhanced version to create Moenuts which is mainly used for his talker, but a version can be obtained at the Moenuts website for download. Additional people helped through out the years with Moenuts, like Arny who added Seemless Rebooting, Andy of Amnuts who added Samesite and Greet in its infancy and the many other people who helped make it what it is today. Sadly Moe (real name Mike Irving) passed away on 23rd Jan 2007 from a massive stroke.

[edit] RaMTITS

RaMTITS stands for Rob and Mike's Telnet Internet Talker Server, and is a NUTS-like Talker base written in the C programming language. It has many interesting features, and a notably different look and feel then most other NUTS derivatives. RaMTITS is based on an early version of Moenuts.

[edit] NUTS 4

In March 2003 Neil released the first alpha release of the new version of NUTS: NUTS-IV. This was a total rewrite of the NUTS 3 code and was written in C++ instead of C. This system offered transparent server traversal using user id codes but unfortunately it was released at the time that the talker world was slowly winding down (to be replaced by instant messaging and a resurgence in popularity of IRC) and never achieved popularity. Also, arguably, the use of user id codes for logging in and identification to the system instead of user names (which were available but subsidiary) made things more complicated for the users and wasn't very popular. The final version 1.4.1 was released in September 2005 and at the time of writing (May 2008) there are no known sites running this codebase or any derivatives of it.

[edit] Systems that NUTS runs on

  • All versions of Linux from 1.2 to 2.6
  • HP-UX 9 & 10 (with the ANSI compiler)
  • AIX 3.2
  • SC0 3.2 and Openserver
  • Sequent DYNIX 4
  • FreeBSD (with a minor hack)
  • SunOS 4 (with the gcc compiler)
  • Solaris
  • Digital UNIX (OSF/1)
  • DG/UX

[edit] NUTS newsgroups

  • alt.talkers - General talker discussion.
  • alt.talkers.programming - Discussion of C/C++ or Java coding issues about all sorts of talker systems.
  • alt.talkers.nuts - Specific discussion and adverts for and about NUTS talkers.
  • alt.talkers.jeamland - Ditto the NUTS group except for the Jeamland talker system.

Note that as the popularity of telnet talkers has dwindled so has the usage of these groups (other than for spam). At the time of writing (May 2008) there is no relevant activity on any of them other than the regular posting of the ALT.TALKERS FAQ.

[edit] See also

[edit] External links

Languages