SBO Community Virtual Hackathon (Spring 2019) - Training Sessions RRS feed

  • General discussion

  • SBO Community Virtual Hackathon (Spring 2019) will be held from March 18-31, 2019 UTC.  This thread will be used for the training sessions.

    SBO Community Virtual Hackathon

    The training sessions will include:

    • What is Small Basic Online (SBO) | 00:00-01:00, 02:00-03:00 AM on March 18, 2019 UTC (Done)
    • Writing Testing Code | 12:00-13:00 on March 18, 2019 UTC (Done)
    • Writing Testing Instruction12:00-13:00 on March 19, 2019 UTC (Done)
    • Finding Issues | 12:00-13:00 on March 20, 2019 UTC (Done)
    • Reporting Issues | 12:00-13:00 on March 21, 2019 UTC

    Nonki Takahashi

    Sunday, March 17, 2019 4:43 PM

All replies

  • Welcome to SBO Community Virtual Hackathon.

    Hi, today I'd like start this hackathon.  This thread is for training to participate hacking session.

    Today, let's learn what is Small Basic Online.

    Small Basic Online (SBO) is still beta version but a new Small Basic IDE (Integrated Development Environment) that runs in a web browser.  Latest SBO 1.0 is also called SuperBasic v2 as code name and announced last month.

    Nonki Takahashi

    Monday, March 18, 2019 12:00 AM
  • How to run SBO 1.0 (beta)

    Visit the preview version of the SBO.  You can see the new editor.

    Screen shot of SBO 1.0 beta (SuperBasic v2)

    In this editor, you can find following attributes.

    • Import and Publish are not supported yet.
    • Debug is a new feature of SBO.
    • There is a new help UI on the left side.

    After push [Run] button, you can see the result as below.

    Screen shot of a result of the default program of SBO

    Push [Back] button to back the editor.  This button will appear after scrolling upward.

    Nonki Takahashi

    Monday, March 18, 2019 12:24 AM
  • How to know the latest status of SBO 1.0

    SBO 1.0 is under developing.  It already updated some times after the first announce.  The public preview version on http://superbasic-v2.azurewebsites.net/ may not be the latest one.  The latest one can be build from the source code uploaded on https://github.com/sb/smallbasic-editor.

    Please refer my TechNet Wiki article Microsoft Small Basic Online v1.0: How to Build to build SBO 1.0.

    On the GitHub repository, there is a Issue page.  Now there are 13 open issues and 22 closed issues.  You can know the current status of SBO 1.0 on this page.

    Screen shot of Issues page for sb / smallbasic-editor

    Nonki Takahashi

    Monday, March 18, 2019 12:46 AM
  • Break

    I'd like to have 1 hour break from 01:00 - 02:00 AM UTC.  From 02:00 AM, I'd like talk about more detail about SBO current status.


    Nonki Takahashi

    Monday, March 18, 2019 12:56 AM
  • Not Supported Features

    Some features are not supported on SBO 1.0.  Issue #4 means some members (properties or methods) are note supported and will have batches for that in the help.  I recognized that following features are not supported.

    • File.GetSettingsFilePath(), File.GetTemporaryFilePath(), File.ReadContent() and File.WriteLine() are not implemented.
    • GraphicsWindow.Title is not implemented.
    • GraphicsWindow.Width and GraphicsWindow.Height are read only.
    • ImageList.LoadImage() is not imlemented.
    • Program.Directory is not implemented.

    You can check the member is available or not to put mouse on the member like below.

    Screen shot of an error message for not availble member

    Nonki Takahashi

    • Edited by Nonki Takahashi Sunday, March 31, 2019 4:05 PM added File operations
    Monday, March 18, 2019 2:22 AM
  • Other Issues Not Reported Yet

    I know some issues not reported to repository Issues https://github.com/sb/smallbasic-editor/issues.

    Nonki Takahashi

    Monday, March 18, 2019 3:05 AM
  • Conclusion What is Small Basic Online

    See you in the next training session.  Check also hacking sessions.

    Nonki Takahashi

    • Edited by Nonki Takahashi Monday, March 18, 2019 4:15 AM added a null line
    Monday, March 18, 2019 4:14 AM
  • Writing Testing Code Session

    Today's second session is about writing testing code.

    There is no rule to write testing code.  But one of the most important purpose of testing is to find issues from the target (SBO 1.0).  So, too long code needs much time to find what is wrong when the result of the code is not expected.

    If you don't mind to struggle many issues in one testing program, most easy way is to use existing code for Small Basic Desktop.  As I wrote above, there are some properties / operations that are not supported in SBO 1.0.  So you may rewrite the existing code to run for SBO 1.0.

    On the other hand, it's important to cover all features will be tested.  Once I started write testing code for each objects.  Now I'm looking for the site.  Please wait for a while.

    Nonki Takahashi

    Monday, March 18, 2019 12:21 PM
  • TechNet Wiki Articles about Testing Code

    I'd like to introduce following articles in TechNet Wiki.

    Nonki Takahashi

    Monday, March 18, 2019 12:36 PM
  • Rewrite Code to Reproduce Issue

    If you find an issue, please continue to investigate the condition reproducing the issue.  So, you can write a small code to reproduce the problem.

    For example, issue #44 in SBO repository can be reproduce with one line code:

    GraphicsWindow.DrawEllipse(10, 10, 100, 100)
    But for #44, there is another condition - the issue will occur with only Edge browser.

    Nonki Takahashi

    Monday, March 18, 2019 12:50 PM
  • Conclusion - Writing Testing Code

    • Write testing code for SBO with any ways.
    • There are some samples in TechNet Wiki.
    • Write small code to reproduce an issue.

    See you in next session.  Thanks.

    Nonki Takahashi

    Monday, March 18, 2019 12:57 PM
  • Writing Testing Instruction Session

    Today I'd like to introduce not writing code but writing instructions (procedure) to test SBO 1.0.

    For example, it's difficult to write program to test SBO UI (User Interface).  But operation instructions will help to check UI.  That will be like:

    1. Push [New] icon.
    2. Push [OK] button.
    3. Type TextWindow.WriteLine("Hello!") in the editor.
    4. Push [Run] icon.
    5. Push [Back] icon.
    6. Push [Save] icon.
    7. Push [Save] button.
    8. Push [Open folder] button.

    Nonki Takahashi

    Tuesday, March 19, 2019 12:34 PM
  • Combination of Code and Instructions

    Sometimes it needs both code and instructions.  For example:

    While "True"
        TextWindow.Write("Your name? ")
        name = TextWindow.Read()
        TextWindow.WriteLine("Hello " + name + "!")
    1. Type the program above.
    2. Push [Run] icon.
    3. Type Nonki and hit [Enter] key.
    4. Push [Back] icon.
    5. Repeat instructions 2 to 4 three times.

    Nonki Takahashi

    Tuesday, March 19, 2019 1:01 PM
  • Rewrite Instructions to Reproduce Issues

    If you find an issue, rewrite the instructions shorter to reproduce the issue for report.

    Nonki Takahashi

    Tuesday, March 19, 2019 1:07 PM
  • Conclusion - Writing Testing Instruction

    • Write instructions (procedure) for testing.
    • It may also need testing code.
    • Rewrite instructions to reproduce an issue.

    See you next session.  Thanks.

    Nonki Takahashi

    Tuesday, March 19, 2019 1:10 PM
  • Finding Issues Session

    Hi, today I'd like talk about finding issues.  There are some known issues here https://github.com/sb/smallbasic-editor/issues.  Try to write testing code or instructions and do the test to find some issues.  If you find an issue, please check the following list.

    Nonki Takahashi

    Wednesday, March 20, 2019 12:18 PM
  • Rewrite Testing Code / Instructions to Reproduce Issue

    I already wrote about this in Writing Testing Code Session and Writing Testing Instruction Session.

    Shorter code / instructions are better.  But most important point is that it's sure to reproduce the issue.  Developers will try to reproduce the reported issue with the reproducing code or instructions.  If he/she couldn't reproduce the issue, the issue will be closed as "not repro".

    In some case, an issue sometimes occur.  Or there is no perfect code or instructions to reproduce the issue.  In these cases, it's difficult to reproduce the issues.  That means that debugging is also difficult.  So, try to find more good code / instructions to reproduce the issue[s].

    I wrote a sample combination (code and instructions) to reproduce an issue.  The last instruction is "5. Repeat 2 to 4 three times".  This was my discovery to ensure the reproduction. 

    Nonki Takahashi

    Wednesday, March 20, 2019 12:36 PM
  • Name the Issue

    Each issue has it's title.  For example, the former combination issue's title will be "Enter key doesn't work after some TextWindow.Read()".  Shorter title will be better.  But to explain exact issue is important.

    Following list is that I reported to the repository:

    • #9 Ellipse size is twice as Rectangle size
    • #10 Character © in source file becomes © after Open
    • #33 Ellipse position is more right and lower
    • #34 Text.GetSubText returns shorter sub-text
    • #35 Text.GetSubText sometimes stops the program
    • #36 Controls.SetTextBoxText can't set the text
    • #44 GraphicsWindow.DrawEllipse fills the ellipse (Edge Browser)
    • #45 Text basline fits its y coodinate
    • #46 DBCS in litral causes syntax error
    • #47 DBCS name causes syntax error
    • #57 GraphicsWindow.DrawImage doesn't show the image

    (Only the last one is open and others are already closed that means fixed.)

    Nonki Takahashi

    Wednesday, March 20, 2019 12:56 PM
  • Conclusion - Finding Issues

    • Try to write code / instructions for finding issues.
    • Check the found issue is in the existing issue list.
    • Check the former SB versions have the same issue.
    • Shrink the code / instructions to reproduce the issue.
    • Give appropriate title for the issue.

    That's all.  See you in the next session.  Thanks.

    Nonki Takahashi

    Wednesday, March 20, 2019 1:05 PM
  • Reporting Issues Session

    Today I will write about reporting issues.

    SBO Issues are filed on GitHub repository https://github.com/sb/smallbasic-editor/issues.  So you need GitHub account to sign in.  After sign in, on issues page, push [New issue] button.

    Screen shot of issues page in sb / smallbasic-editor repository

    Nonki Takahashi

    Thursday, March 21, 2019 12:11 PM
  • Input issue title.

    Screen shot of an issue title input

    Select an appropriate label in Labels.

    Screen shot that a label selected

    Enter description below Write tab.  Use back quote ` for a single code such as `"True"`.  And use three back quotes ``` for multiple line code.  After input push [Submit new issue] button.

    Screen shot of issue description

    Nonki Takahashi

    Thursday, March 21, 2019 12:38 PM
  • Issue Details

    Refer GitHub Guide Mastering Issues https://guides.github.com/features/issues/ for more details.

    There are special notation called GitHub Flavored Markdown https://help.github.com/en/categories/writing-on-github#name-and-team-mentions-autocomplete.  Markdown is used in Wiki and easily make rich text format.

    Nonki Takahashi

    Thursday, March 21, 2019 12:52 PM
  • Tracking Issues

    After filing issues, please track the issues.  You can add comments to the issues like additional information.  And other contributors or developers may add comments on your issues.

    The communication will continue until the issue will be closed.

    Nonki Takahashi

    Thursday, March 21, 2019 12:57 PM
  • Conclusion - Reporting Issues

    • File SBO issues to the repository with you GitHub account.
    • Write the title, select a label, write description about the issue and submit.
    • You can use Markdown in the description.
    • Track your issues until those will be closed.

    That's the end of all sessions.  Thank you for your reading.  Please feel free to ask any questions in this thread.

    Nonki Takahashi

    Thursday, March 21, 2019 1:06 PM