• Class request

    From Finnigann@BNB to All on Friday, October 19, 2001 12:09:00
    It's patently obvious that some folks here understand BaJa (and
    programming in general) very well.

    Could someone take the lead and TRY to educate the rest of us (or me if
    no one else is interested) in how to use the BaJa programmig language.

    I can follow along with DEFAULT.SRC in what's it's doing. How ever
    DEFAULT.SRC doesn't show everything avaiable with BaJa. Perhaps open
    some things up for discussion.

    Angus did something like this with Perl but it didn't go very far (or
    far enough) and he assummed for his series that somethings were already understood.

    I am looking for something more like 'BaJa Programming 101' Take some
    basic commands and show how they can be used in programs. Even if it's
    the ever popular "Hello World!"

    Of course it would be nice if such classes gave rise to a usefull door
    or something that could be used with SBBS. But not mandatory.

    Shells give a small slice of what's possible. Mostly they re-arrange the
    BBS commands. A few do all-together different things.

    Anyway, while waiting for the next Terrorist attack, perhaps we can do something.

    Thanks.


    ... Computer Hacker wanted. Must have own axe.
    --- MultiMail/MS-DOS v0.40
    ■ Synchronet ■ Bits-N-Bytes BBS - One Hellova BBS -- telnet://bnb.dtdns.net
  • From Amcleod to Finnigann on Friday, October 19, 2001 23:10:19
    RE: Class request
    BY: Finnigann to All on Fri Oct 19 2001 07:09 pm

    I am looking for something more like 'BaJa Programming 101' Take some
    basic commands and show how they can be used in programs. Even if it's
    the ever popular "Hello World!"


    PRINT "Hello World!\r\n"

    :)

    Baja, like any other language, is like a box of lego bricks. You look into the box (or read http://synchro.net/docs/baja.html) and you look at the
    individual shapes/verbs and individually, they are very simple. What you, as the programmer/constructor have to do, is mentally think of a way to fit them together so as to construct a larger, more complex, and (presumably) more useful item. Say a wall/code-fragment or roof/subroutine. These larger, more complex and sophisticated pieces can in turn be combined and so on and so forth until you have a complete house/program.

    Anyone who has some programming experience under their belt will find BAJA a simple, uncomplicated language to use. There is no unusual notation (a la APL or Perl), no OOP paradigm to master (like Java), no twisted command structure (Forth).

    Non-programmers who wish to learn the art are best advised to "get stuck in" somewhere and begin coding. No, NOT with your first project being a multi-threaded IRC client. Pick something simple, and bang away at it until it is working, then discard that and move on to something else. It helps a great deal to get all the working code you can from other authors, and read through, trying to comprehend how the various bits of the code work together. It helps to get a text-bok on programing too -- unfortunately there are no textbooks that use BAJA as their example language. And I don't think anyone around here is ready to _write_ one! ;-)
  • From Finnigann@BNB to Amcleod on Saturday, October 20, 2001 10:21:00
    Amcleod wrote to Finnigann <=-

    RE: Class request
    BY: Finnigann to All on Fri Oct 19 2001 07:09 pm

    I am looking for something more like 'BaJa Programming 101' Take some
    basic commands and show how they can be used in programs. Even if it's
    the ever popular "Hello World!"


    PRINT "Hello World!\r\n"

    :)

    Forget the intro part?

    # Requires Baja v2.20 or later

    !include fileio.inc

    PRINT "Hello World!\r\n"

    # End of demo


    Baja, like any other language, is like a box of lego bricks. You look into the box (or read http://synchro.net/docs/baja.html) and you look
    at the individual shapes/verbs and individually, they are very simple. What you, as the programmer/constructor have to do, is mentally think
    of a way to fit them together so as to construct a larger, more
    complex, and (presumably) more useful item. Say a wall/code-fragment
    or roof/subroutine. These larger, more complex and sophisticated
    pieces can in turn be combined and so on and so forth until you have a complete house/program.

    Like the room full of monkeys pounding out Shakespere (eventually)?
    But wouldn't said room of monkeys benefit from an understanding of the
    words they were trying to couple together?

    Anyone who has some programming experience under their belt will find
    BAJA a simple, uncomplicated language to use. There is no unusual notation (a la APL or Perl), no OOP paradigm to master (like Java), no twisted command structure (Forth).

    Well I don't fall into the catagory of experience but I can follow what
    is being attempted in most baja programs. Yes it can be a marvelous
    tool... if given a chance.

    Non-programmers who wish to learn the art are best advised to "get
    stuck in" somewhere and begin coding. No, NOT with your first project being a multi-threaded IRC client. Pick something simple, and bang
    away at it until it is working, then discard that and move on to
    something else. It helps a great deal to get all the working code you
    can from other authors, and read through, trying to comprehend how the


    various bits of the code work together. It helps to get a text-bok on programing too -- unfortunately there are no textbooks that use BAJA as their example language. And I don't think anyone around here is ready
    to _write_ one! ;-) ---

    Given that you know it would help, why not do like you did with the PERL messages? A (a message being) chapter at a time, maybe. With more than
    one person contributing.

    A few minutes to wring out a short program (doesn't have to be more
    useful than Hello_world.pl) Just let it examplfy some aspect of Baja.

    Someone did a short one on CASE and how it would be used in some specific application they needed. Well looking it up AND with what was written
    here, I have a better understanding of it's possible uses. Lacking that,
    I doubt I could have made sense of what is in the help file. (BAJA.DOC)



    ... Heisenberg may have slept here.
    --- MultiMail/MS-DOS v0.40
    ■ Synchronet ■ Bits-N-Bytes BBS - One Hellova BBS -- telnet://bnb.dtdns.net
  • From Amcleod to Finnigann on Saturday, October 20, 2001 11:24:18
    RE: Class request
    BY: Finnigann to Amcleod on Sat Oct 20 2001 05:21 pm

    Given that you know it would help, why not do like you did with the PERL messages? A (a message being) chapter at a time, maybe. With more than
    one person contributing.

    Actually, I don't think I would be a very good person to do this. Simply because it is a LONG time since I coded anything serious in BAJA. I don't run my own BBS any more, so I don't _really_ have any motivation to do any BAJA coding. And there have been _lots_ of extensions to and innovations within the BAJA language since I was last involved with it to any extent.

    You need to find someone who actively programs in BAJA on their own board, and ask them to do this. I am not the right person -- I can't even test my own example programs properly!
  • From Digital Man to Finnigann on Saturday, October 20, 2001 13:55:29
    RE: Class request
    BY: Finnigann to Amcleod on Sat Oct 20 2001 05:21 pm

    PRINT "Hello World!\r\n"

    :)

    Forget the intro part?

    # Requires Baja v2.20 or later

    !include fileio.inc

    PRINT "Hello World!\r\n"

    # End of demo

    No, none of those other lines are necessary (there are no FILE I/O calls, for example) and the "Requires Baja v2.20 or later" comment is inaccurate. There is nothing about Angus's example that wouldn't have worked in Baja v1.0.

    -Rob
  • From Finnigann@BNB to Amcleod on Saturday, October 20, 2001 18:09:00
    Amcleod wrote to Finnigann <=-

    RE: Class request
    BY: Finnigann to Amcleod on Sat Oct 20 2001 05:21 pm


    You need to find someone who actively programs in BAJA on their own
    board, and ask them to do this. I am not the right person -- I can't
    even test my own example programs properly!

    Sorry I came on a bit stronger than I intended. I didn't mean to button
    hole you on this.

    Any future input you can contribute (if it goes further than my
    pleading) will be most appriciated.


    ... "It's funny how all the guards disappeared so fast." Garibaldi
    --- MultiMail/MS-DOS v0.40
    ■ Synchronet ■ Bits-N-Bytes BBS - One Hellova BBS -- telnet://bnb.dtdns.net
  • From Finnigann@BNB to Digital Man on Saturday, October 20, 2001 18:17:00
    Digital Man wrote to Finnigann <=-

    RE: Class request
    BY: Finnigann to Amcleod on Sat Oct 20 2001 05:21 pm

    PRINT "Hello World!\r\n"

    :)

    Forget the intro part?

    # Requires Baja v2.20 or later

    !include fileio.inc

    PRINT "Hello World!\r\n"

    # End of demo

    No, none of those other lines are necessary (there are no FILE I/O
    calls, for example) and the "Requires Baja v2.20 or later" comment is inaccurate. There is nothing about Angus's example that wouldn't have worked in Baja v1.0.

    I just snipped a bit from another source file. An attempt at humor.
    However the comments would be a necessity (While not so much for this
    example) for longer .SRC files

    And I don't mean to sound ungrateful for all you have done. However from
    a non-programmers poit of view, the BaJa DOCs leave me with more
    questions than answers. I understand that they are reference material,
    and not a tutorial on programming techniques or styles.

    But that sort of thing would be helpful (at least to me).

    I am not saying you have fallen short in anyway with your monumental
    efforts with SBBS. On the contrary I will sing your praises anywhere I
    can.

    Nor am I suggesting you or anyone should do as I am asking. But still
    if anyone recalls their first attempts at programming and wishes to make
    a contribution here in DoVeNet... Well I wouldn't stop them either.



    ... All I want is a warm bed, a kind word, and *unlimited power*...
    --- MultiMail/MS-DOS v0.40
    ■ Synchronet ■ Bits-N-Bytes BBS - One Hellova BBS -- telnet://bnb.dtdns.net
  • From Lord Steel@STEELBBS to Finnigann on Saturday, October 20, 2001 15:34:00
    RE: Class request
    BY: Finnigann to All on Fri Oct 19 2001 07:09 pm

    I am looking for something more like 'BaJa Programming 101' Take some
    basic commands and show how they can be used in programs. Even if it's
    the ever popular "Hello World!"

    I want to learn also. A Baja Class would be the ticket. If anyone start a class..I'll attend it or the class lesson for the day...hey I would even do..ere...do the lesson work sheet. =)

    -ariel

    ---
    ■ Synchronet ■ Steel Realms * The Other Side Of Forever * Carson, California
  • From Finnigann@BNB to Lord Steel on Sunday, October 21, 2001 01:25:00
    Lord Steel wrote to Finnigann <=-

    RE: Class request
    BY: Finnigann to All on Fri Oct 19 2001 07:09 pm

    I am looking for something more like 'BaJa Programming 101' Take some
    basic commands and show how they can be used in programs. Even if it's
    the ever popular "Hello World!"

    I want to learn also. A Baja Class would be the ticket. If anyone start
    a class..I'll attend it or the class lesson for the day...hey I would
    even do..ere...do the lesson work sheet. =)

    -ariel

    A slow start to be sure. I've heard from Angus about it and DM is
    already correcting code entries... (-:

    Don't worry, there is no homework. althou an Offline mail reader
    would help people alot.

    I started re-reading the baja manual again. Each time some more seeps
    in. It's just that I'm not famialar with the words of the baja langauge
    to be able to write it. Hopefully some folks here that are, will take up
    the task of writing a message or two about some aspect they found
    interesting.

    Time will tell.


    ... As a matter of FACT I DO own the road!
    --- MultiMail/MS-DOS v0.40
    ■ Synchronet ■ Bits-N-Bytes BBS - One Hellova BBS -- telnet://bnb.dtdns.net
  • From Lord Steel@STEELBBS to Finnigann on Sunday, October 21, 2001 05:42:00
    RE: Class request
    BY: Finnigann to Lord Steel on Sun Oct 21 2001 08:25 am

    A slow start to be sure. I've heard from Angus about it and DM is
    already correcting code entries... (-:

    Don't worry, there is no homework. althou an Offline mail reader
    would help people alot.

    I started re-reading the baja manual again. Each time some more seeps
    in. It's just that I'm not famialar with the words of the baja langauge
    to be able to write it. Hopefully some folks here that are, will take up
    the task of writing a message or two about some aspect they found interesting.

    Time will tell.

    I am still in the process of fixing my small bbs. I did not even look at the baja docs yet. I don't think it is wise and helpful if I start asking 'weird' questions to DM and Angus about baja problems while I can't put a 100% effort on learning. I think I have a few ideas I wanted to try later. If someone put something baja related (snippets, tutorial, etc), I would be more than willing to try it, of course. Hey, we would not learn if we do not try it. I wonder how long before we drive DM and Angus crazy by posting a 20 line program that a one liner would have handled easily? =)

    -ariel

    ---
    ■ Synchronet ■ Steel Realms * The Other Side Of Forever * Carson, California
  • From Amcleod to Lord Steel on Sunday, October 21, 2001 10:19:36
    RE: Class request
    BY: Lord Steel to Finnigann on Sun Oct 21 2001 12:42 pm

    I wonder how
    long before we drive DM and Angus crazy by posting a 20 line program that a one liner would have handled easily? =)

    What drives me crazy is when I write a 20-line program and someone shows me how dumb I am by posting a one-liner to do the job! Aaaaaarrrggghhh!!! It happens all the time with Perl. Perl one-liners are an art-form!
  • From Finnigann@BNB to Lord Steel on Sunday, October 21, 2001 12:55:00
    Lord Steel wrote to Finnigann <=-

    I am still in the process of fixing my small bbs. I did not even look
    at the baja docs yet. I don't think it is wise and helpful if I start asking 'weird' questions to DM and Angus about baja problems while I
    can't put a 100% effort on learning. I think I have a few ideas I
    wanted to try later. If someone put something baja related (snippets, tutorial, etc), I would be more than willing to try it, of course. Hey,
    we would not learn if we do not try it. I wonder how long before we
    drive DM and Angus crazy by posting a 20 line program that a one liner would have handled easily? =)

    -ariel

    If Angus isn't interested... he prolly wont reply. Rob is different,
    sometimes he's very helpful and other times he's a bit cryptic. I would
    imagine that a new family takes up a lot of his time. So I don't expect
    him to reply with a long message about one thing or another.

    However we do have a few other folks that can and do code in BaJa.
    Pistolgrip made a contribution already.

    I intend to save all of these messages for later compilation. For other
    budding programmers.


    ... Que sera, sweatshop: What will be, will work too hard.
    --- MultiMail/MS-DOS v0.40
    ■ Synchronet ■ Bits-N-Bytes BBS - One Hellova BBS -- telnet://bnb.dtdns.net
  • From Lord Steel@STEELBBS to Amcleod on Sunday, October 21, 2001 10:33:00
    RE: Class request
    BY: Amcleod to Lord Steel on Sun Oct 21 2001 05:19 pm

    What drives me crazy is when I write a 20-line program and someone shows me dumb I am by posting a one-liner to do the job! Aaaaaarrrggghhh!!! It happens all the time with Perl. Perl one-liners are an art-form!

    Isn't there a repository for Perl, Javascript or Baja snippets that we can use. I mean I use a Javascript book with pre-prepared scripts to use for websites when I needed to use one..life saver that book. So instead of stumbling with a 20 to 40 line program..we can use a standard 1 or 2 liner to do loops, get
    file info or even add info to existing files. I mean I found out this week that ariel.txt+srbbs.txt can be combined into another text. Powerful info for someone who does not know anything about programming. I could use that for later projects. So just drop some learning on us...the poor <sniff> unwashed groundlings.

    -ariel

    ---
    ■ Synchronet ■ Steel Realms * The Other Side Of Forever * Carson, California
  • From Lord Steel@STEELBBS to Finnigann on Sunday, October 21, 2001 10:40:00
    RE: Class request
    BY: Finnigann to Lord Steel on Sun Oct 21 2001 07:55 pm

    If Angus isn't interested... he prolly wont reply. Rob is different, sometimes he's very helpful and other times he's a bit cryptic. I would imagine that a new family takes up a lot of his time. So I don't expect
    him to reply with a long message about one thing or another.

    However we do have a few other folks that can and do code in BaJa. Pistolgrip made a contribution already.

    I intend to save all of these messages for later compilation. For other budding programmers.

    Rob, he teaches by pointing you to the right direction and if you really want to learn you will find it and then he expect you to ask the next logical question so he knows you understand.

    Angus, As long as he can verify what he says is true..he will spill his guts to us. We might be the ones asking him to wait for us to assimilate all info he dropped on us.

    Pistolgrip, I saw how his Baja works..wow...but I don't know how he teaches yet.

    -ariel

    ---
    ■ Synchronet ■ Steel Realms * The Other Side Of Forever * Carson, California
  • From PistolGrip@WASTELND to Lord Steel on Sunday, October 21, 2001 15:21:00
    RE: Class request
    BY: Lord Steel to Finnigann on Sun Oct 21 2001 05:40 pm

    If Angus isn't interested... he prolly wont reply. Rob is different, sometimes he's very helpful and other times he's a bit cryptic. I would imagine that a new family takes up a lot of his time. So I don't expect him to reply with a long message about one thing or another.

    However we do have a few other folks that can and do code in BaJa. Pistolgrip made a contribution already.

    Rob, he teaches by pointing you to the right direction and if you really wan to learn you will find it and then he expect you to ask the next logical question so he knows you understand.

    I agree, Rob has a good way of teaching things. He may not always give you 100% of the answer right away, but he does point in the direction you need to go to teach yourself. This is much better than having someone give you the answer, now you know the answer but you're still no better off then you were before. I also imagine Rob gets bombarded with questions (sometimes stupid ones), judging solely by the amount of SBSB related emails I get here.

    Pistolgrip, I saw how his Baja works..wow...but I don't know how he teaches yet.

    Well, I'll teach in what ever manner is best for that particular student. But, I will give one warning now. I'm not going to get too in-depth with my BAJA examples because with the new JS support in Synchronet I will personally be moving away from BAJA and coding in JS for the BBS. But, I did want to try and give some examples I thought some of you may find useful.

    BAJA is both a surprisingly easy language to learn, and a fairly powerful language. There are however a couple key programming components missing from it, which can make doing certain things much harder than other languages. This is why I would encourage most of you looking beyond a simple command shell and toward a program-like application to learn JS instead. Some things are much easier to do in JS. But, JS does have a higher learning curve.

    PG

    ---
    ■ Synchronet ■ WasteLand BBS ■ telnet://wasteland.darktech.org