• Term::Animation

    From the doctor@VERT/QBBS to Perl / ANSI Heads on Mon Aug 16 12:40:00 2010
    Okay, someone on here (perhaps the author of Syncterm) might be able to
    help.

    I thought, what would be a cool joke in my BBS software would be to have a screen saver. I found this really neat ascii fish tank app in perl.

    http://www.robobunny.com/projects/asciiquarium/html/

    I can easilly call this using pty, like any other external, and put all the code into to do that. Works *great* on a linux term window.

    Dies horribly on anything else. It seems to be using loads of ansi codes that are obscure, but supported in a linux term window.

    This could turn into one of those quests, where I just have to do it, and I end up wasting years of my life trying to write an ANSI escape sequence animation library. I can't even make my full screen editor function right...


    (;

    Any ideas?
    ---
    ■ TARDIS BBS - Home of QUARKseven ■ telnet/http bbs.cortex-media.info
  • From Kevinl@VERT to the doctor on Mon Aug 16 11:54:00 2010
    the doctor wrote to Perl / ANSI Heads <=-

    Okay, someone on here (perhaps the author of Syncterm) might be able to help.

    I thought, what would be a cool joke in my BBS software would be to
    have a screen saver. I found this really neat ascii fish tank app in perl.

    http://www.robobunny.com/projects/asciiquarium/html/

    ... [snipped] ...

    This could turn into one of those quests, where I just have to do it,
    and I end up wasting years of my life trying to write an ANSI escape sequence animation library. I can't even make my full screen editor function right...


    (;

    Any ideas?

    The really good news for you is that it is using curses, so all of the
    escape sequences are actually picked out by the curses library rather
    than asciiquarium itself. And you can choose which terminal curses
    thinks it is talking to by setting the TERM environment variable
    before spawning the screensaver. I'm not sure what language your BBS
    is running, but in C the sequence would be:

    1. forkpty()
    2. In the child process only, do putenv("TERM=<something>")
    3. exec()

    The <something> in step 2 is the bear. My system has a terminfo for
    "ansi.sys" which looks pretty close, so you might get there with putenv("TERM=ansi.sys"). Other reasonable possibilities are
    "ansi.sys-old" and "ansi". There are a whole bunch of others listed
    on my system in /usr/share/terminfo/a . You can read what they mean
    with infocmp, e.g. "infocmp ansy.sys" :

    # Reconstructed via infocmp from file: /usr/share/terminfo/a/ansi.sys ansi.sys|ANSI.SYS 3.1 and later versions,
    ... bunch of other stuff ...

    You can experiment with different terms by using my curses-based
    terminal emulator: http://qodem.sourceforge.net . Make a local shell
    entry using ANSI emulation, do "export TERM=ansi.sys", and then see
    how well the asciiquarium runs. I would do it myself but I've got to
    run to work right now and don't have time to install Term::Animation
    from CPAN.

    ... MultiMail, the new multi-platform, multi-format offline reader!
    --- MultiMail/Linux v0.49
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ telnet://vert.synchro.net
  • From Jas Hud@VERT/DARKSANC to the doctor on Mon Aug 16 20:02:43 2010
    Okay, someone on here (perhaps the author of Syncterm) might be able to help.

    I thought, what would be a cool joke in my BBS software would be to have a screen saver. I found this really neat ascii fish tank app in perl.

    http://www.robobunny.com/projects/asciiquarium/html/

    I can easilly call this using pty, like any other external, and put all the code into to do that. Works *great* on a linux term window.

    Dies horribly on anything else. It seems to be using loads of ansi codes that are obscure, but supported in a linux term window.

    This could turn into one of those quests, where I just have to do it, and I end up wasting years of my life trying to write an ANSI escape sequence animation library. I can't even make my full screen editor function right...

    (;



    sounds like a cool idea. btw, i checked out your bbs sofware the other
    day and i found it very refreshing. also,its web interface is nice.

    ---
    ■ Synchronet ■ Dark Sanctuary darksanctuary.servebbs.com
  • From The Doctor@VERT/QBBS to KEVINL on Tue Aug 17 02:53:00 2010

    --- KEVINL wrote --

    The really good news for you is that it is using curses, so all of th
    escape sequences are actually picked out by the curses library rathe
    than asciiquarium itself. And you can choose which terminal curse
    thinks it is talking to by setting the TERM environment variabl
    before spawning the screensaver. I'm not sure what language your BB
    is running, but in C the sequence would be

    Thank you!!

    It works now. The system is written in Ruby, because I really don't like
    C and my friend talked me out of doing it again in Pascal.

    After messing around with pty in Ruby for a while and getting nowhere, I realized that the easy solution was just to add the line:

    $ENV{'TERM'} ='ansi.sys';

    To the beginning of the perl script. It works great now. I've tried it
    in Putty, Windows Telnet and Syncterm. It works perfectly (except for a visible cursor) in Windows Telnet and Putty, but it is a bit glitched out
    in Syncterm.

    Thanks again!



    ---
    ■ TARDIS BBS - Home of QUARKseven ■ telnet/http bbs.cortex-media.info
  • From The Doctor@VERT/QBBS to JAS HUD on Tue Aug 17 02:58:00 2010

    --- JAS HUD wrote --

    sounds like a cool idea. btw, i checked out your bbs sofware the othe
    day and i found it very refreshing. also,its web interface is nice

    Complements! Wow. You just made my year. I haven't gotten a BBS program type complement in ages! (Most people, even former BBS authors think I'm
    just a little bit crazy).

    Martin Demello and I are really pushing to get the software into some sort
    of releasable state. I'm really interested in finding out what people
    want, so I'm not wasting effort.

    For instance, to people want to download qwk packets and use offline
    readers? Does anyone do this anymore?

    I really apprecate the kind words!




    ---
    ■ TARDIS BBS - Home of QUARKseven ■ telnet/http bbs.cortex-media.info
  • From Purple Nurple@VERT/FLAMINGS to Kevinl on Tue Aug 17 00:29:10 2010
    Re: Re: Term::Animation
    By: Kevinl to the doctor on Mon Aug 16 2010 07:54 am

    The <something> in step 2 is the bear. My system has a terminfo for "ansi.sys" which looks pretty close, so you might get there with putenv("TERM=ansi.sys"). Other reasonable possibilities are "ansi.sys-old" and "ansi". There are a whole bunch of others listed
    on my system in /usr/share/terminfo/a . You can read what they mean
    with infocmp, e.g. "infocmp ansy.sys" :

    Hah. I was somewhat familiar with curses and the termcap file insofas as
    what their function was, but I knew nothing about the infocmp command.
    While it may not have been your intent, you made me learn something today--thanks!

    -*- CheepEDIT v0.99h+

    ---
    ■ Synchronet ■ DoveNet: Flaming Star BBS * flamingstar.no-ip.info
  • From Kevinl@VERT to The Doctor on Tue Aug 17 10:04:00 2010
    The Doctor wrote to JAS HUD <=-


    --- JAS HUD wrote --

    sounds like a cool idea. btw, i checked out your bbs sofware the othe
    day and i found it very refreshing. also,its web interface is nice

    Complements! Wow. You just made my year. I haven't gotten a BBS
    program type complement in ages! (Most people, even former BBS authors think I'm just a little bit crazy).

    Martin Demello and I are really pushing to get the software into some
    sort of releasable state. I'm really interested in finding out what people want, so I'm not wasting effort.

    For instance, to people want to download qwk packets and use offline readers? Does anyone do this anymore?

    I sure do! My work blocks all outgoing ports except 80 (http) and 443
    (https), so telnet and ssh BBSes are officially unavailable. QWK lets
    me stuff everything on my laptop and read over my lunch break.

    ... MultiMail, the new multi-platform, multi-format offline reader!
    --- MultiMail/Linux v0.49
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ telnet://vert.synchro.net
  • From Kevinl@VERT to The Doctor on Tue Aug 17 10:08:00 2010
    The Doctor wrote to KEVINL <=-

    Thank you!!

    It works now. The system is written in Ruby, because I really don't
    like C and my friend talked me out of doing it again in Pascal.

    After messing around with pty in Ruby for a while and getting nowhere,
    I realized that the easy solution was just to add the line:

    $ENV{'TERM'} ='ansi.sys';

    Wow, I didn't even think of that. Yes, that is a most concise
    solution.

    Thanks again!

    Happy to help, glad to see it working for you!

    ... MultiMail, the new multi-platform, multi-format offline reader!
    --- MultiMail/Linux v0.49
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ telnet://vert.synchro.net
  • From John Guillory@VERT/MAINLINE to Kevinl on Tue Aug 17 12:55:14 2010
    Re: Re: Term::Animation
    By: Kevinl to The Doctor on Tue Aug 17 2010 06:04 am

    I sure do! My work blocks all outgoing ports except 80 (http) and 443 (https), so telnet and ssh BBSes are officially unavailable. QWK lets
    me stuff everything on my laptop and read over my lunch break.
    Not 100% sure on that, because the best of my knowladge when Synchronet does its QWK download I think it uses a web interface of the FTP protocol.... But, if your not using SSL on your BBS, why not map the rlogin or another telnet port to 443 and try telnet'ing in on port 443. That'd allow you to keep
    port 23 open for normal telnet and have a port 443 for your work site.... Either that or map your ftp (if its not really used much) to port 443, then
    use ftp://user:pass@yourbbs.com:443/ from your web browser to download the packet ....

    ---
    ■ Synchronet ■ Roach Guts - roachguts.com
  • From The Doctor@VERT/QBBS to KEVINL on Tue Aug 17 20:53:00 2010

    --- KEVINL wrote --
    The Doctor wrote to JAS HUD <=

    I sure do! My work blocks all outgoing ports except 80 (http) and 44 (https), so telnet and ssh BBSes are officially unavailable. QWK let
    me stuff everything on my laptop and read over my lunch break


    That was a big motivation for getting the web side working -- my employer
    is behind a proxy that blocks most everything but 80 and 443.

    The issue is, that I have to write a ftp server, so that the system can
    act like synchronet and "see" that you are trying to download a qwk
    packet, and then create one.

    I've found a ruby ftp server, so I'll get to work on that. (;

    I'm not sure how I'm going to make a ruby script run on a low port. The
    BBS itself runs on 2323 but my router is doing port translation. I don't
    know how well that works with ftp...


    ---
    ■ TARDIS BBS - Home of QUARKseven ■ telnet/http bbs.cortex-media.info
  • From The Doctor@VERT/QBBS to KEVINL on Tue Aug 17 20:55:00 2010

    --- KEVINL wrote --

    Happy to help, glad to see it working for you


    I'm greatful to you. I've got his weather screensaver working as well.

    Now I'm going to have to add even more tables to the database, to keep
    track of which screensaver a user wants... (;

    That thing just keeps getting bigger and bigger. Thank God for
    Datamapper.



    ---
    ■ TARDIS BBS - Home of QUARKseven ■ telnet/http bbs.cortex-media.info
  • From Lord Time@VERT/TIME to The Doctor on Tue Aug 17 14:21:00 2010
    In a reply from The Doctor on 22:58 about Re: Term::Animation

    For instance, to people want to download qwk packets and use offline readers? Does anyone do this anymore?

    I use the qwk, when I am home, I use cmpqwk to read messages, when
    I go on vaction I use multmail

    ---
    Rob Starr
    Lord Time SysOp of Time Warp of the Future BBS
    telnet://time.synchro.net:24
    ICQ # 11868133 Yahoo : lordtime2000
    AIM : LordTime20000 MSN : Lord Time
    Jabber : lordtime2000@gmail.com Astra : lord_time


    ■ CMPQwk 1.42-R2 16554 ■ Dragons make great first impressions.
    ---
    ■ Synchronet ■ Time Warp of the Future BBS - Home of League 10 IBBS Games
  • From Kevinl@VERT to John Guillory on Wed Aug 18 10:13:00 2010
    John Guillory wrote to Kevinl <=-

    Re: Re: Term::Animation
    By: Kevinl to The Doctor on Tue Aug 17 2010 06:04 am

    I sure do! My work blocks all outgoing ports except 80 (http) and 443 (https), so telnet and ssh BBSes are officially unavailable. QWK lets
    me stuff everything on my laptop and read over my lunch break.
    Not 100% sure on that, because the best of my knowladge when
    Synchronet does its QWK download I think it uses a web interface of the FTP protocol.... But, if your not using SSL on your BBS, why not map
    the rlogin or another telnet port to 443 and try telnet'ing in on port 443. That'd allow you to keep port 23 open for normal telnet and have
    a port 443 for your work site.... Either that or map your ftp (if its
    not really used much) to port 443, then use ftp://user:pass@yourbbs.com:443/ from your web browser to download the packet ....

    Oh, I can manage to get out to the wide world yonder. I've got a
    Sheevaplug at home running sshd on port 443, and in the office have
    cntlm set up for the MS Proxy server and ssh port forwarding. So
    it's:

    my app --> socks port
    \--> ssh port forward
    \--> socks port
    \--> cntlm
    \--> ssh server <--> WORLD

    Ironically, using qodem it's easier. Qodem connects to the Sheevaplug
    in doorway mode, and then I run qodem on the plug itself
    (qodem-inside-qodem) to reach BBSes. So I can do the web really
    easily through the normal proxy setup, or text-only interfaces (BBSes,
    Unix servers) somewhat easily, but anything between those extremes is
    a PITA.

    However, I try to avoid using this method unless I really need it
    (generally just to access one CVS server) because it's not perfectly
    kosher with our IT policies. A few minutes here or there, and only
    enable a guest linux VM to reach outside our Windows-centric network,
    is all I feel comfortable with. And BBS and shell usage is tiny
    bandwidth compared to what they really care about (streaming videos,
    P2P, and porn).


    ... MultiMail, the new multi-platform, multi-format offline reader!
    --- MultiMail/Linux v0.49
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ telnet://vert.synchro.net
  • From art@VERT/FATCATS to The Doctor on Thu Sep 30 11:28:31 2010
    Re: Re: Term::Animation
    By: The Doctor to KEVINL on Tue Aug 17 2010 16:53:00

    Hi Doctor,

    I'm not sure how I'm going to make a ruby script run on a low port. The BBS itself runs on 2323 but my router is doing port translation. I don't know how well that works with ftp...

    You will need superuser permissions to run anything on a low port, it has less to do with ruby and more to do with OS permissions. 'sudo rubyapp.rb' for example would do it--as long as nothing else is sitting on the port.

    Kind regards,
    ________________ _______
    \_____ __ \ ___\
    \ __ \ <_ \ @ fatcats[dot]poorcoding[dot]com
    \_______\___\___\___\ ------------------------------------
    f a t c a t s b b s

    ---
    ■ Synchronet ■ fatcats bbs - http://fatcats.poorcoding.com
  • From Tracker1@VERT/TRN to The Doctor on Fri Jan 14 05:10:55 2011
    The Doctor wrote:
    It works now. The system is written in Ruby, because I really don't like
    C and my friend talked me out of doing it again in Pascal.

    I know this is an old message... it's cool you're using a scripting language, how hard is/was it to get oldschool doors going (presuming you have)... I've been playing with node.js a bit and think it would be cool to have a 100% JS board... but sync really works well for me. Though I haven't touched it in some time.. hell haven't been in here (boards) in forever.

    --
    Michael J. Ryan - http://tracker1.info/

    ... "Immortality consists largely of boredom." -- Zephrem Cochrane

    ---
    ■ Synchronet ■ Roughneck BBS - telnet://roughneckbbs.com - www.roughneckbbs.com