• Programming and otehr ponderous questions

    From Steven Sheeley@VERT/INFINITY to All on Tue Sep 27 09:02:53 2016
    Hello everybody!

    I'm wondering if anyone can point me in the right direction? I'm looking to make some new apps for BBS'ing, FTN nad a few other things related to our
    hobby here. I'm a fairly decent programmer and can pick up a language in a short while. I'm currently looking at either FreePascal (Lazarus) or VS
    2012 & C++.

    First question is, which one (Pascal or C++) does any one have a opreference for concerning creating Linux/Win32 apps for the BBS world?

    Second question si, can any one point me in the right direction of libraries that would be beneficial to this endeqavour? Such as FTN protocal
    libraries, etc., etc.

    I would suppsoe that my final decision will be made on which language has the most libraries I can use.

    The first project will be a combined stats program reading the Argus/Radius/Taurus logs and SBBS Logs.

    After that, I'm looking at a restart of the Win32 Frontend Mailer, such as forking Taurus or starting new.

    I realize that if I fork Taurus that denotes the use of Pascal.

    Steven


    ... ACRONYM: Abbreviated Coded Rendition Of Name Yielding Meaning
    --- GoldED+/W32-MSVC 1.1.5-b20160322
    ■ Synchronet ■ Split Infinity BBS - infinity.synchro.net
  • From Nightfox@VERT/DIGDIST to Steven Sheeley on Tue Sep 27 09:21:55 2016
    I'm wondering if anyone can point me in the right direction? I'm looking to make some new apps for BBS'ing, FTN nad a few other things related to our hobby here. I'm a fairly decent programmer and can pick up a language in a short while. I'm currently looking at either FreePascal (Lazarus) or VS 2012 & C++.

    VS 2015 is the latest version of VS - Why not use that?

    First question is, which one (Pascal or C++) does any one have a opreference for concerning creating Linux/Win32 apps for the BBS world?

    I haven't written a whole lot of BBS tools in C++/Pascal, but I've heard that Pascal was a popular choice for BBS software/tools in the past due to
    libraries that made it easier. I remember reading that it was fairly easy in Pascal to load door games, and I seem to also remember reading that there were good comm libraries for Pascal. I'm not sure if it's still the case that Pascal would be an easier choice for BBS tools though. For C/C++, there's a library called OpenDoors that handles things like cursor control & ANSI
    colors, etc. I've messed with that a bit, and it's not bad. It supports Win32, and I think it supports Linux too, but I don't remember for sure.

    Nightfox

    ---
    ■ Synchronet ■ Digital Distortion: digitaldistortionbbs.com
  • From Sampsa@VERT/B4BBS to Nightfox on Tue Sep 27 21:32:00 2016
    Nightfox wrote to Steven Sheeley <=-


    For C/C++, there's a library called OpenDoors
    that handles things like cursor control & ANSI colors, etc. I've
    messed with that a bit, and it's not bad. It supports Win32, and I
    think it supports Linux too, but I don't remember for sure.

    Just FYI, I wrote a very slim Python wrapper for OpenDoors.

    With that plus py2exe you can actually make distributable stand-alone
    DOOR32 doors but in Python.

    Bonus: The exact same code (except for one init call set up the API)
    will run unmodified as a DOOR32 door natively on *NIX..

    http://www.sampsa.com/opendoors-py/

    Sampsa

    ... MultiMail, the new multi-platform, multi-format offline reader!
    --- MultiMail/Darwin v0.49
    ■ Synchronet ■ B4BBS = London, England - b4bbs.sampsa.com:2323 (telnet) or 2222 (ssh)
  • From Nightfox@VERT/DIGDIST to Sampsa on Tue Sep 27 12:59:36 2016
    For C/C++, there's a library called OpenDoors
    that handles things like cursor control & ANSI colors, etc. I've
    messed with that a bit, and it's not bad. It supports Win32, and I
    think it supports Linux too, but I don't remember for sure.

    Just FYI, I wrote a very slim Python wrapper for OpenDoors.

    With that plus py2exe you can actually make distributable stand-alone DOOR32 doors but in Python.

    Bonus: The exact same code (except for one init call set up the API)
    will run unmodified as a DOOR32 door natively on *NIX..

    http://www.sampsa.com/opendoors-py/

    That sounds interesting. I haven't done a whole lot with Python, but I do think Python is an interesting language.

    Eric

    ---
    ■ Synchronet ■ Digital Distortion: digitaldistortionbbs.com
  • From Steven Sheeley@VERT/INFINITY to Nightfox on Tue Sep 27 17:19:42 2016
    Hello Nightfox!

    Replying to a msg dated 27 Sep 16 09:21, from you to me.

    Not really looking at BBS Doors at this point though I may in the future. I used to code in pascal for BBS's a long, lomng, long time ago. Since most of the sopurces I can find are in pascalk, I may go that route.

    Steven


    ... PLASTERERS to it hard.
    --- GoldED+/W32-MSVC 1.1.5-b20160322
    ■ Synchronet ■ Split Infinity BBS - infinity.synchro.net
  • From Sampsa@VERT/B4BBS to Nightfox on Wed Sep 28 05:38:00 2016
    Nightfox wrote to Sampsa <=-


    For C/C++, there's a library called OpenDoors


    Just FYI, I wrote a very slim Python wrapper for OpenDoors.

    http://www.sampsa.com/opendoors-py/

    That sounds interesting. I haven't done a whole lot with Python, but I
    do think Python is an interesting language.

    Not just interesting but just so ridiculously simple to do even relatively complicated things in.

    For example if I have a bit of C code for doing something really complicated that I want to run fast - let's say some kind of thing that loops 10 million times and does weird things with a couple of floats, which would be slow in Python, so I write it in native code.

    The C code looks like this:

    ## foo.c
    int foo(double a, double b)
    {
    int rv;

    // do stuff

    return rv;
    }
    ## end foo.c

    I then just compile foo.c, and to use this in a Python program all I
    have to do is this:

    ## foo.py - does stuff with the foo C code

    # import the C shared lib using ctypes
    import ctypes
    myFoo = ctypes.LoadDLL("foo.so")

    # set up a couple of floats
    a = 1.2
    b = 3.4

    # let's go
    print myFoo.foo(a,b)

    # we're done
    exit(0)

    ## end foo.py

    This is how I made the wrapper for OpenDoors: On Windows, it loads a DLL
    and sets up Python wrappers to the API.

    On *NIX, my code reads DOOR32.SYS, does all the ANSI stuff etc and other
    things provided by the API.

    So the developer writes one codebase, in Python and it runs on both
    Windows and Linux. With something called py2exe it basically takes all
    the code and builds an distributable EXE file from your Python source
    code (you still obviously have to bundle the OpenDoors DLL with the EXE).

    Admittedly it's a SUBSET of the API, but I wrote a multiplayer poker
    (Texas Hold 'Em) door in it, but the actual game logic was harder to
    write than the API :)

    Sampsa


    ... MultiMail, the new multi-platform, multi-format offline reader!
    --- MultiMail/Darwin v0.49
    ■ Synchronet ■ B4BBS = London, England - b4bbs.sampsa.com:2323 (telnet) or 2222 (ssh)
  • From Sampsa@VERT/B4BBS to Steven Sheeley on Wed Sep 28 07:16:00 2016
    Steven Sheeley wrote to Nightfox <=-

    Not really looking at BBS Doors at this point though I may in the
    future. I used to code in pascal for BBS's a long, lomng, long time
    ago. Since most of the sopurces I can find are in pascalk, I may go
    that route.

    Well if you're doing that involves dealing with say data files that are basically Pascal records just dumped onto disk (whoever thought that was
    a good idea post-CP/M should be shot, but that's just me :P) then go with Pascal.

    If you're looking to write something that does a lot of string parsing etc
    then I would go with something modern - string handling in Pascal was never exactly brilliant.

    Also it depends on what platform you're looking to target - ideally write portable code as a lot of modern BBS packages run on both Windows and *NIX.

    Sampsa

    ... MultiMail, the new multi-platform, multi-format offline reader!
    --- MultiMail/Darwin v0.49
    ■ Synchronet ■ B4BBS = London, England - b4bbs.sampsa.com:2323 (telnet) or 2222 (ssh)
  • From Digital Man@VERT to Steven Sheeley on Tue Sep 27 22:43:57 2016
    Re: Programming and otehr ponderous questions
    By: Steven Sheeley to All on Tue Sep 27 2016 09:02 am

    The first project will be a combined stats program reading the Argus/Radius/Taurus logs and SBBS Logs.

    Sounds like something that could be written in JavaScript (and executed with Synchronet's jsexec) pretty easily. You should consider JavaScript.

    digital man

    Synchronet "Real Fact" #83:
    Donations to the Synchronet project are welcome @ http://wiki.synchro.net/donate
    Norco, CA WX: 76.1°F, 42.0% humidity, 0 mph NE wind, 0.00 inches rain/24hrs

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ telnet://vert.synchro.net
  • From Steven Sheeley@VERT/INFINITY to Digital Man on Wed Sep 28 07:56:31 2016
    Hello Digital!

    27 Sep 16 22:43, you wrote to me:

    @h@bRe@n@b: @h@cProgramming and otehr ponderous questions
    @bBy@n@b: @h@cSteven Sheeley @bto @cAll @bon @cTue Sep 27 2016 09:02 am@n

    The first project will be a combined stats program reading the
    Argus/Radius/Taurus logs and SBBS Logs.

    Sounds like something that could be written in JavaScript (and
    executed with Synchronet's jsexec) pretty easily. You should consider JavaScript.

    @H@Ydigital man@n

    Synchronet "Real Fact" #83:
    Donations to the Synchronet project are welcome @ http://wiki.synchro.net/donate Norco, CA WX: 76.1°F, 42.0% humidity, 0
    mph NE wind, 0.00 inches rain/24hrs
    ---
    ■ @gSynchronet@n ■ @h@gVertrauen @n■ @hHome of Synchronet @n■

    That's a good point DM. Can you point me in the direction of the data file definitions for SBBS? I can't find those specs anywhere, psrdon me if they are in plain site and I'm blind. For example, I was looking at the subs.txt file and can see what most of the lines represent but reverse engineering to what's displayed in the Message Echo config area, but I was wondering if there was something that expalined what each data file was suppsoed to or could have, in each position.

    Javascript is one language that I know already, would certainly be easier to start. Been looking at forking Taurus since it's apparently become abandonware (Like most everything else) but trying to covert it from a Delphi project to a Lazarus (OpenPascal) project is appearing to be akin to cleaning out the AGean stables.

    Steven


    ... "Help! Servo! He's got me!" Crow T. Robot
    --- GoldED+/W32-MSVC 1.1.5-b20160322
    ■ Synchronet ■ Split Infinity BBS - infinity.synchro.net
  • From Al@VERT/TRMB to Steven Sheeley on Wed Sep 28 11:40:45 2016
    Re: Programming and otehr ponderous questions
    By: Steven Sheeley to Digital Man on Wed Sep 28 2016 07:56 am

    Javascript is one language that I know already, would certainly be easier to start. Been looking at forking Taurus since it's apparently become abandonware (Like most everything else) but trying to covert it from a Delphi project to a Lazarus (OpenPascal) project is appearing to be akin to cleaning out the AGean stables.

    Duece has been working on binkit.js. I have used it with good success with nodes running binkd but it needs more work for when connecting to other mailers. Mailers that don't support "crypt" I think.

    BinkIT works nicely with synchronet.

    There is something to be said for working on Argus or taurus too since those mailers can work for anyone needing a mailer.

    ... As easy as 3.1415926535897932384626433832795028841

    ---
    ■ Synchronet ■ The Rusty MailBox - Penticton, BC Canada
  • From Lord Time@VERT/TIME to Al on Wed Sep 28 18:52:26 2016
    Javascript is one language that I know already, would certainly be easier to start. Been looking at forking Taurus since it's apparently become abandonware (Like most everything else) but trying to covert it from a Delphi project to a Lazarus (OpenPascal) project is appearing to be akin to cleaning out the AGean stables.

    Duece has been working on binkit.js. I have used it with good success with nodes running binkd but it needs more work for when connecting to other mailers. Mailers that don't support "crypt" I think.

    BinkIT works nicely with synchronet.

    hmmm, as of this message, it ok for messages pack (haven't tested it with tic file for a file for it) but sending out ibbs game packs files \ other file (no tic) doesn't work


    ---

    Rob Starr
    Lord Time SysOp of
    Time Warp of the Future BBS
    Telnet://Time.Darktech.Org:24 or
    Telnet://Time.Synchro.Net:24 (qwk or ftn & e-mail)
    ICQ # 11868133 or # 70398519 Jabber : lordtime2000@gmail.com
    Yahoo : lordtime2000 AIM : LordTime20000 Astra : lord_time
    X-Box : Lord Time 2000 oovoo : lordtime2000
    ---
    ■ Synchronet ■ Time Warp of the Future BBS - Home of League 10 IBBS Games
  • From Al@VERT/TRMB to Lord Time on Wed Sep 28 21:00:59 2016
    Re: Re: Programming and otehr ponderous questions
    By: Lord Time to Al on Wed Sep 28 2016 06:52 pm

    BinkIT works nicely with synchronet.

    hmmm, as of this message, it ok for messages pack (haven't tested it with tic file for a file for it) but sending out ibbs game packs files \ other file (no tic) doesn't work

    I don't quite follow what you are saying. What doesn't work?

    ... Please don't ask me what the score is. I'm not even sure what the game is.

    ---
    ■ Synchronet ■ The Rusty MailBox - Penticton, BC Canada
  • From Lord Time@VERT/TIME to Al on Thu Sep 29 11:11:37 2016
    Subject: Re: Programming and otehr ponderous questions
    @VIA: TRMB
    @MSGID: <57EC91FB.414.dove-program@trmb.synchro.net>
    @REPLY: <57EC73DA.1667.dove-prg@time.synchro.net>
    @TZ: c1e0
    Re: Re: Programming and otehr ponderous questions
    By: Lord Time to Al on Wed Sep 28 2016 06:52 pm

    BinkIT works nicely with synchronet.

    hmmm, as of this message, it ok for messages pack (haven't tested it with tic file for a file for it) but sending out ibbs game packs files \ other file (no tic) doesn't work

    I don't quite follow what you are saying. What doesn't work?

    the sbbs binkit (I have a test files over on my sbbs test, and I can't get the test file to go to my main bbs ftn - other the I change the sbbs test ftn port to
    24555)


    ---

    Rob Starr
    Lord Time SysOp of
    Time Warp of the Future BBS
    Telnet://Time.Darktech.Org:24 or
    Telnet://Time.Synchro.Net:24 (qwk or ftn & e-mail)
    ICQ # 11868133 or # 70398519 Jabber : lordtime2000@gmail.com
    Yahoo : lordtime2000 AIM : LordTime20000 Astra : lord_time
    X-Box : Lord Time 2000 oovoo : lordtime2000
    ---
    ■ Synchronet ■ Time Warp of the Future BBS - Home of League 10 IBBS Games
  • From Al@VERT/TRMB to Lord Time on Thu Sep 29 14:56:40 2016
    Re: Re: Programming and otehr ponderous questions
    By: Lord Time to Al on Thu Sep 29 2016 11:11 am

    I don't quite follow what you are saying. What doesn't work?

    the sbbs binkit (I have a test files over on my sbbs test, and I can't get t test file to go to my main bbs ftn - other the I change the sbbs test ftn po to
    24555)

    That's what I do here as well since both binkd and binkit are on the same computer. One listens on the standard port 24554 and the other listens on 24556. Any port number will work as long as they are not the same.

    ---
    ■ Synchronet ■ The Rusty MailBox - Penticton, BC Canada
  • From Digital Man@VERT to Steven Sheeley on Thu Sep 29 16:14:56 2016
    Re: Programming and otehr ponderous questions
    By: Steven Sheeley to Digital Man on Wed Sep 28 2016 07:56 am

    Hello Digital!

    27 Sep 16 22:43, you wrote to me:

    @h@bRe@n@b: @h@cProgramming and otehr ponderous questions
    @bBy@n@b: @h@cSteven Sheeley @bto @cAll @bon @cTue Sep 27 2016 09:02 am@n

    The first project will be a combined stats program reading the
    Argus/Radius/Taurus logs and SBBS Logs.

    Sounds like something that could be written in JavaScript (and
    executed with Synchronet's jsexec) pretty easily. You should consider JavaScript.

    @H@Ydigital man@n

    Synchronet "Real Fact" #83:
    Donations to the Synchronet project are welcome @ http://wiki.synchro.net/donate Norco, CA WX: 76.1°F, 42.0% humidity, 0 mph NE wind, 0.00 inches rain/24hrs
    ---
    ■ @gSynchronet@n ■ @h@gVertrauen @n■ @hHome of Synchronet @n■

    That's a good point DM. Can you point me in the direction of the data file definitions for SBBS?

    Which data files? There's these:
    http://synchro.net/docs/smb.html
    ftp://vert.synchro.net/Synchronet/sbbsdefs.zip

    I can't find those specs anywhere, psrdon me if they
    are in plain site and I'm blind.

    I don't know which specs you're referring to. Of course, there's always the source code: cvs.synchro.net

    For example, I was looking at the subs.txt
    file and can see what most of the lines represent but reverse engineering to what's displayed in the Message Echo config area, but I was wondering if there was something that expalined what each data file was suppsoed to or could have, in each position.

    subs.txt is an intermediary file format only used by SCFG (for import/export of subs). I'm not sure if there's a document, but there's certainly the source: http://cvs.synchro.net/cgi-bin/viewcvs.cgi/src/sbbs3/scfg/scfgmsg.c

    digital man

    Synchronet/BBS Terminology Definition #6:
    BinkP = BinkD Protocol
    Norco, CA WX: 90.5°F, 31.0% humidity, 7 mph ESE wind, 0.00 inches rain/24hrs

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ telnet://vert.synchro.net