• I have an Idea

    From Fireball@VERT/FBEX to All on Thursday, February 07, 2013 03:02:03
    I have this idea and I don't have the knowledge of programming to do it. I'm thinking about a remote paging/chat client/server for those of us who have synch running on remote servers (in my case a vps). Here's how it would work.

    Set a flag in scfg to remote paging which enables the remote paging/chat
    server (JSON?). The sysop then runs a client program that will connect to the server and wait until there is a page. When the pager goes off it plays a configurable sound and asks the sysop if he wishes to answer and times out after a configurable amount of time. When the client is shutdown and/or connection is lost, the server will mark the sysop unavailable.

    It would also be good for traveling sysops. What do y'all think?

    Fireball

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From echicken@VERT/ECBBS to Fireball on Wednesday, February 06, 2013 20:55:46
    Re: I have an Idea
    By: Fireball to All on Thu Feb 07 2013 03:02:03

    Set a flag in scfg to remote paging which enables the remote paging/chat server (JSON?). The sysop then runs a client program that will connect to the server and wait until there is a page. When the pager goes off it plays a configurable sound and asks the sysop if he wishes to answer and times out after a configurable amount of time. When the client is shutdown and/or connection is lost, the server will mark the sysop unavailable.

    It might be best overall if the "page the sysop" function on the BBS side were just a simple client that could connect to an instant messaging service (Google Talk, etc.) Wherever you are, you're likely to have an IM client on your phone or laptop or whatever, so you'd get the "page" message and choose whether or not to respond to it. No need for a custom notification system or anything like that, just a Jabber client for Synchronet - which might already be kludgeable via stuff that's already out there.

    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230

    ---
    ■ Synchronet ■ electronic chicken bbs - bbs.electronicchicken.com
  • From The Millionaire@VERT/PARKAVE to Fireball on Wednesday, February 06, 2013 17:47:17
    Re: I have an Idea
    By: Fireball to All on Thu Feb 07 2013 03:02 am

    I have this idea and I don't have the knowledge of programming to do it.
    I'm thinking about a remote paging/chat client/server for those of us who have synch running on remote servers (in my case a vps). Here's how it
    would work.

    Set a flag in scfg to remote paging which enables the remote paging/chat server (JSON?). The sysop then runs a client program that will connect to the server and wait until there is a page. When the pager goes off it plays a configurable sound and asks the sysop if he wishes to answer and times
    out after a configurable amount of time. When the client is shutdown and/or connection is lost, the server will mark the sysop unavailable.

    It would also be good for traveling sysops. What do y'all think?

    Fireball

    An Icechat clone would be nice. :-)


    $ The Millionaire $
    Park Avenue Place
    Surrey, B.C., Canada █  █


    ---
    ■ Synchronet ■ Park Avenue Place - parkave.synchro.net
  • From Dreamer@VERT/SETXBBS to Fireball on Wednesday, February 06, 2013 21:01:21
    Re: I have an Idea
    By: Fireball to All on Thu Feb 07 2013 03:02 am

    I have this idea and I don't have the knowledge of programming to do it.
    I'm thinking about a remote paging/chat client/server for those of us who have synch running on remote servers (in my case a vps). Here's how it
    would work.

    There's actually a defined internet standard for this. I was actually thinking of it today (funny coincidence that -- you logged onto my board today, I happen to be thinking about it, and you write it later on :P).

    Anyhow, it's called the Talk Daemon. It used to be pretty popular on Unix systems, and has been ported to several other operating systems. Since people stopped using unix shells for the most part, it's probably not even maintained anymore.

    I was thinking about bringing it up myself, but I've been looking for something to cut my teeth on anyhow. It would require each participating system to be running a javacript server. The client would initiate a talk request, and wait. The receiver would get a telegram, indicating user@bbs would like to talk, press ctrl-whatever. If the initiator quit out, they would then get a telegram, etc, etc.

    The original talk program that I used was a nice split screen realtime chat. I think it'd mesh very nicely with Synchronet. And, the source is already out there. Not sure what license it has... I know there was talk, then later on ytalk, maybe some others. I'm sure at least one is open source, and only needs to be ported.

    ---
    ■ Synchronet ■ Southeast Texas Chat
  • From Nightfox@VERT/DIGDIST to Fireball on Wednesday, February 06, 2013 21:16:11
    Re: I have an Idea
    By: Fireball to All on Thu Feb 07 2013 03:02:03

    I have this idea and I don't have the knowledge of programming to do it. I'm thinking about a remote paging/chat client/server for those of us who have synch running on remote servers (in my case a vps). Here's how it would work.

    Set a flag in scfg to remote paging which enables the remote paging/chat server (JSON?). The sysop then runs a client program that will connect to the server and wait until there is a page. When the pager goes off it plays a configurable sound and asks the sysop if he wishes to answer and

    I had this idea myself, and actually implemented a pair of apps (client and server) a few years ago that I'd use for remote paging. Since my BBS is on a separate computer, I wanted to be notified when a user paged me on my main computer. It was fairly simple though in that would just play a sound when
    a user paged me. When I heard the sound, I'd then remote desktop onto my BBS machine to talk to the user.

    I wrote my client & server apps in C++ to use traditional socket networking though, and the drawback to that was that if my server app wasn't running (i.e., when my main PC was turned off), the client would take a while (several moments) to "page" me because it couldn't connect to the server app - It would wait and eventually time out. I didn't really like that, but it worked well when my main PC was turned on and the server app was running. I eventually stopped using it due to that issue though..

    Nightfox

    ---
    ■ Synchronet ■ Digital Distortion BBS - digitaldistortionbbs.com
  • From Poindexter Fortran@VERT/REALITY to echicken on Wednesday, February 06, 2013 21:34:46
    Re: I have an Idea
    By: echicken to Fireball on Wed Feb 06 2013 08:55 pm

    It might be best overall if the "page the sysop" function on the BBS side were just a simple client that could connect to an instant messaging service (Google Talk, etc.)

    THAT WOULD ROCK.

    It would be interesting to replace or supplant the IRC code with jabber federating between BBSes.

    ---
    ■ Synchronet ■ realitycheckBBS -- http://realitycheckBBS.org
  • From Fireball@VERT/FBEX to echicken on Thursday, February 07, 2013 18:09:38
    Re: I have an Idea
    By: Fireball to All on Thu Feb 07 2013 03:02:03

    Set a flag in scfg to remote paging which enables the remote paging/chat server (JSON?). The sysop then runs a client program that will connect to the server and wait until there is a page. When the pager goes off it plays a configurable sound and asks the sysop if he wishes to answer and times out after a configurable amount of time. When the client is shutdown and/or connection is lost, the server will mark the sysop unavailable.

    It might be best overall if the "page the sysop" function on the BBS side were just a simple client that could connect to an instant messaging
    service (Google Talk, etc.) Wherever you are, you're likely to have an IM client on your phone or laptop or whatever, so you'd get the "page" message and choose whether or not to respond to it. No need for a custom notification system or anything like that, just a Jabber client for Synchronet - which might already be kludgeable via stuff that's already out there.


    Very good point! There is a javascript jabber library already out there; https://github.com/sstrigler.

    The problem I see with a client/client is there needs to be a server somewhere in there. Connecting directly to google's servers requires a google account
    for each bbs user. Now if one could figure out how to setup a jabber server with google talk access (not hard to do really), and import the users from
    sbbs so they could each use it to connect to the service via user@bbs.com, that'd be cool. Then the paging could be bidirectional.

    Of course, using a google server would be optional if you're running your own jabber server. As a matter of fact, we could like jabber servers much like the irc servers are linked, and have our own jabber network.

    Fireball

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From Fireball@VERT/FBEX to The Millionaire on Thursday, February 07, 2013 18:10:00
    Re: I have an Idea
    By: Fireball to All on Thu Feb 07 2013 03:02 am

    I have this idea and I don't have the knowledge of programming to do it. I'm thinking about a remote paging/chat client/server for those of us
    who have synch running on remote servers (in my case a vps). Here's how it would work.

    Set a flag in scfg to remote paging which enables the remote paging/chat server (JSON?). The sysop then runs a client program that will connect to the server and wait until there is a page. When the pager goes off it plays a configurable sound and asks the sysop if he wishes to answer and times out after a configurable amount of time. When the client is shutdown and/or connection is lost, the server will mark the sysop unavailable.

    It would also be good for traveling sysops. What do y'all think?

    Fireball

    An Icechat clone would be nice. :-)


    $ The Millionaire $
    Park Avenue Place
    Surrey, B.C., Canada █  █


    Agreed. :)

    Fireball

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From echicken@VERT/ECBBS to Poindexter Fortran on Thursday, February 07, 2013 11:25:43
    Re: I have an Idea
    By: Poindexter Fortran to echicken on Wed Feb 06 2013 21:34:46

    It would be interesting to replace or supplant the IRC code with jabber federating between BBSes.

    I believe there are some IRC <-> Jabber connectors out there, so this may be possible without some custom solution. (I haven't really looked into this, though.)

    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230

    ---
    ■ Synchronet ■ electronic chicken bbs - bbs.electronicchicken.com
  • From echicken@VERT/ECBBS to Fireball on Thursday, February 07, 2013 11:35:37
    Re: Re: I have an Idea
    By: Fireball to echicken on Thu Feb 07 2013 18:09:38

    Very good point! There is a javascript jabber library already out there; https://github.com/sstrigler.

    I'll take a look at that. Depending on what it was written for, it may or may not translate well for our purposes.

    The problem I see with a client/client is there needs to be a server somewhere in there. Connecting directly to google's servers requires a google account for each bbs user. Now if one could figure out how to setup a jabber server with google talk access (not hard to do really), and import the users from sbbs so they could each use it to connect to the service via user@bbs.com, that'd be cool. Then the paging could be bidirectional.

    There are a few possibilities:

    Create a Jabber server for Synchronet, with the ability to federate with other (including Synchronet) Jabber servers. Your various IM clients could connect to this server. It would just use your existing user DB. There could maybe be some sort of interBBS contact list population.

    Just use Google Talk, with one account for your BBS. When a user "pages" you on the BBS, this account logs in and sends you a message, eg. "<username> is paging you for chat." You'd just need to read that message to know who is using your BBS' Jabber account at a given time. Granted if more than one person paged you at once, this could get confusing.

    Some sort of magical gating between your BBS' existing IRC server and your IM protocol of choice.

    For direct user to user interBBS paging, there are other possibilities and the whole Jabber thing isn't entirely necessary, not that it wouldn't work. MCMLXXIX and I have some JSON-service stuff in place on our systems for this, and it works nicely.

    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230

    ---
    ■ Synchronet ■ electronic chicken bbs - bbs.electronicchicken.com
  • From Fireball@VERT/FBEX to Dreamer on Thursday, February 07, 2013 18:18:27
    There's actually a defined internet standard for this. I was actually thinking of it today (funny coincidence that -- you logged onto my board today, I happen to be thinking about it, and you write it later on :P).

    Anyhow, it's called the Talk Daemon. It used to be pretty popular on Unix systems, and has been ported to several other operating systems. Since people stopped using unix shells for the most part, it's probably not even maintained anymore.

    I was thinking about bringing it up myself, but I've been looking for something to cut my teeth on anyhow. It would require each participating system to be running a javacript server. The client would initiate a talk request, and wait. The receiver would get a telegram, indicating user@bbs would like to talk, press ctrl-whatever. If the initiator quit out, they would then get a telegram, etc, etc.

    The original talk program that I used was a nice split screen realtime
    chat. I think it'd mesh very nicely with Synchronet. And, the source is already out there. Not sure what license it has... I know there was talk, then later on ytalk, maybe some others. I'm sure at least one is open source, and only needs to be ported.


    We kind of already have this in sbbs. Chat between bbs systems is built-in
    now. The thing is, I'd like a full out paging system. My server is linux and
    my normal everyday use computer is windows, so I'd need a cross-platform solution for that.

    Fireball

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From Fireball@VERT/FBEX to Nightfox on Thursday, February 07, 2013 18:24:36

    I had this idea myself, and actually implemented a pair of apps (client and server) a few years ago that I'd use for remote paging. Since my BBS is on a separate computer, I wanted to be notified when a user paged me on my
    main computer. It was fairly simple though in that would just play a sound when
    a user paged me. When I heard the sound, I'd then remote desktop onto my BBS machine to talk to the user.

    I wrote my client & server apps in C++ to use traditional socket networking though, and the drawback to that was that if my server app wasn't running (i.e., when my main PC was turned off), the client would take a while (several moments) to "page" me because it couldn't connect to the server
    app - It would wait and eventually time out. I didn't really like that,
    but it worked well when my main PC was turned on and the server app was running. I eventually stopped using it due to that issue though..

    Nightfox


    I'm thinking skip the whole having to login from remote and chat via my
    desktop system. I remember that back in the day, when the sysop was running it on their local system, they'd answer almost immediately. This would bring that to sbbs for those who have a remote system or sbbs running on a local separate system.

    Fireball

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From Fireball@VERT/FBEX to Poindexter Fortran on Thursday, February 07, 2013 18:30:58
    Re: I have an Idea
    By: echicken to Fireball on Wed Feb 06 2013 08:55 pm

    It might be best overall if the "page the sysop" function on the BBS side were just a simple client that could connect to an instant messaging service (Google Talk, etc.)

    THAT WOULD ROCK.

    It would be interesting to replace or supplant the IRC code with jabber federating between BBSes.


    I don't want to see IRC go away. It's a good place to share ideas and get immediate support and shoot the $#*^. I think jabber would be a good addition to the array of chat features already there. :)

    Fireball

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From Fireball@VERT/FBEX to echicken on Thursday, February 07, 2013 21:34:10
    Re: Re: I have an Idea
    By: Fireball to echicken on Thu Feb 07 2013 18:09:38

    Very good point! There is a javascript jabber library already out there; https://github.com/sstrigler.

    I'll take a look at that. Depending on what it was written for, it may or may not translate well for our purposes.

    The problem I see with a client/client is there needs to be a server somewhere in there. Connecting directly to google's servers requires a google account for each bbs user. Now if one could figure out how to setup a jabber server with google talk access (not hard to do really), and import the users from sbbs so they could each use it to connect to the service via user@bbs.com, that'd be cool. Then the paging could be bidirectional.

    There are a few possibilities:

    Create a Jabber server for Synchronet, with the ability to federate with other (including Synchronet) Jabber servers. Your various IM clients could connect to this server. It would just use your existing user DB. There could maybe be some sort of interBBS contact list population.


    I read that since JSON doesn't support namespaces, the XMPP protocol would be pretty complex, if not impossible, to implement for it. Another option would
    be to make a plugin for something like ejabberd to hit the sbbs user database for authentication.

    Just use Google Talk, with one account for your BBS. When a user "pages" you on the BBS, this account logs in and sends you a message, eg. "<username> is paging you for chat." You'd just need to read that message to know who is using your BBS' Jabber account at a given time. Granted if more than one person paged you at once, this could get confusing.


    Possible, but meh. I'd just as soon have different chat windows for different users.

    Some sort of magical gating between your BBS' existing IRC server and your IM protocol of choice.


    Interesting thought. It might blur the lines a little much for my tastes.

    For direct user to user interBBS paging, there are other possibilities and the whole Jabber thing isn't entirely necessary, not that it wouldn't work. MCMLXXIX and I have some JSON-service stuff in place on our systems for this, and it works nicely.


    There is already a interBBS IM chat, just not a paging system. Could it be possible to modify the existing service to a) allow for an external client to connect and wait for pages b) allow for an initiation of text chat via that client?

    I know a little about python (it's been a long time since I messed with it)
    and almost nothing about javascript. It would be nice to see some support for python in sbbs as well (even if via a 'shim'). It's not near as hard to learn and also very powerful. :)

    Fireball

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From echicken@VERT/ECBBS to Fireball on Thursday, February 07, 2013 16:12:53
    Re: Re: I have an Idea
    By: Fireball to echicken on Thu Feb 07 2013 21:34:10

    I read that since JSON doesn't support namespaces, the XMPP protocol would be pretty complex, if not impossible, to implement for it. Another option

    JSON doesn't need to get involved at any point. We do have native XML parsing at our disposal in Synchronet (3.15+, I believe.)

    would be to make a plugin for something like ejabberd to hit the sbbs user database for authentication.

    Sure. It might be fun to write the service anyway, though, and the service having access to all kinds of data from the BBS might open up some interesting possibilities. (Of course, a client running on the BBS might be enough.)

    There is already a interBBS IM chat, just not a paging system. Could it be

    Sure, the one I was talking about just works very differently, and we're using it for answerable (tied to a hot key combination) "invitations" to things like chat and games.

    possible to modify the existing service to a) allow for an external client to connect and wait for pages b) allow for an initiation of text chat via that client?

    I haven't looked at the bundled SBBSIMSG thing in quite some time. My recollection is that:

    a) The list of BBSs is tied to the Synchronet BBS list
    b) User presence information is gathered via Finger, per BBS
    c) The messages are delivered via SMTP?

    To use an external client, that client would need to be a sort of fake BBS on the SBL, to begin with, which really isn't ideal.

    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230

    ---
    ■ Synchronet ■ electronic chicken bbs - bbs.electronicchicken.com
  • From echicken@VERT/ECBBS to Fireball on Thursday, February 07, 2013 16:36:40
    Re: Re: I have an Idea
    By: Fireball to echicken on Thu Feb 07 2013 21:34:10

    I know a little about python (it's been a long time since I messed with it) and almost nothing about javascript. It would be nice to see some support for python in sbbs as well (even if via a 'shim'). It's not near as hard to learn and also very powerful. :)

    I don't know. "Hard to learn" is totally subjective. I know a little bit of Python and I wouldn't really say it's easier (or harder) to pick up than JS - just different.

    JS - with the objects and classes provided by Synchronet - is actually quite powerful, and we've been able to do a lot with it. I'd rather see one well-supported native scripting language in a project like this than a handful of options, many of which would be under-used and not fully implemented. Any new scripting environment would not benefit from the huge amount of JS stuff available for Synchronet already.

    Of course, for your "shim" one could conceivably write an API in JS to expose all kinds of data from Synchronet, then interact with it from stuff written in their programming language of choice.

    If Python really is your thing, there is somebody working on a Python-based BBS: http://1984.ws/. On the other hand, there's no need to change software just because you don't want to learn JS - Synchronet already has an alternative by the name of Baja. :D

    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230

    ---
    ■ Synchronet ■ electronic chicken bbs - bbs.electronicchicken.com
  • From echicken@VERT/ECBBS to Poindexter Fortran on Thursday, February 07, 2013 16:49:16
    Re: I have an Idea
    By: Poindexter Fortran to echicken on Wed Feb 06 2013 21:34:46

    It would be interesting to replace or supplant the IRC code with jabber federating between BBSes.

    Well, I wouldn't want the IRC stuff to go away - it does what it does quite nicely. XMPP is just something to consider, depending on what people might want to do with it. Could be fun.

    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230

    ---
    ■ Synchronet ■ electronic chicken bbs - bbs.electronicchicken.com
  • From Dreamer@VERT/SETXBBS to Fireball on Thursday, February 07, 2013 18:45:45
    Re: Re: I have an Idea
    By: Fireball to Dreamer on Thu Feb 07 2013 06:18 pm

    We kind of already have this in sbbs. Chat between bbs systems is built-in now. The thing is, I'd like a full out paging system. My server is linux
    and my normal everyday use computer is windows, so I'd need a
    cross-platform solution for that.

    Yeah, but our options are IRC or telegrams. I was talking about a private split screen real time chat. IRC is near realtime, using one or more servers in between and only transmits a line at a time. Telegrams are good for short messages, but then, so is email, and email is more reliable in my opinion.

    Talk and talkd are pretty awesome as it's fully live, character by character. One of the later versions, ytalk I think it was, apparently even had the ability to have more than two splitscreened users (I guess up to four), plus you could open a shell that others could see (the original online whiteboard?).

    ---
    ■ Synchronet ■ Southeast Texas Chat
  • From Poindexter Fortran@VERT/REALITY to echicken on Friday, February 08, 2013 14:06:33
    Re: I have an Idea
    By: echicken to Poindexter Fortran on Thu Feb 07 2013 04:49 pm

    Well, I wouldn't want the IRC stuff to go away - it does what it does quite nicely. XMPP is just something to consider, depending on what people might want to do with it. Could be fun.

    Definitely not replace -- that was incorrect. There are social aspects to IRC that XMPP doesn't offer, and IRC is a whole 'nother world of networking.

    ---
    ■ Synchronet ■ realitycheckBBS -- http://realitycheckBBS.org
  • From echicken@VERT/ECBBS to Poindexter Fortran on Friday, February 08, 2013 20:40:52
    Re: I have an Idea
    By: Poindexter Fortran to echicken on Fri Feb 08 2013 14:06:33

    Definitely not replace -- that was incorrect. There are social aspects to IRC that XMPP doesn't offer, and IRC is a whole 'nother world of networking.

    Well, it seems like XMPP would be a bit more of a headache to implement than I'm willing to deal with right now anyway. E4X, which brought native XML parsing to Javascript, has been discontinued in favour of DOM based parsers which won't help us here.

    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230

    ---
    ■ Synchronet ■ electronic chicken bbs - bbs.electronicchicken.com
  • From Fireball@VERT/FBEX to echicken on Saturday, February 09, 2013 07:38:59
    Re: I have an Idea
    By: Poindexter Fortran to echicken on Fri Feb 08 2013 14:06:33

    Definitely not replace -- that was incorrect. There are social aspects to IRC that XMPP doesn't offer, and IRC is a whole 'nother world of networking.

    Well, it seems like XMPP would be a bit more of a headache to implement
    than I'm willing to deal with right now anyway. E4X, which brought native XML parsing to Javascript, has been discontinued in favour of DOM based parsers which won't help us here.

    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230


    I read up on it. Yeah, they killed off E4X earlier this year. I don't know how useful it is, but there is/was another project that provides an XML parser and supports DOM. http://xmljs.sourceforge.net/ is the url. You might want to take a look and see what you think. It hasn't been updated sine 2011, but it might be promising.

    Fireball

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From Fireball@VERT/FBEX to Dreamer on Saturday, February 09, 2013 08:05:52
    Re: Re: I have an Idea
    By: Fireball to Dreamer on Thu Feb 07 2013 06:18 pm

    We kind of already have this in sbbs. Chat between bbs systems is built-in now. The thing is, I'd like a full out paging system. My server is linux and my normal everyday use computer is windows, so I'd need a cross-platform solution for that.

    Yeah, but our options are IRC or telegrams. I was talking about a private split screen real time chat. IRC is near realtime, using one or more servers in between and only transmits a line at a time. Telegrams are good for short messages, but then, so is email, and email is more reliable in my opinion.

    Talk and talkd are pretty awesome as it's fully live, character by character. One of the later versions, ytalk I think it was, apparently even had the ability to have more than two splitscreened users (I guess up to four), plus you could open a shell that others could see (the original online whiteboard?).


    I would need a talk client that would have the (non-standard) ability to take
    a signal and play a sound. Then give an option to open a chat window. I would think either a java or python client (for cross platform) and console/split screen style would be preferred if this is the way to go. :)

    Fireball

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From Dreamer@VERT/SETXBBS to Fireball on Saturday, February 09, 2013 09:47:59
    Re: Re: I have an Idea
    By: Fireball to Dreamer on Sat Feb 09 2013 08:05 am

    I would need a talk client that would have the (non-standard) ability to take a signal and play a sound. Then give an option to open a chat window.
    I would think either a java or python client (for cross platform) and console/split screen style would be preferred if this is the way to go. :)

    Basically, talk/talkd would be a Synchronet javascript program.. I'm sure it could be set up so that if the user being paged is the sysop, it can play a sound. I'm going to write it from the ground up, but I've never written a javascript program. I'm looking at others for examples, and I've gotten the original Berkeley talk source for reference, but it's still going to take a very long time.

    I'm not sure how "standard" I'm really going to go with it. Very few people actually use the original talk protocol anymore; in fact, in Debian and Ubuntu distributions, it's still disabled even after installation. You have to manually edit one or two config files to enable it.

    For my first version, I'm going to use the included SBBS Telegram service in place of talkd. It's pretty much what talkd does. Talk will send an invite, then wait for connection. The invitee will run their talk program, which will then connect to the initiator. Once I get that working, I'll start on a version 2, which will include a talkd service and be capable of doing standard talk, so users with Linux can utilize it w/o logging in.

    ---
    ■ Synchronet ■ Southeast Texas Chat
  • From Deuce@VERT/SYNCNIX to echicken on Monday, February 11, 2013 13:42:51
    Re: I have an Idea
    By: echicken to Poindexter Fortran on Fri Feb 08 2013 08:40 pm

    Well, it seems like XMPP would be a bit more of a headache to implement
    than I'm willing to deal with right now anyway. E4X, which brought native XML parsing to Javascript, has been discontinued in favour of DOM based parsers which won't help us here.

    The code is still there and Synchronet builds with it enabled... there's a few bits in CVS already that rely on E4X, so it's not something that will be dropped lightly.

    On the other hand, if we end up pulling in a different JS engine for some reason in the future, E4X may not be available.

    ---
    http://DuckDuckGo.com/ a better search engine that respects your privacy.
    ■ Synchronet ■ My Brand-New BBS (All the cool SysOps run STOCK!)
  • From Fireball@VERT/FBEX to echicken on Monday, February 11, 2013 17:22:03
    Re: Re: I have an Idea
    By: Fireball to echicken on Thu Feb 07 2013 21:34:10

    I know a little about python (it's been a long time since I messed
    with it) and almost nothing about javascript. It would be nice to see some support for python in sbbs as well (even if via a 'shim'). It's not near as hard to learn and also very powerful. :)

    I don't know. "Hard to learn" is totally subjective. I know a little bit of Python and I wouldn't really say it's easier (or harder) to pick up than JS - just different.


    I guess what I meant to say is it seems less readable and more complicated to me. For those that are familiar with with C++ or Java, it wouldn't be hard to pick up. I was able to start writing in python almost right away, with a
    little reading and tutorial. I have yet to see a good tutorial on JS, and I haven't found a good guide to command line JS operation either.

    JS - with the objects and classes provided by Synchronet - is actually
    quite powerful, and we've been able to do a lot with it. I'd rather see
    one well-supported native scripting language in a project like this than a handful of options, many of which would be under-used and not fully implemented. Any new scripting environment would not benefit from the huge amount of JS stuff available for Synchronet already.


    I understand where you're coming from. I'm sure JS has it's advantages, but then so does Python. Both are mature OOP languages. One was made for web environments while the other was made for other uses. I think my biggest issue is, even with all the sbbs JS examples I've been over in the last few days, I still can't figure out how it works.

    Of course, for your "shim" one could conceivably write an API in JS to expose all kinds of data from Synchronet, then interact with it from stuff written in their programming language of choice.


    One could conceivably make a python methods available to a program by
    including the Python.h. Alternatively, using python ctypes and creating/importing the synchronet definitions as a library could provide a lot of useful information for making sbbs python scripts (doors and utilities).

    If Python really is your thing, there is somebody working on a Python-based BBS: http://1984.ws/. On the other hand, there's no need to change
    software just because you don't want to learn JS - Synchronet already has
    an alternative by the name of Baja. :D


    I'm not looking to change completely. I like Synchronet and it's many
    features, just not real thrilled with the learning curve of JS.

    Fireball
    -=Fireball=-

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com
  • From echicken@VERT/ECBBS to Fireball on Monday, February 11, 2013 23:16:47
    Re: Re: I have an Idea
    By: Fireball to echicken on Mon Feb 11 2013 17:22:03

    with a little reading and tutorial. I have yet to see a good tutorial on JS, and I haven't found a good guide to command line JS operation either.

    I guess it depends on how you like to learn. (I rarely go the tutorial route, myself, finding it tedious.) With JS I stared by modifying existing code until I began to understand more of what was going on, then slowly began writing my own stuff from scratch. I do however find it difficult to believe that there are no good JS tutorials, though perhaps the problem is that most of them are geared toward web browser-based JS.

    Command-line operation (a la Python, Ruby, probably others) as in typing line by line into an interactive interpreter really isn't a common thing in JS land (although perhaps node.js offers this,) though there are ways. I guess if you're used to that sort of immediate feedback it would be difficult to get used to editing and saving your script, then running it separately.

    I understand where you're coming from. I'm sure JS has it's advantages, but then so does Python. Both are mature OOP languages. One was made for

    What I was saying was not so much that JS is great in and of itself, but that we have a rich set of objects available from Synchronet for that language already, and a lot of extra libraries written. If someone wants to duplicate all of that for some other language ... well, sure, go for it.

    but then so does Python. Both are mature OOP languages. One was made for web environments while the other was made for other uses. I think my

    A lot of JS examples you'll find might suggest that it's for web environments, but that's because they're examples for client-side scripts running in web browsers. Without the Document object, etc., JS is a language like most others, with the typical building blocks. What it may lack in a *browser* in terms of file I/O and sockets, to name two notable things, we do have in JS under Synchronet (a File class, a Socket class, and more.)

    biggest issue is, even with all the sbbs JS examples I've been over in the last few days, I still can't figure out how it works.

    This may depend on what code you've been looking at. Most people start by doing a really bad modification of one of the existing command shells.

    One could conceivably make a python methods available to a program by including the Python.h. Alternatively, using python ctypes and creating/importing the synchronet definitions as a library could provide a lot of useful information for making sbbs python scripts (doors and utilities).

    Yep, that would take care of most of it. If somebody (you) wants to do that, more power to them.

    I'm not looking to change completely. I like Synchronet and it's many features, just not real thrilled with the learning curve of JS.

    Yeah, I wasn't saying "go away and use this Python based BBS instead", just pointing it out. JS make take a bit of getting used to; it's just my opinion that we'd all benefit by working with the same libraries and such - but failing that, working in your own preferred environment is better than nothing.

    If you do have specific questions about JS & Synchronet, there are many of us who read this sub and should be able to tell you what you want to know. If some specific examples of how to do certain things would help, someone (me, at least) can provide them, within reason.

    echicken
    electronic chicken bbs - bbs.electronicchicken.com - 416-273-7230

    ---
    ■ Synchronet ■ electronic chicken bbs - bbs.electronicchicken.com
  • From Nightfox@VERT/DIGDIST to Fireball on Tuesday, February 12, 2013 07:58:18
    Re: Re: I have an Idea
    By: Fireball to echicken on Mon Feb 11 2013 17:22:03

    I guess what I meant to say is it seems less readable and more complicated to me. For those that are familiar with with C++ or Java, it wouldn't be hard to pick up. I was able to start writing in python almost right away, with a little reading and tutorial. I have yet to see a good tutorial on

    I think if you already know one (or more) programming language, it's not all that hard to learn another. The concepts are mostly the same between languages; it's just the syntax and available keywords & objects that tend to be different.

    JS, and I haven't found a good guide to command line JS operation either.

    JS typically isn't used on the command-line, although for Synchronet, there is the jsexec program, which allows you to write JS scripts for Synchronet that you can run on the command line.

    While writing JS scripts for Synchronet, I've often done string manipulation and have found the documentation on the JS string object at w3schools.com useful:
    http://www.w3schools.com/jsref/jsref_obj_string.asp
    They have a page for JS examples as well: http://www.w3schools.com/js/js_examples.asp

    One could conceivably make a python methods available to a program by including the Python.h. Alternatively, using python ctypes and creating/importing the synchronet definitions as a library could provide a lot of useful information for making sbbs python scripts (doors and utilities).

    I've actually thought that being able to write Python scripts for Synchronet would be nice.

    Nightfox

    ---
    ■ Synchronet ■ Digital Distortion BBS - digitaldistortionbbs.com
  • From Mindless Automaton@VERT/ELDRITCH to Nightfox on Tuesday, February 12, 2013 12:33:33
    On 2/12/2013 10:58 AM, Nightfox wrote:
    Re: Re: I have an Idea


    I've actually thought that being able to write Python scripts for Synchronet would be nice.


    SOmething like this:

    http://pyjs.org/Translator.html
    ---
    ■ Synchronet ■ Eldritch Clockwork BBS - eldritch.darktech.org
  • From Nightfox@VERT/DIGDIST to Mindless Automaton on Tuesday, February 12, 2013 21:46:18
    Re: Re: I have an Idea
    By: Mindless Automaton to Nightfox on Tue Feb 12 2013 12:33:33

    I've actually thought that being able to write Python scripts for
    Synchronet would be nice.

    SOmething like this:
    http://pyjs.org/Translator.html

    That looks interesting.. I doubt it would support Synchronet's JavaScript API though. There would also have to be a way to reference Synchronet's APIs from Python.

    Nightfox

    ---
    ■ Synchronet ■ Digital Distortion BBS - digitaldistortionbbs.com
  • From Ragnarok@VERT/DOCKSUD to Fireball on Monday, March 18, 2013 00:38:23
    El 08/02/13 00:34, Fireball escribiˇ:


    I read that since JSON doesn't support namespaces, the XMPP protocol would be pretty complex, if not impossible, to implement for it. Another option would be to make a plugin for something like ejabberd to hit the sbbs user database for authentication.

    i use ejabberd plugin to authenticate with the pop3 bbs service

    ---
    ■ Synchronet ■ Dock Sud BBS TLD 24 HS - http://www.docksud.com.ar - telnet://bbs.docksud.com.ar
  • From Draco@VERT/LOKISDEN to Ragnarok on Thursday, March 21, 2013 23:25:32
    El 08/02/13 00:34, Fireball escribiˇ:


    I read that since JSON doesn't support namespaces, the XMPP protocol
    would be pretty complex, if not impossible, to implement for it. Another option would be to make a plugin for something like ejabberd to hit the sbbs user database for authentication.

    i use ejabberd plugin to authenticate with the pop3 bbs service

    ---
    ■ Synchronet ■ Dock Sud BBS TLD 24 HS - http://www.docksud.com.ar - telnet://bbs.docksud.com.ar

    That would be an idea. I'll have to look into it. :)

    Thanks!

    ---
    ■ Synchronet ■ Loki's Den - lokisden.synchro.net
  • From Fireball@VERT/FBEX to Ragnarok on Friday, March 22, 2013 01:25:02
    El 08/02/13 00:34, Fireball escribiˇ:


    I read that since JSON doesn't support namespaces, the XMPP protocol
    would be pretty complex, if not impossible, to implement for it. Another option would be to make a plugin for something like ejabberd to hit the sbbs user database for authentication.

    i use ejabberd plugin to authenticate with the pop3 bbs service

    ---
    ■ Synchronet ■ Dock Sud BBS TLD 24 HS - http://www.docksud.com.ar - telnet://bbs.docksud.com.ar

    Nice! Perhaps I'll attempt to figure something out on the whole ejabberd/pop3 authentication. It might come in handy if I can peer off of gtalk and just
    have it message me there.

    Make a json client for the bbs that will connect to the local jabber server with their user account, and "pages me. When it "pages" me, it sends me a message on gtalk and we are connected for chat. I'd have to find an easy way
    to turn on and off paging. hmmm.....

    Since I'm still javascript stupid, this might even be vaporware, but it is an idea if someone wants to take up the project. *hint*hint* lol

    -=Fireball=-

    ---
    ■ Synchronet ■ Fireball Express!!! BBS - http://fireballex.com telnet://fireballex.com